美文网首页
Day22-《图解HTTP》读书笔记1

Day22-《图解HTTP》读书笔记1

作者: 小红鱼 | 来源:发表于2017-03-30 22:07 被阅读83次

第1章  了解web及网络基础

1、HTTP/1.1是目前主流的HTTP协议版本;

2、TCP/IP协议族按层次分别为以下4层:数据链路层、网络层、传输层、应用层;

3、绝对URI的格式:协议名://登录信息@服务器地址:端口号/资源路径?查询字符串#片段标识符

例如:http://username:password@www.example.com:80/dir/index.htm?uid=1#ch1

使用片段标识符通常可标记出已获取资源中的子资源(文档内的某个位置);

第2章  简单的http协议

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

2、响应报文由协议版本、状态码、原因短语、可选的响应首部和实体主体构成;

3、HTTP是不保存状态的协议,即不保存之前发送过的请求或响应,这是为了更快的处理大量的事务。由于不必保存状态,也可减少服务器的CPU及内存资源的消耗;

4、URI用于定位互联网上的资源。如果不是访问特定的资源,而是对服务器本身发起请求,可用一个*来代替请求URI。例如OPTIONS * HTTP/1.1;

5、HTTP/1.1中使用的方法:

1)GET:获取资源

2)POST:传输实体主体

3)PUT:传输文件。PUT方法自身不带验证机制,任何人都可以上传文件,存在安全隐患,因此一般的web网站不使用该方法

4)HEAD:获得响应报文首部。用于确认URI的有效性及资源更新的日期等

5)DELETE:删除文件。和PUT一样,存在安全隐患,一般web网站也不使用

6)OPTIONS:查询针对请求URI指定的资源支持的方法

7)TRACE:让服务器端将之前的请求原样返回给客户端。请求从客户端到服务器端可能会经过代理中转,通过TRACE方法,客户端可以查询到之前发出去的请求是怎样被加工篡改的。

8)CONNECT:要求用隧道协议连接代理。CONNECT方法要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。主要使用SSL和TLS协议把通信内容加密后经过网络隧道传输

6、管线化(pipelining):以前发送HTTP请求后需等待并收到响应,才能发送下一个请求。管线化技术出现后,不用等待响应亦可直接发送下一个请求;

第3章  HTTP报文内的HTTP信息

1、HTTP报文可分为报文首部、和报文主体两块,两者由空行(CR+LF)来划分;

2、HTTP在传输数据时可以按照数据原貌直接传输,也可以通过在传输时编码提升传输效率;

1)压缩传输的内容编码,如gzip、compress、deflate、identity(不进行编码);

2)分块传输编码(Chunked Transfer Coding),用于在传输大容量数据时,通过把数据分割成多块,能够让浏览器逐步显示页面。每一块都会用十六进制来标记块的大小,最后一块会使用“0(CR+LF)”来标记;

3、通常,报文主体等于实体主体。只有当传输中进行编码操作时,实体主体的内容发生变化,才导致它和报文主体产生差异;

4、MIME(multipurpose internet mail extensions,多用途因特网邮件扩展)机制,它允许邮件处理文本、图片、视频等多个不同类型的数据;

5、多部分对象集合:HTTP协议发送的一份报文主体内可含有多种类型的实体,通常是在图片或文本文件等上传时使用。

如上图,我们抓取了一个上传文件的POST请求,可以看到Content-Type是multipart/form-data。使用boundary字符串来划分多部分对象集合指明的各类实体。在boundary字符串指定的各个实体的起始行之前插入“--”标记,而在多部分对象集合对应的字符串最后插入“--”标记作为结束。多部分对象集合的每个部分类型中,都可以含有首部字段。

6、获取部分内容的范围请求:执行范围请求时,会用到首部字段Range来指定资源的byte范围,例如Range: bytes=5001-10000。针对范围请求,响应会返回状态码为206 Partial Content的响应报文。如果服务器端无法响应范围请求,则会返回状态码200 OK和完整的实体内容;

7、内容协商机制:客户端和服务器端就响应的资源内容进行交涉,然后提供给客户端最为适合的资源。内容协商会以响应资源的语言、字符集、编码方式等作为判断的基准。比如按OS的类型或浏览器类型,自行切换成PC版页面或手机版页面。

相关文章

网友评论

      本文标题:Day22-《图解HTTP》读书笔记1

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