《图解HTTP》总结笔记(一)

需要《图解HTTP》、《图解TCP/IP》PDF版电子书的,可以在评论里留下邮箱。


一、web及网络基础

1.TCP/IP 协议族:互联网相关的各类协议族的总称。TCP/IP 协议族按层次分别分为

应用层:决定了向用户提供应用服务时通信的活动。HTTP 协议也处于该层。

传输层:提供处于网络连接中的两台计算机之间的数据传输,它有两个性质不同的协议(TCP和UDP)。

网络层:网络层用来处理在网络上流动的数据包。

数据链路层:用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card,网络适配器,即网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)。硬件上的范畴均在链路层的作用范围之内。

2.TCP/IP 通信传输流

    ...

3.与 HTTP 关系密切的协议 : IP、TCP 和DNS

    (1).IP(Internet Protocol)网际协议:位于网络层,作用是把各种数据包传送给对方。其中两个重要的条件是 IP 地址和 MAC地址(Media Access Control Address)。IP 地址指明了节点被分配到的地址,MAC 地址是指网卡所属的固定地址。

    (2).TCP 协议:位于传输层,提供可靠的字节流服务。即把大数据分割成小数据包。

《图解HTTP》总结笔记(一)_第1张图片
TCP三次握手

    (3).DNS服务(Domain Name System):位于应用层的协议。它提供域名到 IP 地址之间的解析服务。



二、简单的 HTTP 协议

1.HTTP 协议的作用是让客户端和服务器端之间通信

2.通过请求和响应的交换达成通信

《图解HTTP》总结笔记(一)_第2张图片
客户端发起请求,服务端响应


3.HTTP 是不保存状态的协议

协议本身并不保留之前一切的请求或响应报文的信息。这是为了更快地处理大量事务,确保协议的可伸缩性,而特意把 HTTP 协议设计成如此简单的。HTTP/1.1 虽然是无状态协议,但为了实现期望的保持状态功能,于是引入了 Cookie 技术。

4.URI 定位资源,因为 URI 的特定功能,在互联网上任意位置的资源都能访问到。

5.HTTP 方法

get、post、put、head、delete、options、trace、connect

《图解HTTP》总结笔记(一)_第3张图片
http请求方法

6.持久连接

HTTP 协议的初始版本中,每进行一次 HTTP 通信就要断开一次 TCP连接。每无谓的 TCP 连接建立和断开,增加了通信量的开销。这是因为初期的网页信息量较少,这种设计足以应付。

《图解HTTP》总结笔记(一)_第4张图片
HTTP/1.0时代的请求过程

可随着 HTTP 的普及,文档中包含大量图片的情况多了起来。为了解决上述问题,HTTP/1.1 和一部分的 HTTP/1.0 想出了持久连接(HTTP Persistent Connections,也称为 HTTP keep-alive 或HTTP connection reuse)的方法。持久连接的特点是,只要任意一端没有明确提出断开连接,则保持 TCP 连接状态。

《图解HTTP》总结笔记(一)_第5张图片
HTTP/1.1时代的请求过程

7.http管线化

持久连接使得多数请求以管线化(pipelining)方式发送成为可能。管线化技术出现后,不用等待响应亦可直接发送下一个请求。

《图解HTTP》总结笔记(一)_第6张图片
不等待响应,直接发送下一个请求

8.使用 Cookie 的状态管理

由于HTTP是不记录状态的,这么做是为了减轻服务器的 CPU 及内存资源的消耗。可是无状态又会引出另一个问题,服务器无法识别请求是否来自同一用户(客户端/IP地址)。Cookie 技术通过在请求和响应报文中写入 Cookie 信息来控制客户端的状态。 

《图解HTTP》总结笔记(一)_第7张图片
没有 Cookie 信息状态下的请求


《图解HTTP》总结笔记(一)_第8张图片
第 2 次以后(存有 Cookie 信息状态)的请求

你可能感兴趣的:(《图解HTTP》总结笔记(一))