http和https的区别是什么呢?
发布:smiling 来源: PHP粉丝网 添加日期:2022-08-11 11:57:00 浏览: 评论:0
http和https最主要的差别就是http是明文传输数据,而https传输的数据经过加密。
什么是http
HTTP,英文全称 Hyper Text Transfer Protocol,中文全称“超文本传输协议”,按照OSI参考模型,它属于第七层应用层的协议。HTTP的作用是提供了一组规则和标准,用于控制如何在万维网上传输任何信息,提供了Web浏览器和服务器进行通信的标准规则。目前主要使用的是HTTP/1.0 和 HTTP/1.1 两个版本,主流使用的是 HTTP/1.1。
http使用场景
当在浏览器输入网址按回车之后,默认自动会在网址前面加上http://。它表示浏览器与web服务器通过http协议进行连接和传输数据。当浏览器获得http响应之后,会进行渲染,变成我们可以看到的网页。
http工作原理
http是基于C/S结构的协议,浏览器在向服务器发送请求之前,首先需要建立TCP连接,然后才能发送HTTP请求报文,并接收HTTP响应报文。
http请求响应过程大概可以分为四步:
(1)客户端请求服务器建立连接;
(2)连接建立后,客户端向服务器发送http请求;
(3)服务器接收到http请求后,并根据请求做相应的响应;
(4)完成请求之后,客户端与服务端断开连接。
什么是https
https,英文全称 Hyper Text Transfer Protocol over SecureSocket Layer,中文全称 超文本传输安全协议。是在http的基础上加上TLS/SSL协议,通过加密传输和身份验证保证传输的安全性。https最初是基于ssl,后来ssl协议升级并命名为tls协议,目前tls协议最新版本是tls1.3,主流使用的是tls1.2版本。
有了http了,为什么需要https?
http能完成网站浏览服务,但是也有很明显的安全缺陷,主要是明文传输数据和缺乏信息完整性校验,通俗理解就是,双方传输的数据可以被第三方窃取,知道你传输的是什么内容,甚至还可以对数据进行修改,双方却无法察觉到。特别是在网站登录和网络支付的时候,使用http更致命。
http的风险总结为:
(1)窃听风险,第三方可以获取通信内容
(2)篡改风险,第三方可以修改通信内容
(3)冒充风险,第三方可以冒充他人参与通信
https的作用
https就是为了解决http的风险而设计的
(1)数据加密,通信的数据都是加密的,无法被窃听
(2)完整性校验,加密的通信数据,经过消息完整性校验MAC,防止被篡改
(3)身份验证,TLS握手过程使用的证书是经过权威CA签名的,进行身份验证,防止身份假冒
https工作原理
http和https的区别
安全性不一样。http没有用于数据加密和数据完整性校验的安全机制,而https通过数字证书来保障双方的通信
监听端口不一样。http监听80端口,而https监听443端口
传输内容不一样。http以纯文本格式明文传输,而https以密文格式传输
协议头不一样。http的URL以"http://"开头,而https的URL以"https://"开头
结束语
综上所述,http和https最主要的差别就是http是明文传输数据,而https传输的数据经过加密。
网友二:
能问这个问题的,一般都不怎么专业。
那些把专业知识搬过来甚至大段复制的文章,估计用处不大。
简单说,就是数据传输时一个有加密一个没有加密。加密的安全性更高一些。
这就好比你寄一扎花给王路,并写了一张求爱条,http就是你把花和纸条直接交给送信人,让他转交给另一方。中间所有经手过的包括旁边看到过的,都知道你给王路送了花,还有上面的写的求爱信内容。
而https就好比你把花和信装到一个箱子里加上锁,再通过快递寄给王路,那么中间所有经过手的人,只知道你给王路寄了个箱子,里面装了什么写了什么不知道。
王路收到货后,用钥匙打开,才能看到里面的东西。
那这个钥匙你并没有寄给王路啊,它怎么打开呢?
这就是浏览器的安全机制。浏览器自己准备好了所有合法厂家的钥匙,而且有标记,哪个网站用什么钥匙打开,只有是你的信息信息,你才能打开,其它人是无法打开的。
采用https协议的网站,它需要先申请一个安全证书,这些证书通常都是大公司,获得了浏览器开发者认可的。只有这个证书合法有效,浏览器才承认,也才备有钥匙,才能解密。
当然,现在也有利用中间人攻击解密这些信息的,但那也要在电脑中添加它自己的证书才行,所以,除非你主动认可安装了证书,其它人是很难解密https传送的信息的。安全性当然就高一些。
网友三:
Http是超文本传输协议的缩写,而https是安全的超文本传输协议。我没看到的网页都是通过https或者http进行传输的。最早的时候是HTTP协议。近些年处于安全的考虑,大部分已更换为https。
正所谓安全的超文本传输协议,通俗的错,就是超文本传输协议所传输的内容被加密了。因为我们的数据在互联网中传播,比较容易遭受第三方黑客的截获篡改,而以前的http使用的是明文传输,黑客结伙以后完全可以看到里面的内容,即便把它篡改了客户端,也无法知道,所以为了安全我们改用https。
HtppHttp是明文传输的,而https是加密传输的,Https其实就是在原有的http之上增加了SSL/TLS 加密协议协议!所以在传输速度方面,http 要比https要快一些!
网友四:
HTTP:超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议[1]。HTTP是万维网的数据通信的基础。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。通过HTTP或者HTTPS协议请求的资源由统一资源标识符(Uniform Resource Identifiers,URI)来标识。
HTTPS:超文本传输安全协议(英语:Hypertext Transfer Protocol Secure,缩写:HTTPS,常称为HTTP over TLS,HTTP over SSL或HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。这个协议由网景公司(Netscape)在1994年首次提出,随后扩展到互联网上。历史上,HTTPS连接经常用于万维网上的交易支付和企业信息系统中敏感信息的传输。在2000年代晚期和2010年代早期,HTTPS开始广泛使用于保护所有类型网站上的网页真实性,保护账户和保持用户通信,身份和网络浏览的私密性。
网友五:
可以阅览相应文章。
HTTP以明文传输,我在电脑上输入密码123456、传输的过程中,第三方可以看到密码123456,并加以篡改、程序后台也能看到123456,没有任何隐私性、防篡改。
而HTTPS为密文传输,有一个密钥对:公钥和私钥。这些密钥协同工作以建立加密连接。证书还包含所谓的“主题”,即证书/网站所有者的身份。
Tags: http和https的区别是什么
- 上一篇:苹果手机关闭Siri,真的省电吗?有何依据?
- 下一篇:最后一页
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)