HTTP 与 HTTPS

330 阅读2分钟

HTTP 和 HTTPS发展历史

什么是HTTP?

超文本的传输协议,是一个基于请求与响应,无状态的,应用层协议,常基于TCP/IP协议传输数据,互联网上应用最广泛的一种网络协议,所有的WWW文件都必须遵循这个标准,设计HTTP的初衷是为了提供一种开发和接收HTML页面的方法。

HTTP的特点

  1. 无状态:当你重复的发起请求,是不知道你是第几次发出请求的(没有任何凭证说明上一次你从请求中获得了什么)
  2. 无连接:由于无状态的特点,每次请求需要通过TCP三次握手四次挥手和服务器重新进行连接
  3. 基于请求和响应:基本特点,由客户端发起请求,服务端响应
  4. 简单快速、灵活
  5. 通信使用明文、请求和香型不会对通信方进行确认,无法保护数据的完整性

什么是HTTPS

HTTPS是一种通过计算机网络进行安全通信的传输协议,精油HTTP进行通信,利用SSL/TLS简历全信道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时交换数据的隐私与完整性。

HPPTS的特点

  1. 内容加密:采用混合加密技术,中间者无法直接查看明文内容

  2. 验证身份:通过证书从客户端访问的是自己的服务器

  3. 保护数据完整性:防止传输的内容被中间人冒充或者是修改

HTTP通信传输

客户端输入URL回车,DNS解析域名得到服务器的IP地址,服务器在80端口监听客户端请求,端口通过TCP/IP协议(可以通过Socket实现)建立连接。

TCP 三次握手

  1. 建立连接时,客户端先发送请求到服务器,并等待服务器的响应。

  2. 服务器收到请求,并返回客户端响应

  3. 客户端收到响应并发送确认收到响应的请求,服务器和客户端完成连接。

为什么需要三次握手呢?为了防止已失效的连接请求报文突然有传到了服务器,因而产生错误。

TCP 四次挥手

  1. 主动方向被动方发送结束请求
  2. 被动方做出响应,表示接收到结束请求
  3. 被动方也发出结束请求
  4. 主动放收到,并结束请求

为什么需要四次挥手呢?确保服务器是否已经收到了我们的报文,如果没有收到服务器会重新发报文给客户端

感谢阅读!!!