美文网首页
HTTP——报文和实体

HTTP——报文和实体

作者: 章鱼要回家 | 来源:发表于2019-03-04 10:07 被阅读0次

本文为《图解HTTP》第三章摘录+总结。
HTTP报文本身是由多行数据构成的字符串文本,由报文首部和报文主体构成,并不一定要有报文主体。首部是请求或响应的内容及属性,主体是应被发送的数据。
首先弄清两个概念,报文实体。可将报文看作传输中的“箱子”,而实体是“箱子”里的“货物”,即我们真正想要传送给对方的东西本身,也就是数据。实体由实体首部和实体主体构成,实体首部主要是一些有关实体主体的描述性信息。

编码传输

在实际中,通过编码来提升传输的速率。有两种编码方式:压缩传输的内容和分块传输。
HTTP协议中有一种被称为内容编码的功能可以对实体信息进行压缩,压缩后的实体由客户端接收并进行解码。
在传输大量内容时,通过把数据分割成多块,让浏览器逐步显示。这种编码方式被称为分块传输编码。

Content-type

HTTP协议中采用多部分对象集合(Multipart)的方法,来容纳多份不同的类型的数据。发送的一份报文可含有多类型实体。通常是在图片或文本文件等上传时使用。Multipart集合包含的对象有:

  • multipart/form-data web表单文件上传时使用
  • multipart/byteranges 状态码为206时 响应报文包含了多重范围的内容时使用
    在HTTP报文中使用Multipart需要在首部字段加上Content-type。

Range

首部字段Range用来指定资源内的byte范围。而使用了Range发送的请求被称为范围请求,即只请求某个资源的一部分。用于应对网络中断的情况,可以从中断处继续加载,而不是从头开始。
针对范围请求,响应会返回状态码为206 Partial Content的响应报文。另外,对于多重范围请求,响应会在首部字段Content-Type标明multipart/byteranges后返回响应报文。
如服务器无法响应范围请求,则返回状态码200 OK和完整的实体内容。

内容协商

同一个web网站可能存在多份相同内容的页面,例如英文版和中文版。当浏览器的默认语言为英语或中文时,web页面对应显示相应语言。这样的机制称为内容协商。内容协商机制是指客户端和服务器端就响应的资源内容进行交涉,然后提供给客户端最为合适的资源。
包含在请求报文中的某些首部字段就是判断的基准:Accept、Accept-Charset、Accept-Encoding、Accept-Language、Content-Language。

内容协商技术有3种类型:

  • 服务器驱动协商
    由服务器端进行内容协商。以请求的首部字段作为参考,自动在服务器端进行处理。对用户来说,以浏览器发送的信息作为判断依据,并不一定功能筛选出最优内容。
  • 客户端驱动协商
    可让用户在页面上进行手动选择,或者利用JS代码在Web页面上自动进行上述选择。比如按os类型或浏览器类型,自动切换成PC版页面或手机版页面
  • 透明协商
    服务器端驱动和客户端驱动的结合体。

相关文章

  • HTTP——报文和实体

    本文为《图解HTTP》第三章摘录+总结。HTTP报文本身是由多行数据构成的字符串文本,由报文首部和报文主体构成,并...

  • http权威指南第三章

    http报文 重点: 报文是如何流动的; http报文的三个组成部分(起始行、首部、和实体的主体部分); 请求和响...

  • 【HTTP】content-length: 实体的长度

    报文是箱子,实体是货物 HTTP 权威指南中提到可以把HTTP报文看成是网络货运系统的箱子,HTTP实体就是货物 ...

  • 实现缓存的http首部字段小结

    核心概念: http报文分为请求报文和响应报文,结构都是报文首部+报文实体 报文首部包括四部分:请求行(响应行)+...

  • 第3章 HTTP报文内的HTTP信息

    HTTP报文大致分为报文首部和报文主体两块。两者通过空行(CR+LF)来划分。 编码提升传输速率 报文主体和实体的...

  • HTTP回顾6

    HTTP首部 报文首部 HTTP请求报文 请求行、请求首部字段、通用首部字段、实体首部字段、其他 响应报文 状态行...

  • 《图解HTTP》第二章

    1. HTTP报文 请求报文 由请求方法、请求URI、协议版本、可选的请求首部字段和内容实体构成。 响应报文 由协...

  • 《http权威指南》阅读笔记,第三章,HTTP报文

    目录 报文是如何流动的 HTTP报文的三个组成部分(起始行,首部,实体的主体) 请求报文支持的各种方法 和响应报文...

  • HTTP协议报文及Chrome Network常用功能

    HTTP协议报文 Http协议报文分为【Http请求报文】和【Http响应报文】 HTTP请求报文 Http请求报...

  • 【http】浏览器如何处理服务器的响应

    HTTP在传输数据时,可以直接按照原样传,也可以进行编码。 报文和实体 报文:HTTP通信中的基本单位,由8位组字...

网友评论

      本文标题:HTTP——报文和实体

      本文链接:https://www.haomeiwen.com/subject/ffopuqtx.html