应用层协议:HTTP
1. HTTP定义
HyperText Transfer Protocol,超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。
HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。
使用TCP端口为:80
2. HTTP历史
3. HTTP多路复用
https://blog.csdn.net/xiaoming100001/article/details/81109617
多路复用:通过单一的HTTP/2连接请求发起多重的请求-响应消息,多个请求stream共享一个TCP连接,实现多留并行而不是依赖建立多个TCP连接。
4. HTTP报文格式
5. HTTP通信传输
超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据(三次握手,四次挥手)
- 客户端输入URL回车,
- DNS解析域名得到服务器的IP地址
- 服务器在80端口监听客户端请求,端口通过TCP/IP协议(可以通过Socket实现)建立连接。
- 报文从运用层传送到运输层,运输层通过TCP三次握手和服务器建立连接,四次挥手释放连接。
5. 缺点
HTTP协议基于TCP进行传输的,其中传输的内容全都裸露在报文中,如果我们获取了一个HTTP消息体,那我们可以知道消息体中所有的内容。这其实存在很大的风险,如果HTTP消息体被劫持,那么整个传输过程将面临:
(1) 窃听风险(eavesdropping):第三方可以获知通信内容。
(2) 篡改风险(tampering):第三方可以修改通信内容。
(3) 冒充风险(pretending):第三方可以冒充他人身份参与通信。
正因为HTTP协议的这个缺点, HTTP变成了一种不安全的协议。
参考网址