图解HTTP-1-2-3
2016-09-25了解Web及网络基础
- CERN 欧洲核子研究组织的蒂姆•伯纳斯提出一种能让远隔两地的研究者们共享知识的设想
- WWW World Wide Web 万维网
3项WWW的构建技术
- 把SGML(Standard Generalized Markup Language, 标准通用标记语言)作为页面的文本标记语言的HTML(HyperText Markup Language,超文本标记语言)
- 文档传输协议HTTP
- 指定文档所在地址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
;
- 编码提升传输速率
- gzip : GNU zip
- compress : UNIX系统标准压缩
- deflate : zlib
- identity : 不进行压缩
- 分隔发送的分块传输编码
- 获取部分内容的范围请求
- 内容协商返回最合适的内容