美文网首页技术整理
HTTP 常用header整理

HTTP 常用header整理

作者: Michael_涵 | 来源:发表于2017-02-16 15:37 被阅读0次

1.http请求格式

协议名://主机名:端口号/资源路径

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,如:BAIDUID=49415814CDBBB4CE65EC50EE4BB65E9A:FG=1; expires=Wed, 07-Nov-42 07:03:34 GMT; path=/; domain=.baidu.com

Referer,从一个连接打开一个新页面,新页面的请求一般会加此信息,标名是从哪里跳过来的,所有的页面的打开历史链就可被挖掘出来,有利于分析用户行为与CPS分成

3.response 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又对这个做了严格的限制。一个网页,大量资源文件(html\css\JavaScript\image)需要加载量时需要大数据量的TCP连接,为了减少socket连接数提供了KeepAlive,使一个tcp连接可重复使用。事实也证明用Keep-Alive速度也更快(但移动客户端接口开发会关掉此属性)。

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

9.返回状态码

200 返回成功

501 服务器内容错误

304 使用本地缓存

404 资源没有找到

10.http协议监察工具:

firebox:httpfox、live http header、firebug

ie:httpwatch、iehttpheader

相关文章

  • HTTP 常用header整理

    1.http请求格式 协议名://主机名:端口号/资源路径 2.request header Host, 请求头,...

  • HTTP常用Header

    本文源自本人的学习记录整理与理解,其中参考阅读了部分优秀的博客和书籍,尽量以通俗简单的语句转述。引用到的地方如有遗...

  • PHP常用http头

    PHP常用Http头 404 header('HTTP/1.1 404 Not Found'); 301,302 ...

  • http header http常用请求头

    HTTP请求header 1.常用Requests部分2.常用Responses 部分3.不常用部分(可以不看)|...

  • nginx 2

    1 nginx 常用模块整理 nginx 常用模块整理1 http核心模块 ngx_http_core_modu...

  • HTTP Header

    HTTP Header 详解HTTP Header解析 HTTP(HyperTextTransferProtoco...

  • Fiddler查看HTTP请求Header

    1,HTTP Header介绍 HTTP 请求中有Header,HTTP 响应中也有Header。使用 Fiddl...

  • http的header常用操作总结

    ;q=:代表权重2.防盗链,这个用于图片的限制,只有本域名可以获取到;(Referer、Referered) 4....

  • HTTP Header

    HTTP Header 大体分为Request和Response两部分 Requests部分 Header ...

  • Http Header

    Referer 当浏览器向服务器发送请求时,带上referer告诉服务器我是从哪个页面链接过来的 X-Frame-...

网友评论

    本文标题:HTTP 常用header整理

    本文链接:https://www.haomeiwen.com/subject/lxhhwttx.html