スマートフォン、タブレット、および Web ブラウザー用の HTTP キャッシュ制御ヘッダーの動作。ウェブサイトのモバイル版で作業していたときに、問題が発生しました。私の目標は、Web ページを決してキャッシュしないようにブラウザーに指示することです。Chrome、Firefox、Internet Explorer、Safari、iPhone のブラウザー、Android フォンのブラウザーなど、すべてのブラウザーでこれを実行してほしいと思います。
次の HTTP キャッシュ制御コード jsp を使用しました。以下の jsp ファイルを <%@include file="myjsp.jsp"%> を使用して他の jsp にインクルードします。Web ブラウザでは正常に動作しますが、モバイル ブラウザでは動作しません。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"
contentType="text/html;charset=UTF-8" isELIgnored = "false" %>
<%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c'%>
<%@taglib prefix="c2" uri="http://java.sun.com/jstl/core_rt"%>
<%@taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt"%>
<%@ taglib prefix="sec"
uri="http://www.springframework.org/security/tags"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%
response.setHeader("Cache-Control",
"no-cache, no-store, must-revalidate"); // HTTP 1.1.
response.setHeader("Cache-Control",
"post-check=0, pre-check=0', false");
response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
response.setDateHeader("Expires", 0); // Proxies.
%>
これらのヘッダーの何が問題になっていますか?
HTTP キャッシュ制御ヘッダーが一部のブラウザーで機能し、他のブラウザーでは機能しないという同じ問題がありますか?
また、モバイル ブラウザーとデスクトップ ブラウザーの間に特定の違いはありますか。