HTTP和HTTPS

发布时间 2023-03-27 15:35:33作者: ReTurn~~~~~~~

一、HTTP和HTTPS的基本概念

HTTP超文本传输协议(HyperText Transfer Protocol)

设计目的:提供一种发布和接受HTML页面的方法

HTTP是以明文方式发送信息,不安全。

HTTP原理

  • 通过TCP建立连接,端口号一般为80,建立连接后,客户端发送请求
  • 服务端收到请求后,给予相应的响应信息

HTTPS是以安全为目标的HTTP通道,是HTTP的安全版。HTPPS的基础是TSL/SSL。

TSl/SSL位于TCP/IP协议与各种应用层之间,为数据通信提供安全支持。

SSL协议可分为两层:

  • SSL记录协议,它建立在TCP之上,为高层协议提供数据封装、压缩、加密等功能
  • SSL握手协议,它建立在SSL记录协议之上,用于在实际传输开始前,通讯双方进行身份验证、协商密钥算法、交换加密密钥等

 

 

 HTTPS的设计目标:

  • 数据保密性
  • 数据完整性
  • 身份验证安全性

二、HTTP和HTTPS的区别

1. HTTP是以明文形式传输数据,HTTPS则是具有安全性的SSL加密传输协议

2. HTTPS的数据传输需要用到CA申请证书,需要一定费用

3. HTTP和HTTPS使用的连接方式不同,使用的端口也不同,HTTP使用80端口,HTTP使用443端口

4. HTTP的连接很简单,是无状态的。HTTPS是HTTP+SSL协议构成的可进行加密传输、身份验证的网络协议。

三、HTTPS相较于HTTP的改进

1. 双向的身份认证

步骤如下:

  • client发起SSL握手信息给server要求连接
  • server将整数发送给client
  • client检查证书的合法性
  • server要求client发送证书,并检验是否通过,认证成功后从客户端证书中获取客户端的公钥

2. 数据传输的机密性

client和server通信数据之前,会协商传输过程中使用的加密算法

3. SSL使用序列号保护通讯方免受报文重放攻击。

四、HTTPS的缺点

1. HTTPS握手比较费时,会使页面的加载时间延长

2. HTTPS连接缓存不如HTTP高效,会增加数据开销

3. HTTPS的安全是有范围的

4. SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPV4资源不足

5. 成本增加,HTTPS协议需要增加额外的计算资源消耗。

五、HTTPS的连接过程