一、TCP(传输控制协议)
1. 宏观介绍
- TCP:全称“Transmission Control Protocol”——传输控制协议,是互联网最基础的传输协议之一。传输层协议,提供面向连接、可靠的字节流传输服务。它通过三次握手建立连接、四次挥手断开连接,确保数据有序、完整地传输
- 作用:让两个设备(比如你的电脑和服务器)之间建立一条“可靠的连接”来传输数据。
2. 它是做什么的?
- 连接导向:在通信开始前,双方先“握手”建立连接。
- 可靠传输:确保每个数据包都能到达,而且是按顺序的,没有丢失。
- 流控和拥塞控制:控制数据传输速率,避免网络堵塞。
3. 它的工作原理(简单版)
- 三次握手(建立连接):
- 客户端发“请求连接”包
- 服务器响应“确认”包
- 客户端再确认一次,连接建立完毕。
- 数据传输:
- 以“数据包”的形式,确认每个包都收到后,才会继续发下一包。
- 如果包丢失或错误,自动重发。
- 四次挥手(断开连接):
- 关闭连接时,双方互相确认断开,确保没有数据遗漏。
4. 特点和优缺点
- 优点:
- 可靠,确保数据完整到达。
- 顺序到达,消息有序。
- 支持流控(控制速率)和拥塞控制。
- 缺点:
- 连接建立的过程比较复杂(三次握手)。
- 传输效率因确认和重传机制较低(相对其他协议)。
5. 适用场景
- 需要可靠性的传输:比如文件传输(FTP)、电子邮件、即时通讯(聊天更喜欢用TCP的基础,由应用协议控制)。
二、HTTP(超文本传输协议)
1. 宏观介绍
- HTTP:“HyperText Transfer Protocol”,超文本传输协议,是Web浏览器和Web服务器之间的通信协议。应用层协议,基于 TCP,用于客户端与服务器之间的请求-响应交互。常用于网页数据传输(如 HTML、图片)
- 作用:用来请求网页、图片、视频等内容,以及上传、提交表单。
2. 它是怎么工作的?
-
无连接:默认每次请求完成就断开连接(HTTP/1.0),也支持保持连接(HTTP/1.1 默认保持连接)。每次请求独立,需 Cookie/Session 维持状态。
-
请求-响应模型:
- 客户端(浏览器)发起请求(GET、POST等方法)到服务器。其他如
PUT
、DELETE
(RESTful API 常用) - 服务器处理请求,返回资源(网页、图片等)或响应状态(如
- 客户端(浏览器)发起请求(GET、POST等方法)到服务器。其他如