1: HTTPS与HTTP的区别
HTTP:
全称: HTTP-Hypertext transfer protocol(超文本传输协议) 是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议HTTPS:
全称: Hypertext Transfer Protocol over Secure Socket Layer,是以安全为目标的HTTP通道,简单的说就是HTTP的加强安全版,也就是HTTP加入SSL(网络安全协议)层,实现HTTPS的安全基础就是SSL,所以实在SSL上进行数据加密的。两者的主要区别:
1: HTTP 的URL 以http:// 开头,而HTTPS 的URL 以https:// 开头
2: HTTP 是不安全的明文传输,而 HTTPS 是安全的加密传输
3: HTTP 标准端口是80 ,而 HTTPS 的标准端口是443
4: 在OSI 网络模型中,HTTP工作于应用层,而HTTPS 工作在传输层
5: HTTP 无法验证身份,而依赖于SSL证书的HTTPS 可验证服务器身份
6: HTTP无需证书,而HTTPS 需要正规CA wosign颁发的SSL证书
2: 什么是SSL/TLS?
简述:最初SSL协议是由netscape开发,并集成到浏览器中,用于保护HTTP传输安全性,作为在传输层和应用层之间的一层,对更多的需要保护数据安全性的协议进行封装。IETF以SSL协议为基础,提出了一种新的协议:TLS,建立在SSL V3.0的基础上,是SSL 3.0的后续版本,已经开始在实际应用中使用。
虽然TLS和SSL不能互操作,仅仅是因为他们使用的加密算法和MAC算法不同,协议本身差别非常细微。
3: HTTPS如何进行加密传输数据的?
在近期面试的时候,面试官问到我关于http和https的区别,当时也只是简单的解答一些上面介绍到的基础知识,这个时候面试官继续问我https中的s的含义,也只是回答S就是SSL (网络安全协议),然后面试官又问,在网络请求时,S是怎么加密传输的?,这个时候,我就傻逼了,当时没回答上来,确实,所有的开发都会进行网络请求数据,大学时,应该都学过关于一些这方面的知识,什么三次握手之类的等等,面试之后,就回来特意查了一些关于这方面的知识,我也不总结了,直接分享一个链接,上面讲解的很详细,点击如下链接即可:
链接:HTTPS 原理解析
4: 为什么苹果强制这样使用?
原因:
在访问互联网时,由于http的明文传输导致用户访问行为和隐私数据被盗用,网址输入正确,但内容确大相径庭,流量劫持、钓鱼攻击等安全事件频发。在公共区通过手机访问网络被附近黑客嗅探走网站登录口令,或者被互联网服务提供商秘密注入了广告。这一切都是由互联网开始之初面向自由互联开放的HTTP传输协议导致的,那么造成如此众多的安全事件的发生,HTTP面临的只有一种可能,就是被淘汰。
通过网站HTTPS,将数据从客户端输出就是密文数据,用户在任何网络链路上接入,即使被监听,黑客截获的数据都是密文数据,无法在现有条件下还原出原始数据信息。
5: 升级HTTPS的方法
目前升级到HTTPS的方法有两种:
- 通过第三方认证绑发的CA证书(推荐使用)
- 选择自己制作证书(不推荐使用)
参考链接:iOS 升级到HTTPS
6: 网络架构
OSI网络的七层架构和TCP/IP五层网络架构的区别?如下表所示:
- 简表
- 详表
- 注意点:
TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议
参考知识:
OSI网络的七层结构
OSI七层与TCP/IP五层网络架构详解
SSL/TSL协议
iOS 升级到HTTPS