大厂面试题 --http和https系列

亲爱的小伙伴们,博主准备做一个每日一题系列,每天都会分享一些重要的面试题,帮你轻轻松松过面试,如果你觉得博主分享的知识还可以,就请多多点赞,评论支持吧。博主会和你们一样努力,做一个优秀的人呀。

大厂面试题 --http和https系列

1、HTTP和HTTPS概念?

1、HTTP:HTTP 协议(HyperText Transfer Protocol,超文本传输协议):是客户端浏览器或其他程序与Web服务器之间的应用层通信协议 。

2、HTTPS 协议(HyperText Transfer Protocol over Secure Socket Layer):是以安全为目标的HTTP通道,即可理解 HTTP 下加入 SSL+TLS 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL/TLSL来保证了通信应用程序之间提供保密性和数据完整性。

HTTP和HTTPS如下图:
在这里插入图片描述

2、HTTP和HTTPS延伸问题?

2.1 HTTP的运行机制

1、浏览器首先根据域名去查找对应的 IP 地址和端口,按顺序从浏览器缓存/系统缓存/路由器缓存/DNS服务器/根域名服务器去查找域名的IP。拿到IP后向,分两种情况:

2、HTTP协议,则浏览器将自身的信息,封装成一个HTTP请求数据包,与服务器的80端口建立TCP连接,即TCP的三次握手:

3、建立连接后,客户机发送一个请求给服务器

4、服务器接到初次请求后,返回给浏览器一些Headers集合,例如set-cookie,Last-Mondified,Etag等等

5、服务器向发送响应数据后,将关闭TCP连接。

6、如果浏览器或者服务器在其头信息有这行代码:Connection:keep-alive。TCP连接在发送后将仍然保持打开状态,浏览器可以继续通过相同的连接发送请求。节省了为每个请求建立新连接所需的时间,还节约了网络带宽。

7、浏览器得到响应数据,开始进入渲染流程。

2.1 HTTPS的运行机制

1、HTTPS协议与服务器的443端口连接,客户端将自身支持的加密算法列表(如SSL 的版本、加密算法和数据压缩方法/Hash 算法)以及生成客户端加密随机数(client_random)一起发送给服务端,开始 SSL 握手。

2、服务器端选出的一套加密算法、压缩算法和SSL 数字证书,并生成服务端随机数(server_random),一起返回给客户端。

3、客户端浏览器开始进入数字证书认证环节,这一部分是浏览器内置的TLS完成的。

4、浏览器将根据客户端随机数、服务端随机数及协议版本等信息,生成随机数 premaster_secret和主密钥 master_secret,并使用公钥 对premaster_secret加密得到R,然后发送给服务端。服务端用私钥解密接收到的数据,得到R。

5、服务端以R为密钥使用对称加密算法加密网页内容并传输给浏览器。

6、客户端以R为密钥使用之前约定好的解密算法获取到网页内容,浏览器客户端开始进入渲染流程。

2.3、HTTP与HTTPS的区别?

http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl/tls加密传输协议。
https协议需要到CA申请证书,,因而需要一定费用。而http不需要。
http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
https要比http安全。 因为http连接很简单,所有传输的内容都是以明文传输,客户端和服务器端都无法验证对方的身份,是无状态的,HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议

放弃很容易,但坚持很酷。坚持学习吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值