🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[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 验证