斗转星辰,http多了s星星的点缀。或许看到http与https不新奇,好奇题目中的“巧看”吧,可以说是巧合的遇见吧,如果伯乐这里有巧妙的解析,小编也不介意。想起学海无涯乐作舟的耳畔,博文是不是也可以快乐地展现。
说起http与HTTPS,源于最近用新框架做的项目。搭好框架写好测试方法,看基本启动胜利在握可以运行页面测试时,只是偏偏地在网页中输入地址怎么也找不到页面,查看了方法与配置找不到问题的所在,这样从浏览器上输入的地址着手吧,只看其他也看不出什么问题,不同的是地址协议是https。把https改成了http,奇迹出现了页面自然地展示在眼前。从而,有这样的一个疑问:http与https有什么区别?
HTTP,一种网络协议,在互联网中广泛应用,是一个客户端和服务器端请求和答应的标准(TCP),是超文本传输协议用于从www服务器传输超文本到本地浏览器的传输协议。
HTTPS,全称是Hypertext Transfer Protocol over Secure Socket Layer,即超文本传输协议在安全加密字层。是基于HTTP开发,是以安全为目标的HTTP通道,简单地说是HTTP的安全版。 HTTPS的安全基础是SSL,这个协议的作用是建立一个信息安全通道,另一个作用是确认网站的真实性。
两者之间的关系,我们可以用一幅简单地图形象表达:
了解了关系,它们之间的区别是什么呢?
1.http中信息是明文传输,https则具有安全性SSL加密;
2.http和https使用的用的端口也不一样,前者是80后者是443,是完全不同的连接方式;
3.转态与安全性不同:http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
那么怎么体现https的安全性,它的工作原理我们可以用一张图形象展示:
这样也可以解释项目中遇到的问题,将https改成http之后就可以显示页面的原因,它们是完全不同的连接方式。至此,https出现的原因也显而易见了吧:
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。
为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。
从起因到概念认识、区别与连接、https出现原因,对它们应该有一个基本的了解,深入的知识进一步的学习中了解,敬请期待。