HTTP 有两类报文:
请求报文——从客户向服务器的请求。
响应报文——从服务器到客户的响应。
HTTP请求报文:
其他请求首部:
1、If-Modified-Since首部:例子:If-Modified-Since: Mon, 24 Dec 2018 09:07:57 GMT
指浏览器端缓存页面的最后修改时间,与服务器上实际文件的最后修改时间进行对比。
相同:返回304,客户端使用本地缓存文件
不同:返回200,客户端使用新文件
2、If-None-Match首部:例子:If-None-Match: "03f2b33c0bfcc1:0“
服务器在HTTP Response中添加ETag信息;当客户再次请求该资源时,将在HTTP Request
中加入If-None-Match信息(ETag的值);服务器验证资源的Etag是否改变:
如果没变:返回304,客户端使用本地缓存文件
如果改变:返回200和新的资源和Etag
3、Referer首部:例子:http://www.fafu.edu.cn/
指客户从该URL代表的页面出发访问当前请求的页面。
4、Cache-Control
no-cache:所有内容都不会被缓存
Public:可以被任何缓存所缓存
Max-age:指缓存的最长时间
5、 Pragma:no-cache
表示服务器必须返回一个刷新后的文档
响应报文:
状态码及对应的短语:
其他响应首部:
1、Expires:例子 Tue, 08 Feb 2022 11:35:14 GMT指明应该在什么时候认为文档已经过期。
2、Location:重定向,包含新的URL地址。常用在更换域名时
3、X-Powered-By: ASP.NET表示网站是用什么技术开发的
4、X-Frame-Options:用来防御利用iframe嵌套的点击劫持攻击(clickjacking)
Deny:表示该页面不允许在 frame 中展示
Sameorigin:表示该页面可以在相同域名页面的frame 中展示
Allow-from uri:表示该页面可以在指定来源的frame 中展示