Http:是超文本传输协议;是互联网应用最广泛的一种网络协议,是一个客户端和服务器请求和应答的标准(TCP),用于www服务器传输的超文本协议到本地浏览器的传输协议,不提供任何方式的数据加密。
Https:是安全超文本传输协议;它是一个安全通道,是基于HTTP夫人开发,用于客户计算机和服务器之间交换信息。HTTP下加入了SSL层使用40位关键字作为RC4流的加密算法。
HTTPS协议的主要作用可以分为两种:一种是建立信息安全通道,来保证数据传输的安全性;另外一种是确认网站的真实性。
HTTP是基于TCP的无连接、无状态的HTTP协议;而HTTPS则TCP协议之上入了一层SSL\TSL协议,该协议会结合证书对客户端和服务器之间的通信进行加密,确保安全性和可靠性。
区别
http明文传输无加密https是安全的加密传输,对通信信息进行了加密;
http与https 的URL开通不一致; http://开头,而https 是以 https:// 开头。
http是超文本传输协议,https则是具有安全性的SSL加密传输协议。
http的标准端口是80,而https的端口是443
在OSL网络模型中http是应用于应用层,而https是在传输层。
1)、地址解析
如客户端浏览器请求的这个页面: http://localhost:8080/index.index
从中分析出协议名、主机名、端口名、对象路径等,而对于上面的地址我们可以得到的结果如下:
协议名:http
主机名:localhost.com
端口:8080
对象路径:index.html
2)、封装HTTP请求的数据信息
把以上部分结合本机自己的信息,封装成一个HTTP请求数据包。
3)、封装成TCP包,建立TCP连接(TCP的三次握手)
在HTTP工作之前,客户机首先要通过网络与服务器简历连接,该链接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的tcp/ip 协议族,因此又被称为 TCP/IP网络。
HTTP是比TCP更高层次的应用层协议,根据规则只有底层协议建立之后才能进行更高层协议的连接。
4)、客户机发送指令
建立连接后,客户机发送一个请求给服务器,请求的方式为:统一资源标识符(URL)、协议版本号,后面是MIMME信息包括请求修饰符、客户及信息和可见内容。
5)、服务器响应请求
服务器响应后给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能信息。
实体信息是服务器向浏览器发送头信息后,他会发送一个空白行表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据。
6)、关闭服务器的TCP连接
一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行代码
**2、HTTPS工作原理或过程**
1)、客户端使用https 的 url 访问服务器443端口,要求建立SSL连接。
2)、服务器收到请求后,将网站的证书信息(CA证书的公钥)传送一份给客户端。
3)、客户端收到公钥后,首先会验证证书是否存在问题,若没有问题就生成一个随机值,然后用服务器给的公钥对该随机值进行加密,最后发送给服务器。
4)、服务端收到数据后,利用证书的私钥进行解密,得到随机值,将该随机值作为后继通信的私钥,对后继的传输信息进行加密。
5)、客户端后继收到的数据,利用该随机值进行解密得到真正的内容。