HTTP与HTTPS协议复习整理

187 阅读2分钟

这是我参与8月更文挑战的第15天,活动详情查看:8月更文挑战 ! src=http___www.jisuxia.com_uploadfile_2020_0120_20200120013609531.jpg&refer=http___www.jisuxia.jfif

HTTP协议

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议,是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)的建立在应用层的面向对象的协议。

1.支持客户/服务器模式。

2.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

3.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

4.无连接:每次请求一次,释放一次连接。所以无连接表示每次连接只能处理一个请求。优点就是节省传输时间,实现简单。

5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。

HTTPS协议

由于HTTP报文传输过程中是明文的,可以通过抓包的方式看到报文内容,这就暴露一个安全问题,易被劫持篡改。

为了解决这个问题,就有了 TLS(安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。)

该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)

TLS 利用非对称加密演算来对通信方做身份认证,之后交换对称密钥作为会谈密钥(Session key),因此 HTTPS 分为两个阶段

  1. 通过非对称加解密确认对方身份是否合法,若合法生成会话密钥。
  2. 报文的在发送前,先用会话密钥进行对称加密,在传输。

HTTP与HTTPS区别:

  1. HTTPS协议需要到CA申请证书。
  2. HTTP是超文本传输协议,信息是明文传输,HTTPS则是具有安全性的ssl加密传输协议。
  3. HTTP和HTTPS使用的是完全不同的连接方式,用的默认端口也不一样,前者是80,后者是443。
  4. HTTP的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。