我爱编程

Http基础知识学习(三),第6章摘抄

2017-01-16  本文已影响85人  英勇青铜5

6HTTP 首部

HTTP协议的请求和响应报文中必定包含HTTP首部

6.1 HTTP报文首部

报文结构

HTTP协议的请求和响应报文中必定包含HTTP首部。首部内容为客户端和服务器分别处理请求和响应提供所需要的信息。对于客户端用户来说,信息中的大部分内容都无须亲自查看

报文首部由几个字段构成


请求报文
响应报文

具体示例:

响应报文举例

6.2 HTTP首部字段

6.2.1 HTTP首部字段传递重要信息

作用:向浏览器和服务器提供报文主体大小、所使用的的语言、认证信息等

首部字段

6.2.2 HTTP首部字段结构

HTTP首部字段由首部字段名和字段值构成,中间用冒号:分隔,形式便是首部字段名:字段值
例如,使用Content-Type表示报文主体的对象类型

COntont-Type:text/html

字段值对应单个HTTP首部字段可以有多个值

Keep-Alive:timeout = 15, max = 100

6.2.3 4种HTTP首部字段类型

首部字段分4种类型:


6.2.4 HTTP/1.1 首部字段一览

HTTP/1.1 47种首部字段

实在不想把表格敲一遍了,就直接偷懒,截图了





6.3 HTTP/1.1 通用首部字段

通用首部是指请求报文和响应报文都会用到的首部

6.3.1 Cache-Control

通过指定首部Cache-Control的指令,操作缓存的工作机制

Cache-Control

指令可选,多个指令之间通过,分隔。首部字段Cache-Control指令可用于请求及响应时

Cache-Control :private ,max-age = 0,no-cache

Cache-Control指令一览




作用:防止从缓存中返回过期的资源

客户端发送包含no-cache指令,客户端将不会接受缓存过的响应。“中间”的缓存服务器必须把客户端必须把客户端请求转发给源服务器

如果服务器返回的响应包含no-cache指令,缓存服务器不能对资源进行缓存。源服务器以后将不再对缓存服务器请求中提出的资源有效性进行确认,且禁止其对响应资源进行缓存操作

Cache-Control : no-cache=Location

由服务器返回的响应中,若报文首部字段Cache-Control中对no-cache字段名具体指定参数值,客户端在接收到的这个被指定参数值的首部字段对应的响应报文后,就不能使用缓存。无参数值的首部字段可以使用缓存,只能在响应指令中指定该参数


指定缓存期限和认证的指令

当客户端发送的请求中包含max-age指令时,如果判定缓存资源的缓存时间数值比指定时间小,客户端就接收缓存的资源。若max-age = 0,缓存服务器需要将请求转发给源服务器

当源服务器返回的响应中包含max-age指令时,缓存服务器将不对资源的有效性再作确认,而max-age数值代表资源保存为缓存的最长时间


如果指令未指定参数值,无论经过多久,客户端都会接收响应;如果指令中指定来具体数值,即使过期,只要仍处于max-statle指定时间内,仍旧会被客户端接收


仅在缓存服务器有本地缓存目标资源的情况下,才会返回。要求服务器不重新加载响应,也不会再次确认资源有效性。若发生请求缓存服务器的本地缓存无响应,则返回504 Gateway Timeout

还有一大堆,不想摘抄了,用到直接百度好了


6.4 为Cookie服务首部字段

Cookie的工作机制是用户识别及状态管理。

首部字段名 说明 首部类型
Set-Cookie 开始状态管理所使用的Cookie信息 响应首部字段
Cookie 服务器接收到的Cookie信息 请求首部字段
Cookie首部
Set-Cookie字段的属性

最后

第6章,抄着不想抄了,看了看,也没记住啥

有错误,请指出

共勉 :)

上一篇下一篇

猜你喜欢

热点阅读