什么是HTTP头?
HTTP协议采用了请求/响应模型。
客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。
以上是抄来的,其实我不想讲,呵呵,但是普及下吧。
下面是我们这一篇中主讲的
HTTP响应头的管理
哪些是常用的HTTP响应头?
总结来看,常用的HTTP头如下:
哪些头需要好好管理?
Cache-Control
这是个无比妙用的头,它可以让你的首页,从2MB,变成200KB。
没错,就是它。
我们先看看别人用了它之后,做到了啥。
减少了这么多,网站和用户双赢,靠的就是这个头。下面我将讲下具体如何用。
Last-Modify
这个头好用,那就用是了,为什么还要单独拿出来说?
是因为这个头,有个小的隐藏风险,见过很多人中标,我指出来,希望更多的人可以看到,之后避免。
很多网站,在更新网站或者发布网站临时维护信息时,会采用将老的文件,剪切到其他目录,然后本地再上传一个同名文件进行文件更新或者网站的页面更新。当更新的页面出问题或者维护结束他们使用正常页面给用户服务,会立刻把老的文件剪切回来,覆盖旧文件。
这就有一个非常大的问题。
因为对于已经访问过网站的人来说,他们已经把文件缓存到了本地。当用户再次访问网站时,会发送一个If-Modify-Since请求。
- 老文件
Last-Modified: 旧时间
- 新文件
Last-Modified: 新时间
当你用旧文件替换新文件后,由于新文件的最后修改时间要早于旧文件的,所以,IE不会让用户拿到没有问题的旧文件,而是让他们使用新文件。
所以,如果你使用用旧文件替代新文件,一定要对旧文件做个小的处理,使其更新最后修改时间,不然,用户依然会访问出问题的页面或者是维护页面。
如何用好Cache-Control?
当你不想让用户缓存时,你只需要添加一个头,no-store即可,其他no-cache、must、must-revalidate、proxy-revalidate等都没必要用,因为no-store一般默认为最高级。
其他可以让用户缓存的页面,区分目录,根据不同的目录,配置不同的max-age头。
max-age啥用处?
用户得到HTTP响应头后,会根据本地时间,加上max-age的时间,形成一个过期时间。例如,用户本次时间为11:00,max-age设置为600,那么文件拿到后,过期时间为11:10分。也就是这个用户,在11:10分以前,访问这个文件,就会直接缓存命中,而不会对服务器发出请求。
所以,max-age的运用就可以让你的网站像那四大门户一样,大小减少到原来的10分之一,请求数也会短期内得到巨大的减少。
如何设置Cache-Control?
如何设置百度娘之。
管理上的建议:
你不可能针对每个文件配置Cache-Control,所以,最好是先拆分域名,将不同应用(文件类一个域名,图片类一个域名等等)配置不同的缓存控制头。
如果你的网站属于大中型网站,如网页访问带宽在100M以上的,可能针对域名配置不同缓存控制头,已经不能满足你的需求了,这个时候,就可以管理好你的目录。
将文件根据你们网站特点分到不同目录,然后针对目录,配置不同的缓存控制头。
max-age设置多大?
以下提出的均为建议值,但是最适合你的,是你自己根据网站特点进行的缓存时间配置。
- 首页,建议为900,也就是15分钟。
- 文本类文件,建议为10800,也就是3小时。
- 图片类文件,建议为86400,也就是24小时。
-
Swf类文件,建议为604800,也就是7天。
flv、exe类文件,建议为31536000,也就是1年。
- 大小: 269.8 KB
- 大小: 384.1 KB
- 大小: 89.8 KB
分享到:
相关推荐
- 利用CDN(内容分发网络)加速静态资源的加载。 7. Accessibility(无障碍访问): - 确保所有功能可以通过键盘操作,方便残障人士使用。 - 添加`aria-*`属性,为屏幕阅读器提供额外信息。 综上所述,"京东网...
`proxy_set_header`设置HTTP头部信息,确保真实IP传递给后端服务器,以便进行日志分析和安全控制。 ```nginx server { listen 80; server_name huodong.tongxinghui.com activity.tongxinghui.com; location ...
5. **优化性能**:如果自定义控件涉及大量绘制,应考虑使用ViewStub、延迟加载或者使用硬件加速等技术来提高性能。 关于标签中的“java”,在Android开发中,Java是主要的编程语言。开发者使用Java编写应用逻辑,...
**MIP移动页面加速器**,全称Mobile Instant Pages,是一种专为提升移动网页加载速度而设计的技术标准。它的核心目标是改善用户在移动设备上访问网页的体验,尤其是在网络环境不佳的情况下,通过一系列优化手段确保...
为了解决这些问题,我们需要设计一个通用的移动网页加速框架,包括代码优化、减少HTTP请求、减少DOM节点、无阻塞、首屏加载、缓存等多个方面。同时,我们还需要考虑服务器的合理部署,根据地域、网络特征等因素选择...
HTTP2引入了多路复用、二进制分帧和头部压缩等特性,显著降低了延迟,提高了页面加载速度。此外,EFI(Efficient Interleaving for HTTP/2)也是为了进一步优化HTTP2而提出的一种方法,旨在更智能地管理网络数据流,...
- **速度优化**:优化图片大小,使用CDN加速,减少HTTP请求等方法可以提升网站加载速度,对SEO排名有积极影响。 - **内容质量**:持续更新高质量、原创且相关的内容是SEO的基础,能吸引用户并提升搜索引擎排名。 ...
为解决这些问题,HTTP1.1引入了pipelining技术,但其存在一些问题,如头部阻塞和顺序依赖,限制了并行性。 随着技术发展,HTTP2在2015年5月被提出,到2017年5月,其市场份额达到13.7%。HTTP2引入了二进制分帧、多路...
HTTP/1.1协议支持客户端在HTTP请求头部通过`Accept-Encoding`字段声明其支持的压缩类型。常见的压缩方式有: - **Gzip**:是最常用的压缩方式之一,能够有效减小传输的数据量。 - **Deflate**:另一种常见的压缩...
CDN(Content Delivery...X-Cache和X-Swift等头部信息提供了CDN系统运行状态的洞察,对于运维和优化CDN服务至关重要。理解这些概念和技术可以帮助我们更好地设计和管理CDN解决方案,从而提供更高效、更稳定的网络体验。
除了视频编码压缩外,还可以通过HTTP头部压缩、GZIP等技术进一步减小数据传输量。同时,智能预测和预加载技术可以分析用户行为,预测其可能观看的视频,提前加载,减少等待时间。 最后,分布式系统设计在大规模网络...
一个客户端(如Web浏览器)首先与服务器建立TCP连接,然后发送一个HTTP请求,请求中包含了请求方法(如GET、POST)、URL(统一资源定位符)、协议版本号以及可能的头部信息和实体内容。服务器收到请求后,根据请求...
3. 头部压缩:HTTP/2引入了头部压缩技术,能够有效减少数据传输的大小,尤其是对于重复的头部信息,该机制尤为有效。 4. 服务器推送:服务器推送(Server Push)允许服务器预先向客户端发送可能需要的资源,减少了...
Nginx的`http_realip_module`模块可以帮助你直接在Nginx层面处理`HTTP_X_FORWARDED_FOR`头部。首先,你需要在编译Nginx时添加这个模块。然后,在Nginx配置文件中使用`real_ip_header`和`set_real_ip_from`指令来...
它作为客户端和目标Web服务器之间的中介,处理HTTP请求和响应,为用户提供隐私保护、内容过滤、网络加速等功能。本资源是基于VC++实现的一个简单HTTP代理服务器,通过解析和转发HTTP请求,展现了网络编程的基础概念...
CDN还提供了安全防护功能,如DDoS防御,以及HTTP/2协议的使用,通过多路复用和头部压缩提升性能。 6. **CDN提供商选择** 选择合适的CDN提供商至关重要,需要考虑覆盖范围、服务质量、价格等因素。例如,阿里云、...
4. **HTTP/2与HTTP/3**:多路复用、头部压缩、QUIC协议等特性显著提升性能和安全性。 综上所述,"HTTP访问.e.rar"可能包含了关于HTTP协议的基本概念、工作流程、请求响应机制、方法使用、状态码解析、优化策略等...
- **更快的连接建立**:QUIC协议使用TLS握手减少了握手延迟,加速了连接建立过程。 - **连接迁移**: - 使用唯一的连接ID来标识连接两端,即使IP地址发生变化也能维持连接状态。 #### 总结 随着HTTP协议的发展,每...