《图解HTTP》(二)

简单的http协议

为了协议的弹性,http是一种不保存状态的通信,即不保存之前发送过的请求或响应。带来的问题是,当用户登录后跳转页面时,无法保存登录状态。

为了解决此问题,引入cookie技术,其过程如下图这样,服务器会根据cookie来判断是哪一个用户

http方法:GET POST PUT HEAD DELETE OPTIONS TRACE CONNECT,其中 PUT DELETE TRACR由于安全性问题,只运用于特殊的地方。

现在的http协议可以建立持久连接,即只需要建立一次TCP连接,便可以进行多次的http请求与响应。

采用管线化连接,做到同时平行发送多个请求,而不用等待响应。

http报文内的http信息

http报文可分为请求报文和响应报文。其结构如图
在这里插入图片描述
通常不一定需要报文主体。
请求行:包含用于请求的方法,请求URI和http版本
状态行:包含表示响应结果的状态码,原因短语和http版本
首部字段:包含表示请求和响应的各种条件和属性的各类首部。
其他:包含rfc里未定义的首部(cookie等)。

有时候为了提高传输效率,便于处理大量的访问请求,会通过计算机进行编码。这时候便会存在报文主体与实体主体的差异。即只有在传输过程中进行编码操作,实体主体的内容发生变化,导致他和报文主体产生差异。
(http报文的主体用于传输请求或响应的实体主体,通常,报文主体等于实体主体。)

内容编码
类似邮件中添加附件时进行压缩,http中存在一种内容编码,指明应用在实体内容上的编码格式,并保持实体信息原样压缩。内容编码后的实体由客户端接收并负责解码。

分块传输编码
请求的编码实体资源尚未全部传输完成之前,浏览器无法显示请求页面。但如果把数据分割成多块进行,能够让浏览器逐步显示页面。
这种把实体主体分块的功能成为分块传输编码。
在实体主体的最后一块会使用“0(CR+LF
)”来进行标记。
有一种被称为传输编码的机制,可以在通信时按某种编码方式传输,但只定义作用于分块传输编码中。

类似于邮件可以处理文本,图片,视频等多个不同类型的数据(MIME机制)。http协议采纳了多部分对象集合,发送的一份报文主体中可含有多种类型实体。

获取部分内容的范围请求
譬如需要从下载中断处继续下载(我的文明6的下载不知道有多曲折 哭~)
如获取一开始到3000字节和5000~7000字节的多重范围

Range: bytes=-3000,5000-7000

内容协商
内容协商机制指客户端和服务器端就响应的资源内容进行交涉,然后提供给客户端最为适合的资源。内容协商会以响应资源的语言,字符集,编码方式等作为判断的基准。
内容协商技术的类型:
服务器驱动协商
客户端驱动协商
透明协商

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值