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)服务端推送