Web服务器将发送该文档的最新版本给浏览器客户端与缓存有关的header我们来看看每个header的具体含义
http请求和http响应中有很多的header,http请求要领和http header共同事情,配合决定客户端和处事器端能够做什么工作。
header叫做首部或者头域也可以直接叫做header。
http请求中有header,http响应中也有header,使用fiddler的raw选项卡可以看到完整的header。
fiddler中的headers选项卡把header进行了分类,便利检察;
header的语法格局是:key:value;一行一个header。
====================================================================================================================================
Accept:暗示浏览器客户端可以接收的媒体类型;
Accept:text/html 代表浏览器可以接收处事器返回html;
通配符*代表任意类型;例如:Accept:text/html,*/*;q=0.8代表浏览器可以措置惩罚惩罚所有的类型。一般浏览器发送的就是这个;
Accept-Encoding:跟压缩有关,浏览器发送http请求给web处事器,http请求中的header有Accept-Encoding:gzip,deflate(报告处事器,浏览器撑持gzip压缩)
Accept-language:浏览器声明本身接受的语言;例如:Accept-Language: zh-CN,zh;q=0.9
Accept-Charset:浏览器申明本身接收的字符集,这就是本文前面介绍的各类字符集和字符编码,如gb2312,utf-8(凡是我们说Charset包孕了相应的字符编码方案);
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
GET https://cambrian-images.cdn.bcebos.com/[email protected]_100,h_100 HTTP/1.1
Host: cambrian-images.cdn.bcebos.com
Connection: keep-alive
If-Modified-Since: Sun, 25 Aug 2019 17:19:19 GMT
User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36
Accept: image/webp,image/apng,image/*,*/*;q=0.8
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: no-cors
Referer: https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=sitehao123&wd=%E4%B8%AD%E5%9B
%BD&rsv_pq=ee5e88db00155eb1&rsv_t=9b46NVmtUvhHk8NuPqytTgFcpScJZfmNOSxhFBaAu5rlcjCsQ9PfON8N98xNepLuQQ&rqlang=cn&rsv_enter=0&rsv_dl=tb&rsv_sug3=10&rsv_sug1=1&rsv_sug7=00
1&prefixsug=%25E4%25B8%25AD%25E5%259B%25BD&rsp=8&rsv_sug9=es_0_1&inputT=10643&rsv_sug4=12203&rsv_sug=9
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
GET https://image.baidu.com/httpsjsonp/pc?callback=imageCheckHttps&_=1575711683734 HTTP/1.1
Host: image.baidu.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36
Accept: */*
Sec-Fetch-Site: same-site
Sec-Fetch-Mode: no-cors
Referer: https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=sitehao123&wd=%E4%B8%AD%E5%9B
%BD&rsv_pq=ee5e88db00155eb1&rsv_t=9b46NVmtUvhHk8NuPqytTgFcpScJZfmNOSxhFBaAu5rlcjCsQ9PfON8N98xNepLuQQ&rqlang=cn&rsv_enter=0&rsv_dl=tb&rsv_sug3=10&rsv_sug1=1&rsv_sug7=00
1&prefixsug=%25E4%25B8%25AD%25E5%259B%25BD&rsp=8&rsv_sug9=es_0_1&inputT=10643&rsv_sug4=12203&rsv_sug=9
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: BIDUPSID=1655D38E3EB9FAF984C3D838C40375AC; PSTM=1564563068; BAIDUID=8B7CDF0DBB1D8B4D8DC4288AE32C655B:FG=1; MCITY=-%3A; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598;
BDSFRCVID=7AKsJeCCxG3e2tjwgnO1j79umibdsgZhD6873J; H_BDCLCKID_SF=tbAD_CKKf-3bfTuGDJOqKn0thxtX2bjMfbTf_p7F5l8-hCQXDPjf-n-shxTw-
lQCMJ7PBfQaKqcxOKQphPbm5nIXQ48qbpbjb2oiLInN3KJm_UK9bT3v5Duy-tQ42-biW2tH2Mbdax7P_IoG2Mn8M4bb3qOpBtQmJeTxoUJ25DnJhhCGe6D2e5Q3jNLsbtQb26r-3--8-bTVHRDk5-Qo-
4_eqxby26Pf0m3eaJ5n0-nnhnK45-6bbPCgDfCfqRQL2CrbQb3u2p--bK0Ry66jK4JKDG0tJ6OP; H_PS_PSSID=1469_21080_30211_30071_26350; delPer=0; PSINO=5
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
User-Agent:浏览器用来报告处事器,客户端使用的操纵系统及版本、cpu类型、浏览器及版本、浏览器衬着引擎、浏览器语言、浏览器插件等
注意:如果想模拟各类差此外客户端,只需要改削User-Agent就可以
Referer:供给了Request的上下文信息的处事器,报告处事器我是从哪个链接过来的,好比从我主页上链接到一个伴侣那里,
他的处事器就能够从HTTP Referer中统计出每天有几多用户点击我主页上的链接访谒他的网站。
例如: Referer:http://translate.google.cn/?hl=zh-cn&tab=wT
Connection:
Connection: keep-alive:当一个网页打开完成后,客户端和处事器之间用于传输HTTP数据的TCP连接不会封锁,
如果客户端再次访谒这个处事器上的网页,会继续使用这一条已经成立的连接
Connection: close:代表一个Request完成后,客户端和处事器之间用于传输HTTP数据的TCP连接会封锁,
当客户端再次发送Request,需要从头成立TCP连接。
Host(发送请求时,该报头域是必须的): 请求报头域主要用于指定被请求资源的Internet主机和端标语,它凡是从HTTP URL中提取出来的
例如: 我们在浏览器中输入:http://www.guet.edu.cn/index.html
浏览器发送的请求动静中,就会包罗Host请求报头域,如下:Host:http://
此处使用缺省端标语80,若指定了端标语,则酿成:Host:指定端标语。
Content-Length:发送给HTTP处事器数据的长度。
Content-Type:便是Internet Media Type,互联网媒体类型;也叫做MIME类型,在Http协议动静头中,使用Content-Type来暗示具体请求中的媒体类型信息。
例如:Content-Type: application/x-www-form-urlencoded
常见的媒体格局类型如下:
text/html : HTML格局
text/plain :纯文本格局
text/xml : XML格局
image/gif :gif图片格局
image/jpeg :jpg图片格局
image/png:png图片格局
以application开头的媒体格局类型:
application/xhtml+xml :XHTML格局
application/xml
: XML数据格局
application/atom+xml :Atom XML聚合格局
application/json : JSON数据格局
application/pdf
:pdf格局
application/msword : Word文档格局
application/octet-stream : 二进制流数据(如常见的文件下载)
application/x-www-form-urlencoded : <form encType=””>中默认的encType,form表单数据被编码为key/value格局发送随处事器(表单默认的提交数据的格局)
此外一种常见的媒体格局是上传文件之时使用的:
multipart/form-data : 需要在表单中进行文件上传时,就需要使用该格局
---------------------------------------------------------------------------------------------
cache:缓存
http中具有缓存成果的是浏览器缓存,以及缓存代办代理处事器。
http缓存的是指:当Web请求抵达缓存时, 如果本地有“已缓存的”副本,就可以从本地存储设备而不是从原始处事器中提取这个文档。
web处事器通过一下两种方法来判断浏览器缓存是否最新:
(1):浏览器把缓存文件的最后改削时间通过header“if-modified-since”报告处事器
(2):浏览器把缓存文件的ETag通过header“if-none-match”报告处事器
通过最后改削时间来判断缓存的新鲜度:
1. 浏览器客户端想请求一个文档,首先查抄本地缓存,发明存在这个文档的缓存,获取缓存中文档的最后改削时间,通过: If-Modified-Since, 发送Request给Web处事器。
2. Web处事器收到Request,将处事器的文档改削时间(Last-Modified): 跟request header 中的,If-Modified-Since对对照,
如果时间是一样的,说明缓存还是最新的,Web处事器将发送304 Not Modified给浏览器客户端,报告客户端直接使用缓存里的版本。
3. 假如该文档已经被更新了。Web处事器将发送该文档的最新版本给浏览器客户端
与缓存有关的header我们来看看每个header的具体含义。
Request
Cache-Control: max-age=0 以秒为单位
If-Modified-Since: Mon, 19 Nov 2012 08:38:01 GMT 缓存文件的最后改削时间。
If-None-Match: "0693f67a67cc1:0" 缓存文件的Etag值
Cache-Control: no-cache
不使用缓存
Pragma: no-cache
不使用缓存
--------------------------------------------------
Response
Cache-Control: public 响应被缓存,并且在多用户间共享, (公有缓存和私有缓存的区别,请看另一节)
Cache-Control: private 响应只能作为私有缓存,不能在用户之间共享
Cache-Control:no-cache 提醒浏览器要从处事器提取文档进行验证
Cache-Control:no-store 绝对禁止缓存(用于机密,敏感文件)
Cache-Control: max-age=60 60秒之后缓存过期(相对时间)
Date: Mon, 19 Nov 2012 08:39:00 GMT 当前response发送的时间
Expires: Mon, 19 Nov 2012 08:40:01 GMT 缓存过期的时间(绝对时间)
Last-Modified: Mon, 19 Nov 2012 08:38:01 GMT 处事器端文件的最后改削时间
ETag: "20b1add7ec1cd1:0" 处事器端文件的Etag值
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/32721.html
- 上一篇:纯css写一个大太阳的天气图标
- 下一篇:两个队列 http报文