https是什么?
https叫做超文本传输安全协议,比http多了安全两个字,他是在http的基础上加入SSL/TLS来进行数据加密,保护交互的数据不会被恶意窃取或者泄露; 复制代码
1 http与https的一些区别:
一、http是超文本传输协议,传输比较简单,数据应用层的信息传输;https则是具有SSL/TLS加密后的超文本传输安全协议,传递数据进行了加密,更加不容易被窃取
二、证书方面:http的传输不需要证书验证,而https的传输需要到证书颁发机构申请证书;
三、本质上它们是两种不同的传输协议和连接方式,在端口号上也是有区别的http使用的是80端口号,https则使用的是443端口号。
四、http属于无状态传输,每两个请求之间没有任何联系,都是独立的;https协议是由加密传输与身份验证,比http协议更加安全。
五、https是被浏览器更加推荐的,在主流浏览器中可以看到,http的协议会被浏览器标上不安全的警告;
复制代码
疑惑:
https很安全,但为什么有些大公司还是使用http呢;
主要是用户体验和成本考虑:
1、SSL证书需要购买申请,功能越强大的证书费用越高。
2、SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个小号(SSL有扩展可以部分解决这个问题,但比较麻烦,而且要求浏览器和操作系统的主持,Windows XP就不支持这个扩展,考虑到XP的装机量,这个特性几乎没用)。
3、根据ACM CoNEXT数据显示,使用HTTPS协议会使页面加载时间延长50%,增加10%到20%的耗电。
4、HTTPS连接缓存不如http高效,流量成本高,
5、HTTPS链接服务器端资源占用高很多,支持访客多的网站需要投入更大的成本。
6、HTTPS协议握手阶段比较费时,对网站响应速度有影响,影响用户体验。**比较好的方式是采用分而治之,比如某些大型公司,首页使用的是http协议,而比较敏感的页面使用的是https协议 **
复制代码