一、概念
HTTP:超文本传输协议(HTTP,HyperText Transfer Protocol),是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。
HTTPS:是一种通过计算机网络进行安全通信的传输协议,经由HTTP进行通信,利用SSL/TLS建立安全信道,加密数据包。HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。(TLS是传输层加密协议,前身是SSL协议,有时两者不区分)
SSL(Secure Sockets Layer):即安全套接字层,是一种标准安全协议,用于在在线通信中建立Web服务器和浏览器之间的加密链接。
TLS(Transport Layer Security):是SSL协议的升级版,TLS是传输层加密协议,前身是SSL协议。
二、特点
HTTP特点:
1.无状态:协议对客户端没有状态存储,对事物处理没有“记忆”能力,比如访问一个网站需要反复进行登录操作【可通过Cookie/Session技术或HTTP/1.1持久连接(HTTP keep-alive)方法解决用户一段时间内无需重新登录的问题】
2.无连接:HTTP/1.1之前,由于无状态特点,每次请求需要通过TCP三次握手四次挥手,和服务器重新建立连接。比如某个客户机在短时间多次请求同一个资源,服务器并不能区别是否已经响应过用户的请求,所以每次需要重新响应请求,需要耗费不必要的时间和流量。
3.基于请求和响应:基本的特性,由客户端发起请求,服务端响应
4.简单快速、灵活
5.通信使用明文,请求和响应不会对通信方式进行确认,无法保护数据的完整性
HTTPS特点:
1.内容加密:采用混合加密技术,中间者无法直接查看明文内容
2.验证身份:通过证书认证客户端访问的是自己的服务器
3.保护数据完整性:防止传输的内容被中间人冒充或篡改
三、总结
相比HTTP协议,HTTPS协议增加了很多握手(HTTPS的建立过程包括7次握手,除了TCP建立连接的三次握手,还包括TLS四次握手过程)、加密解密等流程,虽然过程很复杂,但其可以保证数据传输的安全。