相关疑难解决方法(0)

缓存控制的默认值是什么?

我的问题是:有时浏览器过度缓存了一些资源,即使我已经修改过它们.但是在F5之后,一切都很好.

我整个下午都研究过这个案子.现在我完全理解"Last-Modified"或"Cache-Control"的观点.我知道如何解决我的问题(只是.js?版本或显式max-age = xxxx).但问题仍然没有解决:浏览器如何在没有 "Cache-Control"的情况下处理响应头,如下所示:

Content-Length: 49675
Content-Type: text/html
Last-Modified: Thu, 27 Dec 2012 03:03:50 GMT
Accept-Ranges: bytes
Etag: "0af7fcbdee3cd1:972"
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Thu, 24 Jan 2013 07:46:16 GMT 
Run Code Online (Sandbox Code Playgroud)

当他们"进入酒吧"时,他们会清楚地缓存它们

在此输入图像描述

browser caching browser-cache

48
推荐指数
4
解决办法
3万
查看次数

浏览器使用什么启发式来缓存未明确设置为可缓存的资源?

13.2.2启发式过期

由于源服务器并不总是提供明确的到期时间,因此HTTP缓存通常会分配启发式到期时间,采用使用其他标头值(例如Last-Modified时间)的算法来估计合理的到期时间.HTTP/1.1规范没有提供特定的算法,但确实对其结果施加了最坏情况的约束.由于启发式到期时间可能会影响语义透明度,因此应谨慎使用,我们鼓励源服务器尽可能提供明确的到期时间. HTTP/1.1 RFC 2616

浏览器使用什么算法来估算合理的到期时间?

理想的答案将涵盖所有主要浏览器,并提供源代码或官方博客文章的证据.

safari firefox internet-explorer google-chrome browser-cache

24
推荐指数
5
解决办法
4438
查看次数

删除 python HTTP 服务器中的缓存

我在网上找到了这个服务器并对其进行了一些编辑。这是代码:

from http.server import BaseHTTPRequestHandler, HTTPServer
from xml.dom import minidom
import os


class MyHandler(BaseHTTPRequestHandler):
    def do_POST(self):
        self.data_string = self.rfile.read(int(self.headers['Content-Length']))
        self.send_response(200)
        self.end_headers()
        valore = str(self.data_string)[2:-1]
        response = ["",""]
        response[0],response[1] = processData(valore)
        if response[0] == 1:
            sep = ""
            message = ""
            for res in response[1]:
                message += res
            response = sep.join(message)
            self.wfile.write(bytes(message, "utf-8"))

    def do_GET(self):
        # Send response status code
        self.send_response(200)
        # Send headers
        if self.path.endswith("html"):
            self.send_header('Content-type', 'text/html')
            self.end_headers()
        elif self.path.endswith("css"):
            self.send_header('Content-type', 'text/css')
            self.end_headers()
        elif self.path.endswith("js"):
            self.send_header('Content-type', 'application/javascript')
            self.end_headers()
        elif self.path.endswith(".ico"): …
Run Code Online (Sandbox Code Playgroud)

python caching basehttpserver server

2
推荐指数
1
解决办法
1万
查看次数