应用层协议: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协议传输数据(三次握手,四次挥手)

    这里写图片描述

  1. 客户端输入URL回车,
  2. DNS解析域名得到服务器的IP地址
  3. 服务器在80端口监听客户端请求,端口通过TCP/IP协议(可以通过Socket实现)建立连接。
  4. 报文从运用层传送到运输层,运输层通过TCP三次握手和服务器建立连接,四次挥手释放连接。

5. 缺点

  HTTP协议基于TCP进行传输的,其中传输的内容全都裸露在报文中,如果我们获取了一个HTTP消息体,那我们可以知道消息体中所有的内容。这其实存在很大的风险,如果HTTP消息体被劫持,那么整个传输过程将面临:

(1) 窃听风险(eavesdropping):第三方可以获知通信内容。

(2) 篡改风险(tampering):第三方可以修改通信内容。

(3) 冒充风险(pretending):第三方可以冒充他人身份参与通信。

  正因为HTTP协议的这个缺点, HTTP变成了一种不安全的协议

参考网址

  1. HTTP和HTTPS协议,看一篇就够了
  2. HTTPS协议的实现原理
原文地址:https://www.cnblogs.com/haimishasha/p/11372493.html