HTTP 之 首部行介绍

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP 之 首部行介绍相关的知识,希望对你有一定的参考价值。

首部行格式

Name: Value#注意,冒号后面有一个空格

http协议首部的分类:

.通用首部

.请求首部,请求报文中才有的

.响应首部

.实体首部

.扩展首部

.通用首部:

Date:报文的创建时间

Connection:连接状态,如keep-alive,

close,其中keep-alive是指支持长连接,持久连接

Via:显示报文经过的中间节点(代理,网关)

Cache-Control:控制缓存,如缓存时长

MIME-Version:发送端使用的MIME版本

.请求首部:

Accept:通知服务器自己可接受的媒体类型

Accept-Charset:客户端可接受的字符集

Accept-Encoding:客户端可接受编码格式,如gzip,这个是客户端的设置

Accept-Language:客户端可接受的语言

Client-IP:请求的客户端IP,在代理服务器的请求包头加字段,如客户端ip,然后在服务器中把这个客户端地址的ip记录下来,做相应的分析

Host:请求的服务器名称和端口号

Referer:跳转至当前URI的前一个URL

User-Agent:客户端代理,浏览器版本

.条件式请求首部:

Expect:允许客户端列出某请求所要求的服务器行为

If-Modified-Since:自从指定的时间之后,请求的资源是否发生过修改

If-Unmodified-Since:与上面相反

If-None-Match:本地缓存中存储的文档的ETag标签是否与服务器文档的Etag不匹配

If-Match:与上面相反

.安全请求首部:

Authorization:向服务器发送认证信息,如账号和密码

Cookie:客户端向服务器发送cookie

Cookie2:用于说明请求端支持的cookie版本

.代理请求首部:

Proxy-Authorization:向代理服务器认证

.响应首部:

.信息性:

Age:从最初创建开始,响应持续时长

Server:服务器程序软件名称和版本

.协商首部:某资源有多种表示方法时使用

Accept-Ranges:服务器可接受的请求范围类型

Vary:服务器查看的其它首部列表

.安全响应首部:

Set-Cookie:向客户端设置cookie

Set-Cookie2:以上面相似

WWW-Authenticate:来自服务器对客户端的质询列表

.实体首部:

首部的信息可以定制,根据情况来增加或减少

Allow:列出对此资源实体可使用的请求方法

Location:告诉客户端真正的实体位于何处

Content-Encoding:对主体执行的编码

Content-Language:理解主体时最适合的语言

Content-Length:主体的长度

Content-Location:实体真正所处位置

Content-Type:主体的对象类型,如text

缓存相关:

ETag:实体的扩展标签

Expires:实体的过期时间

Last-Modified:最后一次修改的时间

例子

通过curl -I url  直接获取到开始行和首部的内容

例子一

Request URL:http://www.magedu.com/
Request Method:GET
Status Code:200 OK
Remote Address:101.200.188.230:80
键值对首部字段名+值
Response Headers
view source
#以下这些都是头部:值
Connection: keep-alive
Content-Encoding: gzip
Content-Type: text/html;charset=UTF-8
Date: Sun, 29 Jan 2017 14:32:30 GMT
Server: Tengine
Transfer-Encoding: chunked
Vary: Accept-Encoding
X-Pingback: http://www.magedu.com/xmlrpc.php

例子二

Request Headers
view source
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:zh-CN,zh;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Cookie:53gid2=10104634518015; 53gid0=10104634518015;
53gid1=10104634518015;53revisit=1485699843851; 53uvid=1;
onliner_zdfq72145423=0;CNZZDATA1260642320=1664910013-1485697454-
%7C1485697454; visitor_type=old;53kf_72145423_keyword=;
kf_72145423_keyword_ok=1;
Hm_lvt_4a78dc1643884da1c990c4c878832e70=1485699844;
Hm_lpvt_4a78dc1643884da1c990c4c878832e70=1485700088
Host:www.magedu.com
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT10.0; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko)Chrome/56.0.2924.76 Safari/537.36


本文出自 “阳光运维” 博客,请务必保留此出处http://ghbsunny.blog.51cto.com/7759574/1970449

以上是关于HTTP 之 首部行介绍的主要内容,如果未能解决你的问题,请参考以下文章

使用telnet发送HTTP请求报文

Http协议

前端学HTTP之报文首部

前端学HTTP之报文首部

http请求报文

HTTP请求报文和响应报文