图解HTTP-1-2-3

了解Web及网络基础
  • CERN 欧洲核子研究组织的蒂姆•伯纳斯提出一种能让远隔两地的研究者们共享知识的设想
  • WWW World Wide Web 万维网

3项WWW的构建技术

  1. 把SGML(Standard Generalized Markup Language, 标准通用标记语言)作为页面的文本标记语言的HTML(HyperText Markup Language,超文本标记语言)
  2. 文档传输协议HTTP
  3. 指定文档所在地址URL(Uniform Resource Locator,统一资源定位符)
TCP/IP
  • 应用层,各类通用的应用服务,FTP(File Transfer Protocol,文本传输协议),DNS(Domain Name System,域名系统),HTTP
  • 传输层,提供处于网络连接中的两台计算机之间的数据传输,TCP(Transmission Control Protocol,传输控制协议),UDP(User Data Protocol,用户数据报协议)
  • 网络层(网络互连层),处理网络上的数据包,数据包是网络传输的最小单位,该层规定通过怎样的路径(传输线路)到达对方计算机
  • 链路层(数据链路层,网络接口层),处理连接网络的硬件部分,包括操作系统、硬件的设备驱动NIC,光纤等硬件上的范畴均在次层处理
应用层 HTTP
传输层 TCP
网络层 IP
链路层 以太网

⚠️IP协议位于网络层,要区分与IP地址的区别;IP协议:作用是把各种数据包传送给对方,而要传送到对方最重要的2个条件就是IP地址和MAC地址,IP地址:指明节点被分配到的地址,MAC地址指网卡所属的固定地址,IP地址可变,MAC地址基本不会改变

  • 为了确保数据可靠性的传达TCP协议在通信前会先进行三次(three-way handshaking)握手策略。
C->>S: 标有SYN(synchronize)的数据包
S->>C: 收到SYN后,返回SYN/ACK的数据包
C->>S: 发送ACK数据包确认
  • DNS :提供域名到IP地址之间的解析服务
  • URI(Uniform Resource Identifier 统一资源标识符)标识某一互联网资源
  • URL(Uniform Resource Locator,统一资源定位符)表示资源地点互联网上所处的位置,URL是URI的子集

简单HTTP协议

  • C与S通过请求和响应的交换达成通信
  • HTTP 无状态stateless协议

HTTP 1.0、1.1 支持的方法

方法 说明 版本
GET 获取资源 1.0、1.1
POST 传输实体主体 1.0、1.1
PUT 传输文件 1.0、1.1
HEAD 获得报文首部 1.0、1.1
DELETE 删除文件 1.0、1.1
OPTIONS 询问支持的方法 1.1
TRACE 追踪路径 1.1
CONNECT 追踪路径 1.1
LINK 建立和资源之间的联系 1.0
UNLINE 断开连接关系 1.0
  • HTTP keep-alive
  • pipelining
  • Cookie状态管理
HTTP报文内的HTTP信息
报文首部
空行(CR+LF)
报文主体

⚠️CR:Carriage Return 回车 16进制0x0d; LF:Line Feed 换行 16进制0x0a;

  • 编码提升传输速率
  1. gzip : GNU zip
  2. compress : UNIX系统标准压缩
  3. deflate : zlib
  4. identity : 不进行压缩
  • 分隔发送的分块传输编码
  • 获取部分内容的范围请求
  • 内容协商返回最合适的内容