HTTP和HTTPS整理
HTTP和HTTPS
1.HTTP
什么是HTTP协议
HTTP协议全称Hyper Text Transfer Protocol,翻译过来就是超文本传输协议,位于TCP/IP四层模型当中的应用层。
- 应用层(HTTP/FTP)
- 传输层(TCP/UDP)
- 网络层(IP/ARP)
- 数据链路层
HTTP协议通过请求和响应的方式,在客户端和服务端之间进行通信。但由于HTTP传输的文本是明文的,不做任何加密,这样就会被第三方截取并篡改,所以说HTTP非常不安全。
2.HTTPS
・什么是HTTPS
HTTPS就是HTTP的加强版,使用HTTP+SSL加密传输文本,达到信息安全的目的。
加密原理:服务器端向权威的证书机构申请一个证书,证书是由权威机构的私钥将服务器的公钥进行加密,并且通过服务端网址等信息做成一个证书签名,证书签名同样经过权威机构的私钥加密。当客户端向服务端发请求时,服务端首先将证书返回给客户端,各大浏览器客户端已经维护了权威机构的名称和公钥,这样客户端就会通过机构名称和公钥进行解密证书并验证证书签名,在通过服务端的公钥将客户端的私钥加密发给服务端,这样服务端和客户端就可以通过客户端的私钥进行请求和响应。
・流程图:
1.服务端向权威机构发公钥
2.权威机构使用自己的私钥将服务端的公钥和签名加密做成证书返回给服务端
3.客户端向服务端发请求
4.服务端将证书返回给客户端
5.客户端检查证书,使用权威机构的公钥解密证书,使用服务端的公钥加密自己的私钥,然后发给服务端
6.服务端用自己的私钥解密,获取客户端的私钥,之后客户端与服务端正常通信
3.HTTP与HTTPS其它区别
1.http和https使用的是完全不同的连接方式用的端口也不一样,前者是80,后者是443。