http协议的缺点和确保web安全的https协议

http协议介绍

超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础。
设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通过HTTP或者HTTPS协议请求的资源由统一资源标识符(Uniform Resource Identifiers,URI)来标识。

http协议的优点

  1. 必有客户端和服务端
  2. 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、DELETE、POST。每种方法规定了客户与服务器联系的类型不同。
  3. 通信速度快:由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
  4. 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
  5. 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
  6. 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

注:http0.9没有实现持久连接。 http1.0需要自行添加keep-alive参数。http1.1默认持久连接
因为实现了持久连接。所以就可以实现多请求同时发送(管线化)

http的缺点

  • 通讯使用明文,未加密,并且 TCP/IP 协议是可能会被窃听的网络,所以通讯内容可能会被窃听
  • 没有验证通讯方的身份,因此可能会遭遇伪装
  • 没有办法验证报文的完整性,所以可能会被篡改

https协议

http+加密+认证+完整性保护 = https

《http协议的缺点和确保web安全的https协议》
http直接和tcp通信,但是https是http先和ssl协议通信。然后再ssl和tcp通信

解决明文问题

https解决明文问题是采用混合密钥加密的方法。即并用共享密钥加密和公开密钥加密

《http协议的缺点和确保web安全的https协议》
ps:共享密钥加密是双方都用相同的密钥加密解密。速度较快。但是不安全。因为攻击者拿到密钥就可以解密信息如des,aes
公开密钥加密是发送者用一个公开密钥加密。接收者用私有密钥解密。安全,但是速度慢

注:https虽然安全。但是加密和解密会占用内存和cpu。相比http慢2-100倍。而且还要付费。对于安全需求不高的网站还是用http

https解决认证问题

《http协议的缺点和确保web安全的https协议》

  1. 用户将用户名和密码以post的形式发到服务器
  2. 服务器发放sessionId绑定用户信息。并返回给客户端
  3. 客户端接收sessionId并保存cookies。下次发送请求时就把cookies发送给服务器。服务器验证是否是同一用户

https解决数据完整性问题

摘要算法
数字摘要是采用单项Hash函数将需要加密的明文“摘要”成一串固定长度(128位)的密文,这一串密文又称为数字指纹,它有固定的长度,而且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。“数字摘要“是https能确保数据完整性和防篡改的根本原因。
明文 –> hash运算 –> 摘要 –> 密钥加密 –> 数字签名

    原文作者:HTTP
    原文地址: https://segmentfault.com/a/1190000015137106
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞