环境:
Windows 10 家庭中文版
Google Chrome 108.0.5359.94 (正式版本) (64 位)
fiddler v5.0.20211.51073 for .NET 4.6.1 Built: 2021年12月15日
一. 概述
简述 HTTP/HTTPS
HTTP,全称为 HyperText Transfer Protocol,即 超文本传输协议。
HTTPS,全称为 Hypertext Transfer Protocol Secure,超文本传输安全协议。
因为这篇文章主要描述 HTTP 的工作模式,以及数据传输的格式,所以暂时忽略 HTTPS 的部分特性。
HTTP 是基于 TCP 协议的应用层传输协议,用于分布式、协作式和超媒体信息系统的应用层协议,是客户端和服务端进行数据传输的一种规则。
因为 HTTP 以明文的方式发送资源,不对数据进行加密,如果攻击者截取了 Web 浏览器和服务器之间的报文,可以直接读懂其中的信息,数据泄露的风险很大。为了增加数据的安全性而研发出了 HTTPS,HTTPS 对传输的内容进行了加密,HTTPS 还是使用 HTTP 进行通信,利用 SSL/TSL 来加密数据包。
HTTP 建立连接只需要执行 TCP 的三次握手即可进行数据传输,而 HTTPS 则需要在完成 TCP 的连接之后,还要完成 SSL/TSL 的确认。因此服务器处理 HTTP 请求的速度比处理 HTTPS 协议的速度快。
HTTP 是一种 无状态 (stateless) 协议,即不会对发送过的请求和相应的通信状态进行持久化处理。这样做的目的是为了保持HTTP协议的简单性,从而能够快速处理大量的事务, 提高效率。然而,在许多应用场景中,我们需要保持用户登录的状态或记录用户购物车中的商品。由于HTTP 是无状态协议,所以必须引入一些技术来记录管理状态,例如 Cookie 和 token。
URL
Uniform Resource Locator 统一资源定位符,通常叫做 URL。
Internet 上每一个网页都具有一个唯一的名称标识,WWW 为了管理众多的网络资源,定制了统一资源定位符,日常中,URL 就是 Web 地址,也就是网址;日常中见到的https://cn.bing.com
和https://www.baidu.com/
这些都是 URL。
URL 通常由这些参数组成: