HTTP 常用 Header 讲解

摘要:
6.ETag+If Match也是一种缓存策略。作为上述ETag的补充,它是一个响应头,在http1.1中被指定为字符串。具体格式未定义。它用于验证客户端缓存是否匹配。它是请求头信息,它获取请求的最后一个请求响应的Etag。服务器的处理方法相对灵活。作为对“缓存控制”、“过期”和“上次修改”的补充,它不能是时间引用的缓存策略。8.范围:10-100获取部分信息。9通常用于下载断点。返回状态代码200,501成功。服务器内容错误为304。使用了本地firebug 404,但找不到资源。10.http协议监控工具:Firebox:httpfox、livehttpheader、firebugIE IE:httpwatch、iehttpheader

1,HTTP请求
协议名://主机名:端口号/资源URI

/*******************************
GET /index.html HTTP/1.1
Host: localhost:8088
connection: Keep-Alive

******************************/

2,request header
Host                     请求头,标名请求主机器名,可为IP也可为域名,http1.1后强制使用,用此请求信息,可在服务端做WEB虚拟机,实现一机多WEB服务
Content-Length,  请求、响应体的数据字节大小
Accept-Encoding, 请求头,可接受的文本压缩算法,如: gzip, deflate
Accept-Language,请求头,支持语言,客户端浏览器的设置,如:zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
User- Agent,       请求头,浏览器信息,如:Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:12.0) Gecko/20100101 Firefox/12.0,细心会注册到IE也会用Mozilla,这是一个历史问题,早期WEB服务器貌似有问题,只支持Mozilla,微软IE做为 后起之秀只能伪装成Mozilla
Cookie,              请求头,服务器或客户端在上次设置的COOKIE,包括作用域名(.360buy.com),过 期时间,键与值。大部分WEB服务器都会在第一次访问时在响应头上加Set-Cookie, (指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密))如:BAIDUID=49415814CDBBB4CE65EC50EE4BB65E9A:FG=1; expires=Wed, 07-Nov-42 07:03:34 GMT; path=/; domain=.baidu.com
Referer,             从一个连接打开一个新页面,新页面的请求一般会加此信息,标名是从哪里跳过来的,所有的页面的打开历史链就可被挖掘出来,有利于分析用户行为与CPS分成

3,reponse header
Content-Type,         响应的数据类型:text/html;charset=gbk
Content-Length,    响应的数据体大小
Content-Encoding,   如果为文本、HTML信息,则使用的编码方式
Date,                      当前服务器日期
Server,                   服务器名
Set- Cookie,          第一次访问或服务设置COOKIE时,响应头里会有此信息, 如,BAIDUID=49415814CDBBB4CE65EC50EE4BB65E9A:FG=1; expires=Wed, 07-Nov-42 07:03:34 GMT; path=/; domain=.baidu.com

4,  Cache-Control , Expires
控制缓存的两个响应头,如果都出现在响应头里,按Cache-Controler计算
Cache-Control,    为响应头信息,取值为:
Public,                当前系统任何登录的用户都可使用
Private,              当前系统登录的此用户进行缓存
no-cache,           不做缓存
max-age,           缓存指定秒数,如Cache-control: max-age=5,表示当访问此网页后的5秒内再次访问不会去服务器
Expires,             为响应头,Http1.1以上版本,与Max-Age一样,用来控制缓存的失效日期



5, Last-Modified,  If-Modified-Since
Last-Modified,       为响应头,标名本资料上一次的修改时间
If-Modified-Since,为请求头,把上一次请求的Last-Modified日期信息为值进行请求,如果服务器判断Last-Modified时间与服务器一致则直接返回304,浏览器使用本地缓存进行显示。一般用来节省带宽,加速请求与显示。

6,ETag + If-Match
同样是缓存策略,做为以上的补充
ETag,      为响应头,在 http1.1中规定为一个字串,具体格式未定义,用来校验客户端缓存
If-Match, 为请求头信息,把上一次请求响应的Etag带上进行请求,服务端的处理方法比较灵活,做为Cache-Control,Expires,Last-Modified的补充,可不以时间为参考的缓存策略。
Apache默认对html的Etag取值为INode+Mtime+Size
如:Etag"2e681a-6-5d044840"1
用途:
a,仅仅改变的修改时间,但内容未做修改
b,修改非常频繁,一秒内修改千次,但Cache-Control与Last-Modified,只能控制在秒级,这是对控制力度的进一步提升
c,某些服务器不能精确的得到文件的最后修改时间,个例,我们使用的服务器都已支持,所以所用不多

7,Connection Keep-Alive
HTTP协议采用TCP协议,每次页面资源请求都被规定为一次连接,而每次连接的TCP三次握手关闭时的四次通信与端口滞留等待防止数据包未传送,
而每个TCP都是一个打开文件IO句柄数,Unix/Linux又对这个做了严格的限制。
一个网页,大量资源文件(htmlcssjavascriptimage)需要加载量时需要大数据量的TCP连接,为了减少socket连接数提供了KeepAlive,使一个tcp连接可重复使用。
事实也证明用Keep-Alive速度也更快(但移动客户端接口开发会关掉此属性)。

8,Range:  10-100
取信息的一部分,断点下载时常用

9,返回状态码
200,返回成功
501,服务器内容错误
304,使用本地缓firebug
404,资源没有找到

10,http 协议监察工具:
Firebox: httpfox、live http header,firebug
IE:        httpwatch、iehttpheader

免责声明:文章转载自《HTTP 常用 Header 讲解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【Java学习】pom.xml配置Python3 tkinter基础 Label compound 图片上显示文字 fg字体颜色 font字体大小下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python解析Pcap包类源码学习

0x1、前言 ​ 在现场取证遇到分析流量包的情况会比较少,虽然流量类设备原理是把数据都抓出来进行解析,很大一定程度上已经把人可以做的事情交给了机器自动完成。 ​ 可用于PCAP包分析的软件比如科来,Wireshark都是很好用的分析软件,找Pcap解析的编程类代码时发现已经有很多大佬写过Python脚本辅助解析Pcap,也有提取将Pcap信息以界面形式展示...

CORS(跨域资源共享)

引用自阮一峰的网络日志:http://www.ruanyifeng.com/blog/2016/04/cors.html 侵删 一、浏览器将CORS请求(通过ajax方式)分成两类: 1.简单请求:需要同时满足以下两大条件 1).请求方法为:HEAD、GET、POST之一 2).HTTP的请求头信息不超出以下字段:Accept、Accept-Languag...

HTML5+CSS3学习笔记(二)

学习笔记一只是大致介绍了一下HTML的相关内容以及简单的框架,接下来就是学习HTML的各种标签。HTML的标签有很多,简单的介绍可以参照这个网址(http://www.w3school.com.cn/tags/html_ref_byfunc.asp)。 HTML5作为最新的HTML标准,毫无疑问发生了某些变化,增加了很多标签,也修改了一些标签,不过大致的结...

抓取网页报403错误,爬虫解决403禁止访问错误方法

抓取网页报403错误,爬虫解决403禁止访问错误方法 一般就是被禁止了,加上对应的header参数就可以了,要具体分析正常访问时需要那些头信息其中User-Agent是浏览器特有的属性,通过浏览器F12调试器就可以看到 以下是Python示例,java也类似 req.add_header("User-Agent","Mozilla/5.0 (Windows...

【H5】15 表单 其四 数据发送

一旦在客户端上验证了表单数据,就可以提交表单了。 并且,由于我们在上一篇文章中介绍了验证,因此我们准备提交! 本文着眼于用户提交表单时会发生什么—数据将流向何处,以及到达表单后如何处理? 我们还将研究与发送表单数据相关的一些安全问题。 先决条件: 基本的计算机知识,对HTML的理解以及HTTP和服务器端编程的基本知识。 目的: 了解提交表单数据...

uni-app request POST 请求方式不加 header头会默认为 OPTIONS

背景:鄙人在测试 uniapp 的使用时,发现以 POST 方式进行网络请求时,如果不添加 header 头 是无法进行正常的网络请求的,此时默认的请求方式被认定为 OPTIONSuni.request 发起请求 源码截图 网络请求示意图   此时,如果添加如下的 header头 header: { 'content-type': 'app...