> 백엔드 개발 > PHP 튜토리얼 > 为什么有的时候服务器上的资源更新了,浏览器却不更新?

为什么有的时候服务器上的资源更新了,浏览器却不更新?

WBOY
풀어 주다: 2016-06-23 14:08:37
원래의
2203명이 탐색했습니다.

我记得之前有一段时间百度贴吧上的用户的头像修改了之后是不会立即更新的,我记得我当时用的好像是IE。
我想不更新可能有以下两个原因:
浏览器不检测资源是否更新,直接调用缓存。
特定的服务器为了节省资源不响应检测资源是否更新的请求。
我想知道的是这两种情况可不可能存在。以及还有没有其他的因素会导致服务器上的资源更新之后客户端浏览器不会更新资源。


回复讨论(解决方案)

浏览器不检测资源是否更新,直接调用缓存。
这是浏览器的缓存功能,可设置。
但一般不建议开发者设置,这样才能最大程度的保证用户体验
适当的时候应发送禁用缓存的头,来使浏览器立即展现即时信息

特定的服务器为了节省资源不响应检测资源是否更新的请求。
没有这样的服务器,但有这样的服务器端程序。
你不是也喜欢使用一些带有缓存功能的模板引擎或框架吗?

还有一种情况是某些文件放在缓存服务器上,只会定时更新

想实时更新的可以发送禁用浏览器缓存的头信息(用于页面本身)
或发送一个随机码写成http://host/sample.css?xxxxxxxxxxxxxx的形式(用于页面内的其他非页面控件)

想缓存减少服务器负担可以发送浏览器缓存头
或者304头信息(无body数据,用于二次请求),这个多在服务器级响应完成,较少在程序内使用

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿