即使在注释掉显式的Content-Type声明之后,客户端也会识别Content-Type

时间:2016-01-03 18:03:15

标签: servlets content-type http-caching response-headers

这是我刚写的我的hello-world应用程序。

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


    response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");   //Line1
//  response.setHeader("Content-Type", "text/html");  # Line-AAA
    PrintWriter out = response.getWriter();

    //out.print("Good days are here :)");
    out.println("<!DOCTYPE html>");
    out.println("<html>");
    out.println("<head>");
  //  out.println("<meta http-equiv=Content-Type content=text/html;charset=ISO-8859-1/>");
    out.println("<title>servlet demo");
    out.println("</title>");
    out.println("</head>");
    out.println("<body>Helloworld");
    out.println("</body>");
    out.println("</html>");
    response.setHeader("Expires", "Sat, 6 May 1995 12:00:00 GMT");    //Line2
}

这里最初我没有写过Line-AAA,因此网页显示不正常,后来我添加了一行,一切都运行得很好。

但后来我尝试评论#Line-AAA并发现它甚至在服务器重启后也没有效果。在stackoverflow上搜索我发现两个解决方案在Line1和Line2中禁用缓存,但两者似乎都不起作用。即使在评论了Line-AAA之后,页面也能正常显示。

目前显然对我没有任何问题,但我很想知道如何正确停止这种缓存。

先谢谢

0 个答案:

没有答案