前端网络常考面试题

前端网络常考面试题

文章目录

    • 前端网络常考面试题
  • 1.http几个版本的区别?
  • 2.http请求有哪些方法?区别是什么?
  • 3.http和https的区别?
  • 4.对称加密和非对称加密。
  • 5.http状态码。
  • 6.http请求头和响应头相关字段。

1.http几个版本的区别?

前端网络常考面试题_第1张图片
断点续传:有时用户上传下载文件需要历时数小时,万一线路中断,不具备断点续传的FTP服务器或下载软件就只能从头重传,比较好的FTP服务器或下载软件具有FTP断点续传能力,允许用户从上传下载断线的地方继续传送,这样大大减少了用户的烦恼

请求头:其实就是HTTP通信的操作参数,告诉浏览器或者是服务器怎么处理这个通信。

Host头:指定请求服务器的域名/IP地址和端口号。

报头分为两种:一种是请求报头一种是响应报头,自然就是一个是请求的时候发送的一个是响应的时候发送的。

2.http请求有哪些方法?区别是什么?

前端网络常考面试题_第2张图片

3.http和https的区别?

①费用:https协议需要到申请证书,一般免费证书较少,因而需要一定费用。
②安全:http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
③端口:http和https用的端口不一样,前者是80,后者是443。
④连接方式:http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。无状态的意思是其数据包的发送、传输和接收都是相互独立的。
HTTPS 就是在 HTTP 和 TCP 协议中间加入了 SSL/TLS 安全套接层。

4.对称加密和非对称加密。

对称加密: 加密和解密的秘钥使用的是同一个.
非对称加密: 与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。
对称加密算法相比非对称加密算法来说,加解密的效率要高得多。但是缺陷在于对于秘钥的管理上,以及在非安全信道中通讯时,密钥交换的安全性不能保障。所以在实际的网络环境中,会将两者混合使用.

5.http状态码。

服务器返回的响应报文中第一行为状态行,包含了状态码以及原因短语,用来告知客户端请求的结果。
1XX信息性状态码
100 Countinue:表示到目前为止都很正常,客户端可以继续发送请求或者忽略这个响应。
101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。

2XX成功性状态码
200 OK:成功处理了请求,一般情况下都是返回此状态码;
203:返回另一资源的请求;
204:服务器成功处理了请求,但没有返回任何内容;
206 Partial Content :表示处理了部分请求。

3XX重定向状态码
301 Moved Permanently :永久性重定向,例如域名转化,URL和页面保持一致,不会出现网站劫持(URL和网站内容不一致)。
302 Found :临时性重定向,URL和页面可能不一致(会出现网站劫持),假如一个请求A,A重定向到B,显示的是A的URL,但显示的却是B的内容。
303 See Other :和 302 有着相同的功能,但是 303 明确要求客户端应该采用 GET 方法获取资源。
304 Not Modified :如果请求报文首部包含一些条件,例如:If-Match,If-ModifiedSince,If-None-Match,If-Range,If-Unmodified-Since,如果不满足条件,则服务器会返回 304 状态码。
307 Temporary Redirect :临时重定向,与 302 的含义类似,但是 307 要求浏览器不会把重定向请求的 POST 方法改成 GET 方法。

4XX客户端错误
400 Bad Request :请求报文中存在语法错误。
401 Unauthorized :该状态码表示发送的请求需要有认证信息(BASIC 认证、DIGEST 认证)。如果之前已进行过一次请求,则表示用户认证失败。
403 Forbidden :请求被拒绝,服务器端没有必要给出拒绝的详细理由。
404 Not Found: 服务器找不到请求的网页。

5XX服务器错误
500 Internal Server Error :服务器正在执行请求时发生错误。
503 Service Unavilable :服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。

6.http请求头和响应头相关字段。

请求头:
Accept:用于告诉服务器。客户端支持的数据结构。
Accept-Charset:用于告诉服务器。客户端采用的编码。
Accept-Encoding:用于告诉服务器。客户端支持的数据压缩方式。
Accept-Language:用于告诉服务器。客户端支持的语言环境。
Most:客户端通过这个报文头告诉服务器,客户端想访问的主机名。
If-Modified-Since:客户机通过这个头告诉服务器。资源的缓存时间。
Referer:客户端通过这个头告诉服务器。客户端是从哪个资源来访问服务器的。
User-Agent:客户端通过这个头告诉服务器。客户端的软件配置。
cookie:客户端通过这个头会携带数据。跟踪访问。
响应头:
Location:这个头配合302状态码使用,用于告诉客户找谁
Server:服务器通过这个头,告诉浏览器服务器的类型。
Content-Encording:服务器通过这个头告诉浏览器服务器的数据压缩格式。
Content-Length:服务器通过这个头告诉浏览器回送数据的长度。
Content-Type:服务器通过这个头告诉浏览器服务器的数据的类型。
Last-Modified:服务器通过这个头告诉浏览器当前资源的缓存时间。
Refresh:服务器通过这个头告诉浏览器多长时间刷新一次。
Content-Disposition:服务器通过这个头告诉浏览器以下载的方式打开数据。
Transfer-Encoding:服务器通过这个头告诉浏览器传送格式。
ETag:缓存相头的头。
Expires:服务器通过这个头告诉浏览器把回送的时间缓存多长时间。
Catch-control:no-catch
Pragma:no-cache
服务器通过以上两个头,也是控制浏览器不要缓存数据。

7.https工作原理.
8.http缓存。(强缓存和协商缓存)
9.什么是简单请求?什么是复杂请求?
10.说说DNS。
11.说说CDN。
12.说说 WebSocket。
13.游览器输入一个地址到页面展示中间经历了哪些东西?
14.什么是http协议?
15.TCP/IP协议的五层网络模型。
16.UDP 和 TCP。
17.TCP为什么是三次握手?而不是两次,也不是四次?
18.TCP为什么是四次挥手,而不是三次?
19.TCP滑动窗口和拥塞控制。
20.TCP为什么TIME_WAIT状态需要经过2MSL才能返回到CLOSE状态?
21.TCP的超时重传和快速重传?
22.如果已经建立了连接,但是客户端突然出现故障了怎么办?

你可能感兴趣的:(其他知识点)