[TOC]
## 1. http请求
### 1.1 一次http发起请求的过程
![![](https://img.kancloud.cn/11/f0/11f0b4185c40967c7ffa0020a0a8b052_567x444.png)](images/screenshot_1578621736505.png)
在应用层的http向传输层的TCP协议族发送http数据以及tcp报文段,在网络层......,最终将数据发送到接收端。在这其中传输层与网络层的作用不容忽视
### 1.2 TCP协议(传输层)
为了方便大数据传输,将大数据分割成以报文段为单位的数据包进行管理(这也是字节流的概念)。而为了准确将数据送达,TCP协议采取了“[三次握手](https://www.cnblogs.com/Qing-840/p/9283367.html)”机制:A向B发送SYN标识数据包,B回传A带有SYN/ACK标识数据包,A再回传B带有ACK标识数据包,握手结束。在连接建立之后,采用[滑动窗口机制](https://baike.baidu.com/item/%E6%BB%91%E5%8A%A8%E7%AA%97%E5%8F%A3/8351795?fr=aladdin)来验证对方发送的数据。
### 1.3 IP协议(网络层)
ip协议的作用是将各种数据包传送给对方,在确保传送给对的地方时,需要满足各种条件,其中最关键的是ip地址与mac地址,ip地址指定节点被分配的地址,mac地址为网卡所属的固定地址。ip地址可变换,mac地址不可更改。详情见[ip地址与mac地址](https://blog.csdn.net/kenjianqi1647/article/details/81636898)
### 1.4 链路层
在数据链路层会将数据以帧的方式传输给对方
## 2. 安全问题
### 通信使用明文可能会被窃听
http本身并不具备加密功能,http报文使用明文方式发送就可能被窃听
## https
https 本质上是 http + SSL 验证