其他分享
首页 > 其他分享> > 计算机网络高频面试题

计算机网络高频面试题

作者:互联网

一、HTTP高频面试题(OSI与TCP/IP模型各层有那些协议)

1、应用层、表示层、会话层、传输层、网络层、数据链路层、物理层

 

2、应用层、传输层、网际层、网络接口层

 

3、应用层、传输层、网络层、数据链路层、物理层

OSI7层,TCP4层,5层模型、

答案:

比如应用层协议:HTTP、FTP等

传输层:TCP、UDP协议

网络层:IP协议

 

二、HTTP是什么?HTTP常见状态码?GET和POST的区别

1、HTTP text transfer protocol 超文本传输协议。规定了计算机之间通信的规范。

HTTP常见状态码可以分为4类

1XX:正在处理 ,表示协议的中间状态,还需要后续操作

2XX:客户端,请求成功接收到服务器数据 200 OK成功,报文已经收到并正确处理

3XX:重定向,资源位置发生变动,需要客户端重新发送请求,301(临时重定向),302(永久重定向),304(不是重定向),302 表示资源被临时移动,304 Not Modifed 所请求的资源未做修改,不会返回任何资源,客户端通常会缓存访问过的资源,通过提供一个头信息,指出客户端希望只返回在指定日期之后修改的资源。许多人304解释为重定向,其实不准确的,重定向只涉及了301,302状态码。

(304的影响:1、百度蜘蛛抓取评率降低,关键词排名下降)

4XX:客户端出现了异常,请求报文有误,服务器无法 处理。 404 未请求到资源,400服务器不理解请求的语法,401请求需要登录(未授权),403服务器拒绝请求

5XX:服务器端出现了异常,处理请求时内部发生了错误 503 服务器资源unavailable service 500服务器内部错误,502 错误网管 504网管超时。

Get/Post区别:

1、在REST API风格的请求中,get是对于资源的查询,post是对资源的添加。一个是获取,一个是提交数据

2、get提交参数的值放在url中传输,post一般是放在http协议的请求体中 

3、get提交数据大小有限制,因为url的限制,post没有限制

4、get请求不是那么安全,而post更安全!

 

三、HTTP的优缺点

答:

优点:简单、灵活和易于扩展、应用广泛

缺点:非安全的协议,明文传输、无状态

追问:HTTP1.1比HTTP1.0优化了哪些部分?

1、长连接:在HTTP1.0协议中,默认使用是短连接,也就是每次请求都要重新建立一次连接。HTTP是基于TCP/IP协议的,每次建立或断开连接都要握手三次、四次挥手,开销较大。

HTTP1.1 默认使用了长连接,开启了CONNECTIO:keep-alive。HTTP1.1的持续连接有非流水线和流水线的方式。流水线的方式是在收到HTTP响应报文之前就能接着发送新的报文

非流水线就是在接受后才能发下一个请求。

2、错误状态码:在HTTP1.1中增加了24个错误状态码,比如409表示请求资源与当前状态发生了冲突。

3、缓存处理:在HTTP1.0中主要使用的是if-modified-sice,expires来作为缓存判断依据。HTTP1.1使用了更多缓存判断策略如Entity tag,if-unmodified-tag,ifmatch-if-none-match

4、带宽的优化及网络连接的使用:HTTP1.0中存在带宽浪费问题,例如客户端只是需要对象一部分,而服务器回传了整个对象,并不支持断点续传。HTTP1.1则在请求头中使用了range来获取资源的某个部分,状态码是206.

追问

HTTP和HTTPS的区别

1、HTTP 是超文本传输协议,信息是明文的、安全存在很大的挑战,存在很大的安全风险。HTTPS则解决了HTTP的安全风险,通过在传输层和网络层之间使用TLS/SSL协议,使得报文是加密传输。

2、HTTP连接相对简单,TCP三次握手后,便可以开始HTTP的报文传输,而HTTPS还需要SSL/TLS握手,才能加密传输

3、HTTP端口号80,HTTPS端口号是443

4、HTTPS协议需要向CA机构申请认证证书,保证服务器可信。

追问HTTPS解决了哪些安全问题:

1、窃听风险,明文传输,通过wireshark可以抓包,获取明文内容

2、篡改风险,强制植入广告等

3、冒充电商支付等服务器,骗钱。

通过:

1、信息加密:交互信息无法窃取。

2、校验机制:无法篡改通信内容,篡改后就不能正常显示了。

3、身份证书:证明淘宝是真的淘宝。

 

 

四、HTTP1.1 HTTP 2 HTTP3 演变

HTTP1.1存在性能瓶颈

请求/响应头未经过压缩就发送,头部越大,只能压缩body

HTTP2改进了:头压缩、二进制格式、数据流、多路复用和服务器主动推送

HTTP2存在的问题:多个HTTP请求在复用一个TCP连接,下层TCP协议是不知道有多少个HTTP请求。所以一旦发生了丢包,就会TCP重传机制,这样一个TCP连接中所有HTTP请求都必须等待这个包重传。

HTTP3改进:将下层的TCP协议改为了UDP协议,UDP发生三不管顺序的,也不管丢包的。(UDP 是不可靠传输的,但基于 UDP 的 QUIC 协议 可以实现类似 TCP 的可靠性传输。)

标签:协议,面试题,HTTP,请求,HTTP1.1,TCP,计算机网络,服务器,高频
来源: https://www.cnblogs.com/Alei777/p/16139717.html