HTTP的中文意思超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。而HTTPS是HTTP基于SSL加密后的传输协议。
访问的流程如下图。
客户端发送请求。请求首先会经过路由器/交换机/电信运营商处理后,发送给DNS解析器, 解析得到公网IP地址。根据公网IP地址找到服务器,服务器返回响应。再经过路由器/交换机/电信运营商返回到浏览器。经过第四步,我们的客户端(浏览器)就会拿到服务器返回的HTML文本,和对应的CSS、JS文件来渲染我们最终看到的网页。然而,HTTP协议是明文的,只要获悉了HTTP响应的格式,中间人就能轻易地对我们获取到的响应进行篡改。所以就有了基于SSL协议加密的HTTPS协议。
对于SSL协议,百度百科的解释是:“Secure Socket Layer,为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取及窃听。一般通用之规格为40 bit之安全标准,美国则已推出128 bit之更高安全标准,但限制出境。只要3.0版本以上之I.E.或Netscape浏览器即可支持SSL。”
总之,SSL就是可以将你的HTTP请求和服务器返回的响应加密。流程图如下图,图看着有些复杂,实际就是多了使用证书加密和解密的过程。
以上是本人对HTTP和HTTPS响应过程的理解,错误之处望指正。
