前端必知面试《二》

前端每次面试,基础知识是必问,但是拉开薪资的差距就是一些稍微有点技术深度和一些技术广度比较了解的同学。

WebSocket 的实现和应用

参考回答:

(1)什么是WebSocket?

WebSocket是HTML5中的协议,支持持久连续,http不支持持久性连接。Http1.0和HTTP1.1都不支持持久性的链接,HTTP1.1中的keep-alive,将多个http请求合并为1个。

(2) WebSocket是什么样的协议,具体有什么优点?

HTTP的生命周期通过Request来界定,也就是Request一个Response,那么在HTTP1.0协议中,这次HTTP请求就结束了 。在HTTP1.1中进行了改进,其中有一个connection:Keep-alive,也就是说,在一个http连接中,可以发送多个Request,接收多个Response。但是必须记住,在HTTP中一个Request只能对应有一个Response,而且这个Response是被动的,不能主动去发起。

WebSocket是基于HTTP协议的,或者说是借用了HTTP协议来完成一部分握手,在握手阶段与HTTP是相同的。我们来看一个WebSocket握手协议 的实现,基本是2个属性,upgrade,connection。

基本请求如下:

GET /chat HTTP/1.1

Host: server.example.com

Upgrade:websocket

Connection:Upgrade

Sec-WebSocket-Key:asdasdasd

Sec-WebSocket-Protocol:chat ,superChat

Sec-WebSocket-Version:13

Origin:http://example.com

多了下面2个属性:

1

Upgrade:webSocket

2

Connection:Upgrade

告诉服务器发送的是WebSocket

1

Sec-WebSocket-Key:asdasdasdasdas=

2

Sec-WebSocket-Protocol:chat,superchat

3

Sec-WebSocket-Version:13

HTTP请求的方式,HEAD方式

参考回答:

head:类似于get请求,只不过返回的响应中没有具体的内容,用户获取报头options:允许客户端查看服务器的性能,比如说服务器支持的请求方式等等。

一个图片url访问后直接下载是怎样实现的?

参考回答:

请求的返回头里面,用于浏览器解析的重要参数就是OSS的API文档李阿敏返回http请求头。决定用户下载行为的参数。

下载的情况下:

1.X-oss-object-type:Normal

2.x-oss-request-id: 598asdasdasdas

3.x-oss-storage-class:Standard

说一下http2.0

参考回答:

首先补充一下,http和https的区别,我上一篇文章详细介绍了之前的区别,大家可以再看下,https和http的区别。

简要概括:

http2.0是基于1999年发布的http1.0后的首次更新。

提升了访问速度(相对于之前,请求资源所需时间更少,访问速度更快),允许多路复用:多路复用允许同事通过单一的HTTP/2连接发送多重请求-响应信息

改善了在http1.1中浏览器在同一时间,针对同一域名下的请求有一定数量限制(连接数量),超过限制会被阻塞。二进制分帧:在HTTP2.0会将所有的传输信息分割为更小的信息或者帧,并且他们进行二进制编码。首部压缩,服务端进行推送。

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
(0)
用户投稿
上一篇 2022年7月4日
下一篇 2022年7月4日

相关推荐

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息