HTTP与HTTPS

1、什么是HTTP?

HTTP是超文本传输协议(它是一种协议),是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。HTTP基于TCP/IP通信协议来传递数据。

2、什么是HTTPS?

HTTP over SSL

HTTPS是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,用SSL/TLS建立全信道,加密传输的数据包。

使用的目的是提供对网站服务器的身份认证,保护交换数据的隐私和完整性。

TLS是传输层加密协议,前身是SSL协议。

3、HTTP特点

  • 无状态:协议对客户端没有状态存储,对事物处理没有“记忆”能力,比如访问一个网站需要反复进行登录操作
  • 无连接:HTTP/1.1之前,由于无状态特点,每次请求需要通过TCP三次握手四次挥手,和服务器重新建立连接。比如某个客户机在短时间多次请求同一个资源,服务器并不能区别是否已经响应过用户的请求,所以每次需要重新响应请求,需要耗费不必要的时间和流量。
  • 基于请求和响应:基本的特性,由客户端发起请求,服务端响应
  • 简单快速、灵活
  • 通信使用明文、请求和响应不会对通信方进行确认、无法保护数据的完整性

HTTP的无状态可以使用

  • Cookie/Session技术对HTTP通信状态进行保存,使用户在登录方面更加方便。
  • HTTP/1.1持久连接(HTTP keep-alive)方法,只要任意一端没有明确提出断开连接,则保持TCP连接状态,在请求首部字段中的Connection: keep-alive即为表明使用了持久连接

4、HTTPS特点

  • 基于HTTP协议,通过SSL或TLS提供加密处理数据、验证对方身份以及数据完整性保护

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

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

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

  • 客户端使用对称加密生成密钥传输数据进行加密,然后使用非对称加密的公钥再对密钥进行加密,所以网络上传输的数据是被秘钥加密的密文和用公钥加密后的秘密秘钥,因此即使被黑客截取,由于没有私钥,无法获取到加密明文的秘钥,便无法获取到明文数据。

  • 数字摘要:通过单向hash函数对原文进行哈希,将需加密的明文“摘要”成一串固定长度(如128bit)的密文,不同的明文摘要成的密文其结果总是不相同,同样的明文其摘要必定一致,并且即使知道了摘要也不能反推出明文。

  • 数字签名:数字签名建立在公钥加密体制基础上,是公钥加密技术的另一类应用。它把公钥加密技术和数字摘要结合起来,形成了实用的数字签名技术。

所以:

  • 收方能够证实发送方的真实身份
  • 发送方之后不能否认自己所发送过的报文
  • 收方或非法者不能伪造、篡改报文

非对称加密的公钥存在于数字证书中,数字证书通常使由受信任的数字证书颁发机构CA在验证服务器身份之后颁发,证书中包含了一个密钥对(公钥+私钥)和所有者识别信息。

数字证书被放到服务端,具有服务器身份验证和数据传输加密功能。

5、HTTP通信传输的流程图

放到服务端,具有服务器身份验证和数据传输加密功能。**

5、HTTP通信传输的流程图

HTTP流程图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值