HTTP和HTTPS

概念

HTTP

HTTP(HyperText Transfer Protocol:超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议
简单来说就是一种发布和接收 HTML 页面的方法,被用于在 Web 浏览器和网站服务器之间传递信息。

HTTPS

HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议或HTT Pover SSL)是一种透过计算机网络进行安全通信的传输协议。

区别

HTTP

  • HTTP 默认工作在 TCP 协议 80 端口
  • 用户访问网站 以http://打头
  • HTTP 协议以明文方式发送内容,不安全

HTTPS

  • HTTPS 默认工作在 TCP 协议443端口
  • 用户访问网站 以https://打头
  • HTTPS 经由 HTTP 进行通信,但利用 SSL(Secure Socket Layer,安全套接字层)/TLS(Transport Layer Security,运输层安全) 来加密数据包。

你也可以说:HTTPS = HTTP + SSL

HTTPS 在 HTTP 应用层的基础上使用安全套接字层作为子层。

过程

HTTP

浏览器打开一个 TCP 连接
浏览器发送 HTTP 请求到服务器端
服务器发送 HTTP 回应信息到浏览器
TCP 连接关闭

SSL

验证服务器端
允许客户端和服务器端选择加密算法和密码,确保双方都支持
验证客户端(可选)
使用公钥加密技术来生成共享加密数据
创建一个加密的 SSL 连接
基于该 SSL 连接传递 HTTP 请求

HTTPS

使用 HTTPS 连接时,服务器要求有公钥和签名的证书。
当使用 https 连接,服务器响应初始连接,并提供它所支持的加密方法。
作为回应,客户端选择一个连接方法,并且客户端和服务器端交换证书验证彼此身份。
完成之后,在确保使用相同密钥的情况下传输加密信息,然后关闭连接。
为了提供 https 连接支持,服务器必须有一个公钥证书,该证书包含经过证书机构认证的密钥信息,大部分证书都是通过第三方机构授权的,以保证证书是安全的。





 

posted @ 2019-07-08 18:57  程序猿小王  阅读(131)  评论(0编辑  收藏  举报