计算机网络之HTTP和HTTPS的区别(文末送书福利)

avatar
作者
筋斗云
阅读量:0

目录

1、HTTP和HTTPS有什么不同?

1、HTTP协议

HTTP协议的特点

2、HTTPS协议

3、HTTP和HTTPS的区别

2、HTTP比HTTPS多了几次握手?

1、HTTP的三次握手

2、HTTPS握手过程 

3、 为什么HTTPS是安全的?

4、对于HTTPS,在验证阶段,除了传递密钥,还会发送什么?

5、HTTP2.0相对于HTTP1.0有什么区别?

文末了,送书福利来了

1、HTTP和HTTPS有什么不同?

1、HTTP协议

HTTP协议是超文本传输协议,是一种使用明文数据传输的网络协议。一直以来HTTP协议都是最主流的网页协议,HTTP协议被用于在Web浏览器和网站服务器之间传递信息。以明文的方式发送内容、不提供任何方式的数据加密,如果攻击者截取了web浏览器和网站服务器之间的传输报文,就可以直接读懂其他的信息。传输端口为80。

HTTP协议的特点

1、简单快速

2、灵活

3、无状态

无状态的原因:每次请求都是独立的,上一次请求和下一次请求互不相干。

比如,你登录了某个网站,下一次请求理论上来说就不需要再登录了。http是无状态的,它不能知道你上一次请求已经登录过了。所以需要借助其他东西来完成这个登录认证。

因为http是无状态的,所以就引入了会话保持:

会话保持-:session 和 cookie

状态记录 ------> 登录验证

由于http协议的明文传输会让用户存在非常大的安全隐患,个人信息不安全,容易泄露。为了解决这个缺陷,于是就引入了HTTPS协议。

2、HTTPS协议

HTTPS 协议(HyperText Transfer Protocol over Secure Socket Layer):可以理解为HTTP+SSL/TLS, 即 HTTP 下加入 SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL,用于安全的 HTTP 数据传输。HTTPS协议基于TLS/SSL协议加密进行TCP传输 进行了加密,拿到的是密文。传输端口为443。

为了数据传输的安全,HTTPS协议在HTTP的基础之上加入了SSL、TLS协议,SSL/TLS协议依靠证书来验证服务器的身份,并且为浏览器和服务器之间的通信加密。HTTP协议可以理解为HTTP协议的升级,就是在HTTP的基础之上增加了数据加密。对数据进行加密,然后再发送到服务器。这样就算数据被第三者截获,但是由于数据是加密的,所以你的个人信息仍然是安全的。

HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,很多大型互联网网站,如百度、淘宝、腾讯很早就已经把HTTP换成HTTPS了。

3、HTTP和HTTPS的区别

HTTP是HTTP协议运行在TCP之上。所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份。

HTTPS是HTTP运行在SSL/TLS之上,SSL/TLS运行在TCP之上。所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密。此外客户端可以验证服务器端的身份,如果配置了客户端验证,服务器方也可以验证客户端的身份。

1、安全性不同

2、网站申请流程不同

3、默认端口不同

4、连接过程的不同

1、安全性不同

http传输的信息是明文传输。

① 当你使用浏览器访问一个HTTP网站的时候,你会发现浏览器对该HTTP网站显示“不安全”的安全警告,提示用户当前所访问的网站可能会存在风险。

HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

② 而如果你访问的是一个HTTPS网站的时候,情况是不也一样的。你会发现浏览器的地址栏会变成绿色,企业名称会展示在地址栏中,地址栏上面还会出现一把“安全锁”的图标。这些会给用户很大的视角上的安全体验。

https://前缀表明的是使用SSL(安全套接字)或TSL加密的,你的电脑与服务器之间收发的信息传输将会更加的安全。

2、网站申请流程不同

https协议需要到CA申请证书,一般免费证书很少,需要交费,web服务器启用SSL需要获得一个服务器证书并将该证书与要使用的SSL的服务器绑定。

http页面响应速度比https快。

3、默认端口不同

http和https使用的是完全不同的连接方式,同时使用的端口也不同,http使用的是80端口,https使用的是443端口。在网络模型中,HTTP工作于应用层而HTTPS工作在传输层

4、连接过程的不同

http的连接很简单,是无状态的,无状态是指服务器不知道客户端是什么状态。无状态的原因:每次请求都是独立的,上一次请求和下一次请求互不相干。比如,你登录了某个网站,下一次请求理论上来说就不需要再登录了。但是由于http是无状态的,它不能知道你上一次请求已经登录过了。

http中使用的是tcp三次握手进行连接。

https中使用的是tcp的三次握手加上TLS(安全传输层)四次握手。

2、HTTP比HTTPS多了几次握手?


1、HTTP的三次握手


HTTP的三次握手其实就是使用三次TCP握手确认建立一个HTTP连接。

详细讲解见文章:TCP 三次握手、四次断开_请说明tcp协议三次握手连接与四次挥手断开的过程-CSDN博客

第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

2、HTTPS握手过程 

HTTPS在HTTP的基础上加入了SSL/TLS协议,SSL/TLS依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。具体是如何进行加密,解密,验证的,且看下图,下面的称为一次握手。

         

详细讲解可见文章:

写文章-CSDN创作中心icon-default.png?t=N7T8https://mp.csdn.net/mp_blog/creation/editor/138059978

3、 为什么HTTPS是安全的?

在HTTPS握手的客户端解析证书中,如果站点的证书是不受信任的,会显示出现下面确认界面,确认了网站的真实性。另外服务端解密信息和客户端解密信息,使用客户端私钥加密解密,保证了数据传输的安全。

总结:

主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包。

而 HTTPS除了 TCP 的3个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。

4、对于HTTPS,在验证阶段,除了传递密钥,还会发送什么?

我觉得应该是还发送了使用使用CA证书认证过的证书。这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间等。

5、HTTP2.0相对于HTTP1.0有什么区别?

1、HTTP/2采用二进制格式而非文本格式
2、HTTP/2是完全多路复用的,而非有序并阻塞的——只需一个连接即可实现并行
3、使用报头压缩,HTTP/2降低了开销
4、HTTP/2让服务器可以将响应主动“推送”到客户端缓存中


文末了,送书福利来了

书籍简介:最近在找工作的小伙伴们是不是也发现了,很多公司都要求会熟练使用Kubernetes,而

  • Kubernetes以容器为重要组成部分,而容器的安全性如今越来越受到挑战。所幸,我们可以看到 …
    在Kubernetes的实践中,开发者也逐渐在开始尝试引入零信任安全模型 (Zero Trust Security Model),甚至将它应用在Kubernetes集群内部,杜绝了大量来源于内部的安全隐患。
  • 随着AI和机器学习技术的快速发展,越来越多的企业开始将AI和机器学习应用于自身的业务中。Kubernetes作为一个可扩展的容器编排平台,将为AI和机器学习应用提供更好的支持。企业可以利用Kubernetes来部署和管理AI和机器学习应用,提供更加稳定、可靠和高性能的服务。

这本书是 Kubernetes的从入门到实战应用,对于初学者来说是很好的学习资料;

书籍官方链接为:

https://item.jd.com/13853531.html

当然,我也为我的粉丝们准备了福利,给大家免费送出一本!!!!。

抽奖方式:采用微信抽奖小程序进行抽奖。

活动时间:4月22日------4月25日十点半截至。

参与方式:关注微信公众号《欢喜躲在眉梢里333》,发送:我要学kubernetes,即可参与

抽奖二维码可扫描:

最后,觉得我的文章还不错的话,点赞、收藏、评论一波再走哦!爱心❤❤爱心

更多学习交流可来♥斯我哦,欢迎来撩~~~~

♥♥:-99yaobaofu

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!