http与https的差别

http 和 https 的区别

  • HTTP(Hyper Text Transfer Protocol,超文本传输协议)是一个客户端和服务器端请求和应答的标准(TCP)。客户端是终端用户,服务器端是网站。通过使用Web浏览器、网络爬虫或者其他工具,客户端发起一个服务器上指定端口(默认端口为80)的HTTP请求,这个客户端叫用户代理(User-Agent)。响应的服务器上存储资源,比如HTML文件和图像,在用户代理和服务器中间可能存在多个中间层,比如代理、网关或者隧道(Tunnels)。
  • HTTP协议传输的数据都是未加密的,也就是明文数据,因此非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而诞生了HTTPS。
  • HTTPS(Hyper Text Transfer Protocol orer Secure Sokcket Layer,可以理解为HTTP+SSL、TLS)在传输数据之前需要客户端(浏览器)与服务器(网站)中间进行一次握手,以确立双方加密传输数据的密码信息。
		HTTPS的SSL中使用了非对称加密、对称加密以及HASH算法。握手过程简单描述如下:
		(1) 浏览器将自己支持的一套加密规则发送给网站。
		(2) 网站充从中选取一组加密算法与HASH算法,将自己的身份信息以证书的形式发回给浏览器。证书里面包含网站地址、加密公钥以及证书的颁发机构等信息。
		(3) 获得网站证书之后浏览器进行相应的工作。
		(4) 网站接受浏览器发来的数据并进行相应的操作。
		(5) 如果浏览器解密并计算握手信息的HASH与服务端发来的HASH一致,此次握手过程结束。
		另外,HTTPS一般使用的加密算法与HASH算法如下。
		* 非对称加密算法:RSA、DSA/DSS。
		* 对称加密算法:AES、RC4、3DES。
		* HASH算法:MD5、SHA1、SHA256。
  • SSL握手过程中有任何错误都会使加密链接断开,从而阻止隐私信息的传输,正是由于HTTPS非常安全,攻击者无法从中找到下手的地方,因为更多的采用假证书的手法来欺骗客户端,从而获取明文的信息。
  • 46
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 24
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 24
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值