HTTP 学习了解 (一)

HTTP 学习了解#

  • TCP/IP 协议族各层
  1. 应用层

应用层决定了向用户提供应用服务时通信的活动

  1. 传输层

传输层对上层应用层,提供处于网络链接中的两台计算机之间的数据传输,传输层有两种不同的协议,TCP (传输控制协议) 和 UDP (用户数据报协议)

  1. 网络层 (又可称之为网络互联网层)

网络层时用来处理网络上流动的数据包,数据包是网络传输的最小数据单位,该层规定了通过怎样的路径到达对方的计算机,并把数据包传输给对方

  1. 链路层 (又名数据链路层,网络接口层)

用来处理连接网络的硬件部分。包括控制操作系统,硬件的驱动设备,网络适配器,网卡,光纤

  • TCP/IP 通信传输流
  1. HTTP 客户端

  2. TCP

  3. IP

  4. 网络

  5. 网络

  6. IP

  7. TCP

  8. HTTP 服务端

说明:HTTP 客户端 / 服务端都属于 应用层 ;TCP 属于 传输层 ;IP 属于 网络层 ;网络属于 链路层

  • 一个 HTTP 请求的大概流程

发送端(每通过一层则增加首部)-》 HTTP 数据(HTTP 报文)-》 TCP 首部(HTTP 数据) -》 IP 首部((TCP 首部)HTTP 数据)-》 以太网首部(((IP 首部)TCP 首部)HTTP 数据)

接收端(每通过一层则删除首部)-》 以太网首部(((IP 首部)TCP 首部)HTTP 数据) -》 IP 首部((TCP 首部)HTTP 数据)-》 TCP 首部(HTTP 数据)-》 HTTP 数据(HTTP 报文)

  • 负责传输的的 IP 协议

按层次分,IP 网际协议是属于网络层,IP 协议的作用是把各种数据包传送给对方,想要准确传输到对方那里,就必须知道 IP 地址和 MAC 地址,IP 地址指明了节点
被分配到的地址,MAC 地址是指网卡所属的固定地址,IP 地址可以和 MAC 地址配对,IP 地址一般可变,MAC 地址一般是固定的

  • 确保可靠性的 TCP 协议

按层次分,TCP 协议属于传输层,提供可靠的字节流服务。 字节流服务: 为了方便传输,将大块的数据分割成以报文段为段位的数据包进行管理。

TCP 协议的三次握手:

  1. 发送端发送带有 SYN 的数据包给接收端

  2. 接收端收到数据报之后,会发送一个带有 SYN/ACK 的数据包给发送端

  3. 发送端接收到接受端发送过来的消息后,再次发送一个带有 ACK 的数据报给接收端

  • 负责域名解析的 DNS 服务

DNS 服务是和 HTTP 协议一样位于应用层的协议,它提供域名到 IP 地址之间的解析服务

  1. 发送端输入一个域名

  2. DNS 服务负责解析,发送给发送端域名对应的 IP 地址

  3. 发送端得到 IP 地址之后再次去请求对应的数据

  • HTTP 请求中的几种方法
  1. GET 获取资源

  2. POST 传输实体主体

  3. PUT 传输文件

  4. HEAD 获得报文首部(不返回报文主体)

  5. DELETE 删除文件

  6. OPTIONS 询问支持的方法

  7. TRACE 追踪路径

  8. CONNECT 要求用隧道协议连接代理

  • HTTP 持久化连接(HTTP Persistent Connections | HTTP Keep-alive | HTTP Connection reuse)

在 HTTP/1.1 中,所有的连接默认都是持久化连接,持久化连接使得多数请求以 管线化 的方式发送成为可能

本作品采用《CC 协议》,转载必须注明作者和本文链接
LIYi ---- github 地址