sbo*_*det 26
HTTP的主要语义已保留在HTTP/2中.这意味着,它仍然有HTTP methods如GET,POST等,HTTP headers以及URIs标识资源.
HTTP/2相对于HTTP/1.1的变化是HTTP语义(例如"我想在主机上PUT资源")通过线路传输的方式./foodomain.com
有鉴于此,基于HTTP/1.1构建的REST API将继续像以前一样透明地工作,不会对应用程序进行任何更改.运行应用程序的Web容器将代表应用程序将新的有线格式转换为通常的HTTP语义,并且应用程序只需查看更高级别的HTTP语义,无论它是通过HTTP/1.1还是HTTP /传输2通过电线.
由于HTTP/2有线格式更有效(特别是由于多路复用和压缩),HTTP/2之上的REST API也将受益.
HTTP/2中存在的另一个主要改进是HTTP/2 Push针对相关资源的有效下载,并且它在REST用例中可能没用.
HTTP/2的典型要求是通过TLS部署.这需要部署人员转移http到https,并设置所需的基础设施以支持(从受信任的机构购买证书,更新它们等).
小智 5
HTTP / 2规范故意没有为应用程序程序员引入新的语义。事实上,作为开发人员,主要的客户端库(iOS上的NSUrlSession,Android上的OkHttp,React Native,浏览器环境中的JS)对您透明地支持HTTP / 2。
由于HTTP / 2能够通过单个TCP连接多路复用多个请求,因此过去应用程序开发人员进行的某些优化(例如请求批处理)将变得过时甚至适得其反。
推送功能可能会用于传递事件,并且将能够在某些应用程序中替代轮询以及可能的Web套接字。
HTTP / 2到REST API的服务器推送功能的一种可能应用是通过提前将预期的请求推送给客户端而不是等待它们到达的方式,在反向代理级别上加速旧版应用程序的能力。即在登录请求完成后立即将答案推送到用户个人资料以及其他常见的API调用。
但是,尚未在服务器和客户端基础结构中广泛实施Push。