TCP/IP、HTTP 和 HTTPS简介
我们来系统地介绍一下 TCP/IP、HTTP 和 HTTPS。它们之间的关系可以概括为:HTTP 和 HTTPS 是运行在 TCP/IP 基础网络架构之上的具体应用协议。
为了更直观地理解它们之间的关系,我们可以参考下面的网络分层模型:
flowchart TDsubgraph A [应用层 - 定义应用数据的格式与功能]direction LRA1[HTTP]A2[HTTPS<br>=HTTP + TLS/SSL]endsubgraph T [传输层 - 建立“端到端”的可靠连接]T1[TCP]endsubgraph N [网络层 - 负责“点对点”的地址与路由]N1[IP]endsubgraph L [网络接口层 - 负责在物理网络中传输帧]L1[以太网 Ethernet<br>Wi-Fi 等]endA -- 承载于 --> TT -- 承载于 --> NN -- 承载于 --> L
下面我们来详细解释每一部分。
1. TCP/IP - 互联网的基石
TCP/IP 不是一个协议,而是一个协议族(Protocol Suite),它是整个互联网通信的基础架构。
- 设计思想:采用分层模型(如上图所示),每一层负责不同的通信功能,层与层之间相互独立。这种设计使得网络更具灵活性和可扩展性。
- 核心组成:
- IP (Internet Protocol - 网际协议):位于网络层。它主要负责两件事:
- 寻址:为互联网上的每一台设备分配一个唯一的逻辑地址,即 IP 地址(如
192.168.1.1
)。 - 路由:将数据包从一个网络设备传输到另一个设备。它会把数据分割成一个个的“包”(Packet),并尽力将它们送到目的地。但IP协议本身是不可靠的,它不保证数据包一定能到达、也不保证按顺序到达。
- 寻址:为互联网上的每一台设备分配一个唯一的逻辑地址,即 IP 地址(如
- TCP (Transmission Control Protocol - 传输控制协议):位于传输层。它在IP协议的基础上,提供了可靠的、面向连接的通信服务,弥补了IP协议的不足。
- 可靠性:通过确认机制、重传机制、校验和等来确保数据完整无误地到达。
- 面向连接:在传输数据前,会先进行“三次握手”建立连接,传输结束后再进行“四次挥手”断开连接。
- 顺序保证:对数据包进行排序,确保接收方收到的数据顺序和发送方一致。
- 比喻:如果把数据传输比作寄信:
- IP协议负责的是在信封上写地址,并把信件扔进邮筒。它只管送,不保证对方一定能收到。
- TCP协议则像是一家可靠的快递公司,它确认地址无误(建立连接),如果信件在途中丢失,它会重新再寄一份(重传),并且确保收件人按正确的顺序收到所有信件(排序)。
- IP (Internet Protocol - 网际协议):位于网络层。它主要负责两件事:
简单总结:TCP/IP 是底层负责通信的基础设施,它定义了数据如何打包、寻址、传输、路由和接收,确保数据能从一台计算机的某个程序准确无误地送达另一台计算机的某个程序。
2. HTTP - Web通信的语言
HTTP (HyperText Transfer Protocol - 超文本传输协议) 是构建在 TCP/IP 基础之上的应用层协议。它是万维网(WWW)的数据通信基础。
- 作用:它定义了客户端(通常是Web浏览器)和服务器之间如何交换信息。它专门负责传输超文本(如HTML网页)、图片、CSS、JavaScript等Web内容。
- 工作模式:基于经典的请求-响应模型。
- 客户端(浏览器)向服务器的特定端口(默认80)发起一个 HTTP请求。
- 服务器处理请求后,返回一个 HTTP响应。
- 特点:
- 无状态:每个请求都是独立的,服务器不会记住上一次的请求是谁发的。这简化了服务器设计,但需要通过Cookie、Session等技术来跟踪用户状态(如登录状态)。
- 明文传输:HTTP传输的数据(包括密码、信用卡号等敏感信息)都是未加密的明文。这意味着数据在传输过程中可能被中间人窃听或篡改,非常不安全。
简单总结:HTTP 是Web的“普通话”,浏览器和服务器都用它来“对话”,但它说话是公开的,谁都能听见,不安全。
3. HTTPS - 安全的HTTP
HTTPS (HyperText Transfer Protocol Secure - 超文本传输安全协议) 不是一个新的协议,而是 HTTP over SSL/TLS 的简称。
- 本质:它在HTTP和TCP之间加入了一个安全层(SSL/TLS协议)。
- 作用:这个安全层主要提供三个核心安全功能:
- 加密:通过SSL/TLS证书对通信内容进行加密,防止数据在传输过程中被窃听。即使被截获,攻击者看到的也只是乱码。
- 完整性校验:通过摘要算法验证数据在传输过程中是否被篡改。
- 身份认证:通过SSL证书验证网站服务器的真实性,防止用户访问到假冒的钓鱼网站。(浏览器地址栏的锁标志“🔒”就代表此认证已通过)。
- 工作端口:默认使用443端口。
- 与HTTP的关系:HTTPS = HTTP + 加密 + 认证 + 完整性保护。
简单总结:HTTPS 是穿着盔甲、戴着防伪面具的HTTP。它用加密来防窃听,用认证来防假冒,用校验来防篡改,极大地提升了Web通信的安全性。 现在,HTTPS已经成为所有网站的标配,尤其是涉及用户隐私和支付的网站。
总结与关系
特性 | TCP/IP | HTTP | HTTPS |
---|---|---|---|
层级 | 网络层、传输层 | 应用层 | 应用层(HTTP + SSL/TLS) |
角色 | 互联网通信的基础架构 | Web内容的传输协议 | 安全版的Web内容传输协议 |
安全性 | 不直接提供安全保证 | 不安全,明文传输 | 安全,加密传输 |
功能 | 寻址、路由、建立可靠连接 | 定义Web请求和响应的格式 | 在HTTP基础上增加加密、认证 |
比喻 | 高速公路和交通规则 | 在高速公路上运输的明信片 | 在高速公路上运输的加密保险箱 |
最终关系可以理解为:
HTTPS 是在 HTTP 之上增加了安全保障,而 HTTP 和 HTTPS 又是依靠底层的 TCP/IP 协议来最终完成数据传输的。