HTTP——学习笔记(3)

HTTP报文:用于HTTP协议交互的信息,客户端的HTTP报文叫作 请求报文,响应端的叫作 响应报文web

本质:是由多行(用CR+LF做换行符)数据构成的字符串文本浏览器

  注:CR:回车,打印针回到行首   LF:换行,打印针移至下一行服务器

构成:报文首部、报文主体ide

  报文首部:服务器端或客户端需处理的请求或响应的内容及属性网站

  报文主体:应被发送的数据编码

请求报文(上)  响应报文(下)spa

 

请求行:请求的方法、请求URI、HTTP版本orm

状态行:响应结果状态码、缘由短语、HTTP版本视频

首部字段:表示请求和响应的各类条件和属性的各种首部,通常有四种(见图)对象

其余:包含HTTP的RFC里未定义的首部(Cookie等)

 

HTTP中的编码

HTTP中能够直接传输数据,也能够编码后进行传输,编码的方法能够有效地处理大量的访问请求,可是编码过程须要计算机来完成,所以会消耗更多的CPU等资源

  报文:HTTP通讯中的基本单位,由8位组字节流组成,经过HTTP通讯传输

  实体:做为请求或响应的有效载荷数据(补充项)被传输,其内容由实体首部和实体主体组成

  报文的主体用于传输请求或响应的实体主体,一般,报文主体等于实体主体,只有当传输中进行编码操做时,实体主体的内容发生变化,才致使它和报文主体产生差别

HTTP中的内容编码能够保持实体信息原样进行压缩,内容编码后的实体由客户端接收并负责解码

  经常使用的内容编码:gzip   compress  deflate  identity(不进行编码)

  传输编码机制:在通讯时按某种编码方式传输,但只定义 做用于分块传输编码中

  分块传输编码:传输大容量数据时,经过把数据分割成多块,可以让浏览器逐步显示页面

  邮件中的MIME机制:多用途因特网邮件扩展,支持发送多种类型的文件,如邮件,文本,图片,视频等,由于使用一种称为多部分对象集合的方法

  多部分对象集合:HTTP中也采用了多部分集合,发送的一份报文主体内可含有多类型实体,其中包含的对象以下:

  multipart/form-data:在web表单文件上传时使用

  multipart/byteranges:状态码206(部份内容),响应报文包含了多个范围的内容时使用

 

HTTP获取部份内容请求 

在请求头部加上Range划定请求范围

  例如:Range:bytes=5001-10000     5001-10000字节

     Range:bytes=5001-               5001至后面所有的字节

     Range:bytes=-3000,5000-7000      一开始到3000字节和5000到7000字节

返回状态码的206响应报文,若服务器没法响应范围请求,则会返回状态码200 OK和完整的实体内容

 

HTTP内容协商

同一个web网站有可能会有多分内容相同的页面,好比英语版和中文版,当浏览器的默认语言为英语或中文,访问相同的URI的web页面时会显示对应的英语版或中文版页面,这样的机制称为 内容协商

判断基准:响应资源的语言、字符集、编码方式等

首部字段:Accept

       Accept-Charset

     Accept-Encoding

     Accept-Language

     Content-Language

内容协商的技术:

    服务器驱动协商:由服务器端进行内容筛选

    客户端驱动协商:由客户端进行内容筛选,用户从可选列表中手动选择,也可利用Javascript进行选择

    透明协商:由服务器端和客户端各自进行内容协商

相关文章
相关标签/搜索