一,http
介绍
基础中的基础,每天都在用
1.HTTP
协议(超文本传输协议)是万维网数据通信的基础,采用请求响应模式,用于web
浏览器和网站服务器之间数据传输。
2.HTTP
协议是基于传输层tcp/ip
协议上的应用层协议。
3HTTP
协议数据已明文传输的,传输的数据是原始数据没有被加密过,若网站攻击者截取了传输报文就可以直接读取里面的内容。
二,https
介绍
和
http
一样,就是多了ssl
验证层,更安全可靠
1.HTTPS
(超文本安全传输协议)基于HTTP
协议,在http
协议和传输层tcp
协议之间多了一层SSL
协议
(1)用于身份认证来确认网站的真实性
(2)报文数据加密传输保证数据传输的安全。
三,http
/https
请求/响应过程
先建立
tcp
连接,在传输数据,https
在tcp
连接之前,还需要ssl
层的证书认证
1.第一步客户端和服务端要先建立tcp
套接字连接,涉及到tcp连接(三次握手)。
2.第二步客户端向服务端发送HTTP
请求,一个请求报文由请求行、请求头部、空行和请求体4部分组成。
3.第三歩服务器接受请求并返回HTTP响应,一个响应报文由状态行、响应头部、空行和响应数据4部分组成。
4.第四歩,传输结束后释放TCP连接(四次挥手)。
5.注意https
除了涉及tcp
连接,还需要ssl
层证书认证的报文交换
四,http
和https
比较
https
并不是都是好处,也是有缺点的
1.http
在建立了tcp
连接后,数据已明文传输,没有加密,容易被获取,https
在http
和tcp
之间多了ssl
层,用于身份认证确认网站的真实性和建立安全通道,数据加密传输,保证了传输的安全性。
2.https
需要申请ca
证书,需要费用,安全等级越高的ca
证书,费用越高,http
不需要
3.http
和https
的连接方式和默认端口号也不一样,http
连接经历三握四挥,http
连接在三握四挥之前,还有ssl
层的报文交换,http
的默认端口是80
,https
的是443
端口
4.http
由于少了ssl
层所以性能比https
好,对服务器的压力更小
5.http
可以被浏览器缓存,而https
不可以被浏览器缓存