Http1.x
缺点是在多线程情况下会阻塞,而且浏览器是短连接。频繁请求拦截太消耗资源(服务器、浏览器建立连接需要3次握手)。但是1.1有改善,浏览器连接改成了持久链接,不用声明Connection: keep-alive(对于同一个域名,大多数浏览器允许同时建立6个持久连接)。而且允许发送多个请求,但是服务器只能一个一个来。同时也增加了几种请求方式:
- PUT:请求服务器存储一个资源;
- DELETE:请求服务器删除标识的资源;
- OPTIONS:请求查询服务器的性能,或者查询与资源相关的选项和需求;
- TRACE:请求服务器回送收到的请求信息,主要用于测试或诊断;
- CONNECT:保留将来使用
Http/2.0
特点:
请求报文头部采用二进制格式而非文本格式(http1.x采用文本格式);
完全多路复用,而非有序并阻塞的、只需一个连接即可实现并行;(解决了线头阻塞的问题,与Http1最重要的区别)
使用报头压缩,降低开销
服务器推送(HTTP协议通常承载于TCP协议之上,在HTTP和TCP之间添加一个安全协议层(SSL或TSL),这个时候,就成了我们常说的HTTPS.)
以上为查阅博客简写,较详细回答可以参考:https://www.cnblogs.com/gxw123/p/13288957.html?utm_source=tuicool