HTTP笔记

2017-08-02  本文已影响9人  carolwhite

通信传输流

Screen Shot 2017-08-01 at 4.33.21 PM.png

HTTP报文

Screen Shot 2017-08-01 at 9.53.45 AM.png
Screen Shot 2017-08-01 at 9.56.04 AM.png

报文主体和实体主体的差异

Screen Shot 2017-08-01 at 10.15.02 AM.png

HTTP状态返回码

Screen Shot 2017-08-01 at 1.49.51 PM.png

HTTP首部字段

Screen Shot 2017-08-01 at 4.07.50 PM.png Screen Shot 2017-08-01 at 4.07.56 PM.png
首部字段类型

首部字段根据实际用途分为以下4类。
1.通用首部字段:请求报文和响应报文都会使用的首部。
2.请求首部字段:从客户端向服务器发送请求报文时使用的首部。补充了请求的附加内容,客户端信息,响应内容相关优先级信息。
3.响应首部字段:从服务端向客服端返回响应报文时使用的首部。补充了响应的附加信息,也会要求客户端附加额外的内容信息。
4.实体首部字段:针对请求报文和响应报文的实体部分使用的首部。补充了资源内容更新时间等与实体有关的信息。

首部字段结构

HTTP首部字段是由首部字段名和字段值组成,中间由冒号“:”分割。

首部字段名:字段值
Content-Type: text/html
Keep-Alive: timeout =15, max  = 100
HTTP首部字段一览
Screen Shot 2017-08-01 at 4.16.28 PM.png Screen Shot 2017-08-01 at 4.16.54 PM.png Screen Shot 2017-08-01 at 4.17.28 PM.png
通用首部字段
1.Cache-control:控制缓存的行为

缓存请求指令

![Screen Shot 2017-08-01 at 4.42.47 PM.png](https://img.haomeiwen.com/i1485048/59b5b6d97c710f66.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

缓存响应指令

Screen Shot 2017-08-01 at 4.42.47 PM.png
2.Conection:控制不再转发给代理的首部字段,管理持久连接。
Connection:不再转发的首部字段名
Connection: close  # HTTP/1.1以后都是持久连接
Conntection: Keep-Alive # HTTP/1.1之前的都是非持续连接
3.Prama:为了兼容HTTP /1.1之前版本的历史遗留问题

该字段,只用在客户端发送的请求中,客户要求所有的中间服务器不返回缓存的资源。

Cache-Control: no-cache  #一般会有2个首部字段
Prama: no-cache
4.Upgrade:用于检测HTTP协议及其他协议是否可使用更高的版本通信,其参数值可以用来指定一个完全不同的通信协议。
Screen Shot 2017-08-02 at 12.09.28 AM.png

Upgrade首部字段产生作用的Upgrade对象仅限于客户端和邻接服务器之间。因此使用首部字段Upgrate时还需要额外指定Connection:Upgrate
对于附有首部字段Upgrate的请求,服务器可用101SwitchingProtocal状态码作为响应返回。

5.Waring:通知用户一些与缓存的相关的问题的警告。
Screen Shot 2017-08-02 at 12.22.39 AM.png Screen Shot 2017-08-02 at 12.23.07 AM.png Screen Shot 2017-08-02 at 12.23.32 AM.png
请求首部字段
1.Accept:通知服务器,用户能够处理的媒体类型及媒体类型的相对优先级。使用type/subtype形式。
Screen Shot 2017-08-02 at 1.16.31 PM.png

若要设置优先级,用q=来额外表示权重值, q范围为0~1,";"隔开

Accept:text/html ;q = 0.5, text/plain
2.Host:若虚拟主机运行在同一个IP,因此会使用Host加以区分。首部字段Host会告知服务器,请求的资源所处的互联网主机名和端口号。
3.Range:告知服务器资源的指定范围
Range: bytes =5001 -10000

接受到附带Range首部字段请求的服务器,会在处理请求之后返回状态206Partial Content的响应。无法处理该范围请求时,则返回状态码200OK的响应全部资源。

响应首部字段
1.ETag:能告诉客户端实体标识。是一种可将资源以字符串形式做唯一标识的方式。服务器会为每份资源分配对应的Tag值。
2.Location:可以将响应接受方引导至某个与请求URL位置不同的资源。该字段基本配合3xx:Redirection响应,提供重定向的URL。
3.Vary:当代理服务器收到带有Vary首部字段指定获取资源的请求时,如果使用的Accept-Language字段的值相同,那么久直接从缓存返回响应。反正,需要从 源服务器端获取资源后才能作为响应返回 。
Vary:Accept-Language
4.Age
Screen Shot 2017-08-03 at 8.42.19 AM.png
上一篇下一篇

猜你喜欢

热点阅读