前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Http常用头部整理

Http常用头部整理

作者头像
疯狂的技术宅
发布2019-03-28 10:46:32
10.4K1
发布2019-03-28 10:46:32
举报
文章被收录于专栏:京程一灯京程一灯

Http常用头部整理

http协议

HTTP是一个属于应用层的面向对象的协议,其主要特点为:

1. 支持客户端/服务器模式;

2. 简单快速的通信;

3. HTTP允许传输任意类型的数据对象。类型由Content-Type加以标记。

4. 无连接、无状态协议;

http报文

用于HTTP协议交互的信息被称为HTTP报文。请求端(客户端)的HTTP报文叫做请求报文,响应端(服务器端)的叫做响应报文。

请求报文和响应报文的首部内容由以下数据组成。

  • 请求行 包含用于请求的方法,请求URI和HTTP版本;
  • 状态行 包含响应结果的状态码,原因短语和Http版本;
  • 首部字段 一般有4种首部,分别是:通用首部、请求首部、响应首部和实体首部。
  • 其他(Cookie等)

HTTP协议的请求和响应报文中必定包含HTTP首部。首部内容为客户端和服务器分别处理请求和响应提供 所需要的信息。

下来对HTTP的常用首部字段进行详细介绍

HTTP首部字段根据实际用途被分为以下4种类型。

  • 通用首部字段(General Header Fields)请求报文和响应报文两方都会使用的首部。
  • 请求首部字段(Request Header Fields)从客户端向服务器端发送请求报文时使用的首部。补充了请求的附加内容、客户端信息、响应内容相关优先级等信息。
  • 响应首部字段( Response Header Fields)从服务器端向客户端返回响应报文时使用的首部。补充了响应的附加内容,也会要求客户端附加额外的内容信息。
  • 实体首部字段(Entity Header Fields)针对请求报文和响应报文的实体部分使用的首部。补充了资源内容更新时间等与实体有关的信息。
HTTP/1.1 首部字段一览

通用首部字段

首部字段名

说明

Cache-Control

控制缓存的行为

Connextion

逐跳首部、连接的管理

Date

创建报文的日期时间

Pragma

报文指令

Transfer-Encoding

指定报文主体的传输编码方式

代码语言:javascript
复制
Cache-control: max-age=5 表示当访问此网页后的5秒内再次访问不会去服务器 

Cache-Control: no-cache:这个很容易让人产生误解,使人误以为是响应不被缓存。
实际上Cache-Control: no-cache是会被缓存的,只不过每次在向客户端(浏览器)提供响应数据时,缓存都要向服务器评估缓存响应的有效性。 

Cache-Control: no-store:这个才是响应不被缓存的意思。 

Pragma: no-cache:跟Cache-Control: no-cache相同,Pragma: no-cache兼容http 1.0 ,Cache-Control: no-cache是http 1.1提供的。 

因此,Pragma: no-cache可以应用到http 1.0 和http 1.1,而Cache-Control: no-cache只能应用于http 1.1.
另外,客户端不带这个头部请求的话,如果使用本地缓存的话,返回状态码为304。
如果请求头中有cache-control:no-cache头部。则不使用本地缓存,返回状态码不为304(一般为200)。
这里,恰好解决了我之前的一个问题:http://blog.chinaunix.net/uid-1757778-id-5753705.html

请求首部字段

首部字段名

说明

Accept

用户代理可处理的媒体类型

Accept-Charset

优先的字符集

Accept-Encoding

优先的内容编码

Accept-Language

优先的语言

Host

指定资源所在服务器

If-Match

比较实体标记(ETag)

If-Modified-Since

比较资源的更新时间

If-None-Match

比较实体标记(与If-Match相反)

Referer

对请求中URI的原始获取方

User-Agent

Http客户端程序的信息

Accept属于请求头,表示客户端希望接收的数据类型。 这里有对If-Modified-Since和Last-Modified的一些不错的解释,可以点击这里查看 合理使用If-None-Match和If-Modified-Since头,可以减少流量带宽。

响应首部字段

首部字段名

说明

Accept-Range

是否接受字节范围请求

ETag

资源的匹配信息

Location

另客户端重定向至指定URI

Server

Http服务器的安装信息

Vary

代理服务器缓存的管理信息

实体首部字段

首部字段名

说明

Allow

资源可支持的Http方法

Content-Encoding

实体主体适用的编码方式

Content-Language

实体主体的自然语言

Content-Length

实体主体的大小(字节)

Content-Location

替代对应资源的URI

Content-Type

实体主体的媒体类型

Expires

实体主体过期的日期时间

Last-Modified

资源的最后修改日期时间

从以上这些之外,还有比如Cookie、Set-Cookie和Content-Disposition等在其他RFC中定义的首部字段也经常被用到。 下边为请求一个网页的头部信息实例:

General:

Request URL:http://blog.csdn.net/muzizongheng/article/details/46795243

Request Method:GET

Status Code:200 OK

Remote Address:59.110.88.38:80

Referrer Policy:unsafe-url

Response Header:

Cache-Control:private, max-age=0, must-revalidate

Connection:keep-alive

Content-Encoding:gzip

Content-Type:text/html; charset=utf-8

Date:Mon, 17 Jul 2017 11:16:17 GMT

ETag:W/"ac50f3b564a78d9d789c1aa58f6ae866"

Keep-Alive:timeout=20

Server:openresty

Transfer-Encoding:chunked

Vary:Accept-Encoding

X-Powered-By:PHP 5.4.28

Request Headers:

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:uuid_tt_dd=144036427222764724_20151210; bdshare_firstime=1449739242207; UN=qq_32072475; UE=""; BT=1487900862896; uuid=2f6e329e-9f88-4865-8122-f9b62fdbb659; avh=62976388%2c46795243; Hm_lvt_6bcd52f51e9b3dce32bec4a3997715ac=1500288834,1500289008,1500290189,1500290200; Hm_lpvt_6bcd52f51e9b3dce32bec4a3997715ac=1500290200; dc_tos=ot8fbt; dc_session_id=1500290201006

Host:blog.csdn.net

If-None-Match:W/"ac50f3b564a78d9d789c1aa58f6ae866"

Referer:https://www.baidu.com/link?url=Wu7VlsW2GRUpclU_zgZy9v_qJkZl1rHrjCTURquEV9PS0fEb1W5xkKsGoufmZVycG5aA8jlSdONEoM8d8mMbuP7vx91QgDaeU5eN7ty9WK7&wd=&eqid=ec2de144000058ef00000006596c9c69

Upgrade-Insecure-Requests:1

User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-08-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 京程一灯 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Http常用头部整理
    • HTTP/1.1 首部字段一览
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档