赞
踩
目录
4、对于HTTPS,在验证阶段,除了传递密钥,还会发送什么?
HTTP协议是超文本传输协议,是一种使用明文数据传输的网络协议。一直以来HTTP协议都是最主流的网页协议,HTTP协议被用于在Web浏览器和网站服务器之间传递信息。以明文的方式发送内容、不提供任何方式的数据加密,如果攻击者截取了web浏览器和网站服务器之间的传输报文,就可以直接读懂其他的信息。传输端口为80。
1、简单快速
2、灵活
3、无状态
无状态的原因:每次请求都是独立的,上一次请求和下一次请求互不相干。
比如,你登录了某个网站,下一次请求理论上来说就不需要再登录了。http是无状态的,它不能知道你上一次请求已经登录过了。所以需要借助其他东西来完成这个登录认证。
因为http是无状态的,所以就引入了会话保持:
会话保持-:session 和 cookie
状态记录 ------> 登录验证
由于http协议的明文传输会让用户存在非常大的安全隐患,个人信息不安全,容易泄露。为了解决这个缺陷,于是就引入了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了。
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(安全传输层)四次握手。
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状态,完成三次握手。
HTTPS在HTTP的基础上加入了SSL/TLS协议,SSL/TLS依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。具体是如何进行加密,解密,验证的,且看下图,下面的称为一次握手。
详细讲解可见文章:
写文章-CSDN创作中心https://mp.csdn.net/mp_blog/creation/editor/138059978
在HTTPS握手的客户端解析证书中,如果站点的证书是不受信任的,会显示出现下面确认界面,确认了网站的真实性。另外服务端解密信息和客户端解密信息,使用客户端私钥加密解密,保证了数据传输的安全。
总结:
主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包。
而 HTTPS除了 TCP 的3个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。
我觉得应该是还发送了使用使用CA证书认证过的证书。这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间等。
1、HTTP/2采用二进制格式而非文本格式
2、HTTP/2是完全多路复用的,而非有序并阻塞的——只需一个连接即可实现并行
3、使用报头压缩,HTTP/2降低了开销
4、HTTP/2让服务器可以将响应主动“推送”到客户端缓存中
书籍简介:最近在找工作的小伙伴们是不是也发现了,很多公司都要求会熟练使用Kubernetes,而
这本书是 Kubernetes的从入门到实战应用,对于初学者来说是很好的学习资料;
书籍官方链接为:
当然,我也为我的粉丝们准备了福利,给大家免费送出一本!!!!。
抽奖方式:采用微信抽奖小程序进行抽奖。
活动时间:4月22日------4月25日十点半截至。
参与方式:关注微信公众号《欢喜躲在眉梢里333》,发送:我要学kubernetes,即可参与
抽奖二维码可扫描:
最后,觉得我的文章还不错的话,点赞、收藏、评论一波再走哦!爱心❤❤爱心
更多学习交流可来♥斯我哦,欢迎来撩~~~~
♥♥:-99yaobaofu
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。