跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 如何使客户端浏览器忽略 cache-control 而读取缓存?
未分類
17 7 月 2020

如何使客户端浏览器忽略 cache-control 而读取缓存?

如何使客户端浏览器忽略 cache-control 而读取缓存?

資深大佬 : zlldeta 8

最好的方案还是修改 Cache-Control
实在不行你可以自己客户端做缓存
大佬有話說 (13)

  • 資深大佬 : yuzo555

    服务端管不了啊,而且他的 css 、js 什么的每次都要重新下载,人一多就十分缓慢,就想让他读取缓存就行了;或者是有什么办法,让这些引用转移到公用 cdn 。感激不尽!
    @yuzo555

  • 主 資深大佬 : zlldeta

    github + jsdelivr

  • 資深大佬 : yuzo555

    @yuzo555 能详细说说吗? github 在这里是做什么的?

  • 主 資深大佬 : zlldeta

    service worker+cache API

  • 資深大佬 : ChanKc

    浏览器刷新有三种方式
    1.全部请求
    2.根据缓存的时间请求部分
    3.只请求变化的部分
    浏览一般只提供前两种,Ctrl-F5 和 F5

    第三种发出的请求数量最少,刷新最快(F12 可以观察到),客户端实现的方式
    1.在地址栏原来的 url 直接回车
    2.js 发送 location 为当前地址
    其他我就不知道了,超出我的知识范围
    服务端如何做也不知道

  • 資深大佬 : imn1

    manifest 里可以指定部分缓存

  • 資深大佬 : yukiww233

    看了半天 2 ,我尝试着理解一下主想要做什么:

    主想要访问的某个网站,下载速度本来就不怎么样,服务器配置的缓存有效期还比较短。
    这导致主在访问这个网站的时候,往往会比较缓慢,人多的时候就更痛苦了。
    所以主希望能够自己强制浏览器直接读缓存,不要每次都从缓慢的服务器上下载了。

    接下来划重点:
    这个网站不是主的,所以主不能直接修改网站的后端代码,不能主动给网站配置 CDN 服务。
    所以上期望从网站后端角度修改的朋友们可能要失望了。

  • 資深大佬 : also24

    然后是我认为比较简单的方法:
    在内网 / 外网套一层 nginx 反代就好了,反代的过程中修改下缓存控制的 header 即可。
    反正浏览器在主手里,直接改 hosts,把要访问的那个域名指向反代就好。

  • 資深大佬 : also24

    @also24 对的对的,我再研究一下

  • 主 資深大佬 : zlldeta

    对 自己给他套一层反代。

  • 資深大佬 : ThirdFlame

    除了反代,还有个办法,但是只能针对 http
    部署一个 lancache 或者 squid,可以缓存 http 的资源

  • 資深大佬 : Juszoe

    纯前端的做法:

    1. 把网站的前端资源(CSS & js)下载到本地
    2. 写个油猴脚本载入这些资源
    3. 用广告过滤工具屏蔽官方的资源地址

    稍微麻烦的是第 2 条
    1. 载入 JS 可以用 require 方法
    2. 载入 CSS 可以用 link 标签

    link 形式的 CSS 有时会遇到 CSP 策略问题
    1. 可以用 resource 和 GM_getResourceText 读取文本
    2. 得到文本后用 GM_addStyle 载入

  • 資深大佬 : autoxbc

    @also24
    @ThirdFlame
    @autoxbc
    @Juszoe
    谢谢各位大佬!最后用反代做了,这个方案给别人用也方便。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具