我的家庭互联网访问路径上的某些东西正在积极地缓存网络内容,也许您可以帮我告诉我它在哪里。
以下是我的示例:
我制作了一个非常简单的网页,由一个 index.html 和两张照片组成。我使用 FTP 将它们放在我常用的网络主机(便宜的 bluehost,类似于 goDaddy 等其他便宜主机)上的一个目录中。
然而,我犯了一个错误,当我第一次上传文件时,我错误地将 index html 文件命名为 indexjobs.html
自然,当我转到 Firefox 浏览器并导航到我创建的目录的 URL 时,它没有加载页面(因为该文件不叫 index),而是只显示该目录的全部内容...即两个图像文件、indexjob.html......你知道的,就是常规的“显示服务器目录的浏览器页面”页面。
因此,我跳到我的 FTP 客户端并将 indexjobs.html 重命名为 index.html。
我打开 Firefox 并点击重新加载——它仍然显示目录页面,而不是启动索引文件……并且仍然显示过时的 indexjobs.html 文件名。
我发出 Firefox 命令来清除缓存。然后在该 URL 上点击重新加载。它仍然显示目录页面和过时的 indexjobs.html 文件名。
然后,我使用同一台 Mac 上的另一个浏览器(即 Chrome)加载该 URL,尽管该浏览器从未加载过该页面,但它显示的目录页面的文件名已过时,为 indexjobs.html!虽然该文件早已重命名!它一定是转到了 Firefox 缓存以外的某个缓存中……
我记得我随后去了一台相邻的笔记本电脑(Windows 笔记本电脑),并在 Windows 版 IE 10 上加载该 URL,但它没有显示目录页面,而是加载了页面——换句话说,它识别到该文件已被重命名为 index.html
在 IE 上查看页面时,我发现了自己在该页面上犯的一个小错误,因此我使用 FTP 更改了 index.html 文件以修复该错误。然后我返回 IE 并点击重新加载。它没有显示修复后的版本。然后我清除了 IE 的缓存并点击重新加载。它仍然没有显示修复后的版本。然后我决定更改保存此简单页面的目录的名称……这当然会更改其 URL。当我在 IE 中加载该新 URL 时,它当然会正确反映出更改。
这种积极的缓存在哪里发生?在上面的第 7 步中,似乎表明 Mac 的操作系统中有一些缓存,这些缓存正在向两个浏览器提供内容(尽管我对此表示怀疑)。或者,另一种可能性是我的 ISP 进行了缓存,但当我转到我的另一台笔记本电脑时,它以某种方式导致该 ISP 缓存识别出不同的内部 IP 地址(??但这些都是由单个路由器提供服务的……)……或者不同的……好吧,简而言之,我不知道。
什么是以这种方式缓存我的网页?
答案1
我知道这个问题已经存在十年了,但我已经为此苦苦挣扎了很长时间。今天,我终于找到了解决方案!
我使用的是 Mac,但我确信其他操作系统的解决方案也类似。我点击了角落里的 Wi-Fi 图标,并选择了“Wi-Fi 设置”。从那里,我可以看到一个对话框,其中有一个标签为“DNS”。现在我可以看到一些 IP 地址。
解决方案是删除那些迫使我的机器创建没有缓存站点的新 IP 地址的 IP 地址!
答案2
这看上去是 ISP 缓存或代理缓存的情况。
在 Firefox 中复制该场景(不清除缓存),然后您可以检查 http 响应标头以查看请求从哪个缓存中提供。使用++ctrl在Firefox 中打开 Web 控制台并检查响应标头中的缓存信息。shiftK