前端面试题之HTTP篇

142 阅读3分钟

1.常见的HTTP方法有哪些?

(1)GET:用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器;

(2)POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式;

(3)PUT:传输文件,报文主体中包含文件内容,保存到对应URI位置;

(4)HEAD: 获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效;

(5)DELETE:删除文件,与PUT方法相反,删除对应URI位置的文件;

(6)OPTIONS:查询相应URI支持的HTTP方法。

2.GET和POST的区别:

(1)POST比GET更安全;

(2)GET请求只能进行url编码,而POST支持多种编码方式;

(3)对参数的数据类型,GET只接受ASCII字符,而POST没有限制;

(4)get方式提交数据的大小(一般来说1024字节),post所能传递的数据量根据取决于服务器的设置和内存大小。

3.HTTP与HTTPS的区别:

HTTP:是互联网上应用最为广泛的一种网络协议;

HTTPS:由SSL协议+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全;

(1)HTTP 标准端口是80 ,而 HTTPS 的标准端口是443;

(2)在网络模型中,HTTP工作于应用层,而HTTPS 的安全传输机制工作在传输层;

(3)HTTP 无法加密,而HTTPS 对传输的数据进行加密;

(4)HTTP无需证书,而HTTPS 需要CA机构wosign的颁发的SSL证书。

4.常见的HTTP码:

200:请求被正常处理; 301:永久性重定向; 302:临时重定向; 403:请求的对应资源禁止被访问; 404:服务器无法找到对应资源; 503:服务器超过最大负荷。

5.一次完整的HTTP事务是怎样一个过程?(url解析过程)

(1)域名解析;

(2)建立连接(三次握手);

(3)构建页面;

(4)断开连接(四次挥手);

6.TCP和UDP的区别

TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来。

UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去! UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境

7.HTTP1.0和1.1和2.0之间的区别

1.HTTP1.0在建立连接和断开连接时是一个比较费时的一个过程,并且会严重影响客户机和服务器的性能。

2.HTTP1.1为了解决这个问题,加了一个pipelining机制,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟;HTTP1.1也增加了更多的响应头和请求头;

HTTP/1.1相较于 HTTP/1.0 协议的区别主要体现在:

(1) 缓存处理

(2) 带宽优化及网络连接的使用

(3) 错误通知的管理

(4) 消息在网络中的发送

(5) 互联网地址的维护

(6) 安全性及完整性

3.HTTP2.0比之前的协议在性能上有很大的提升

(1)多路复用:多路复用允许同时通过单一的 HTTP/2 连接发起多重的请求-响应消息;

(2)二进制分帧:HTTP/2在 应用层(HTTP/2)和传输层(TCP or UDP)之间增加一个二进制分帧层。在不改动 HTTP/1.x 的语义、方法、状态码、URI 以及首部字段的情况下, 解决了HTTP1.1 的性能限制,改进传输性能,实现低延迟和高吞吐量。

(3)首部压缩

(4)服务端推送