最后更新:2022-07-29 12:26:48 手机定位技术交流文章
虽然HTTP协议非常简单和方便,但随着时代的发展,抓住肘部的功能的疲劳逐渐被突出。接下来,让我们看看基于HTTP的新功能的协议,HTTP1.1和HTTP2.在0之间更改,以及HTTPS和HTTP之间的区别
超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求响应协议,它通常在TCP上运行。它指定客户端可以向服务器发送哪些消息和它接收哪些响应。即,在建立HTTP标准规范时,制造商主要希望使用HTTP作为传输HTML文档的协议。随着时代的发展,网络的使用更加多样化,例如,发展成网上购物网站,SNS(Social Networking Service,社交网络服务),企业或组织内部的各种管理工具,等等。
这些网站的最受欢迎的功能可以通过Web应用程序和脚本程序实现。 即使这些功能满足了要求,但由于HTTP协议的限制和它们本身的性能的限制,它们不一定是最佳的性能。
但又由于基于HTTP的Web服务器的使用环境已遍布全球,因此无法完全抛弃HTTP。故出现了一些新协议规则是基于HTTP的,并在此基础上添加了新的功能。
SPDY(来自瑞典,用快速的声音说,意思是更快)是Google在2010年发布的基于传输控制协议(TCP)的应用层协议,开发团队正在敦促SPY成为正式标准(现在是互联网草案)。SPDY的开发目标是解决HTTP在这一时代的开发中所面临的性能瓶颈,减少网页的负载时间(50%)。
https://www.chromium.org/spdy/
在Facebook和Twitter等社交网站上,几乎可以实时观察数以千计的用户发布的内容,而当数以百计或数以万计的用户发布内容时,大量内容更新会在很短的时间里发生,以便保存新的内容。
这是就出现了一个问题,为了尽可能实时地显示这些更新的内容,服务器上一有内容更新,就需要直接把那些内容反馈到客户端的界面上,但HTTP却无法妥善地处理好这项任务。
如果我们使用HTTP协议检测服务器上是否有内容更新,则必须经常从客户端到服务器端确认,但如果服务器上没有内容更新,则会有无意义的通信。
目前HTTP协议遇到的瓶颈是:
Ajax(Asynchronous JavaScript and XML,非同步JavaScript和XML技术是使用JavaScript和DOM(Document Object Model)的有效方法。文档对象模型)操作,为了实现本地网页置换的负载非同步通信手段.Ajax,与以前的同步通信相比,因为它只更新部分页面,因此, 响应 中 传输 的 数据 数量 减少 。
AJAX最大的优点是它可以与服务器交换数据并更新部分页面内容,而不重载整个页面。
AJAX不需要任何浏览器插件,但要求用户允许JavaScript在浏览器上执行。
Ajax的核心技术是API,叫做XMLHttpRequest,调用JavaScript脚本语言可以与服务器进行HTTP通信。借由这种手段,您可以从完成的网页启动请求,只更新局部页面。
通过使用Ajax来实时从服务器获取内容,可以生成大量的请求。 此外,Ajax没有解决HTTP本身的问题。
注意: AJAX不是新的编程语言,而是使用现有标准的新方法。
一旦服务器端有内容更新了,Comet不会让请求等待,而是直接给客户端返回响应。这是一种通过延迟应答,模拟实现服务器向客户端推送(Server Push)的功能。
通常,服务器收到请求,处理完成后,答复将立即返回,但为了实现传送功能,服务器首先将响应置于暂停状态,当内容在服务器端更新时,再返回该响应。因此,一旦服务器结束时,你可以立即向客户反馈。即,这是基于HTTP长连接的,不需要在浏览器端插入的“服务器传送”技术叫做“Comet”。
内容上虽然可以做到实时更新,但为了保留响应,一次连接的持续时间也变长了。期间,为了维持连接会消耗更多的资源。另外,Comet也仍未解决HTTP协议本身存在的问题。
Comet的优缺点
陆续出现的Ajax和Comet等提高易用性的技术,一定程度上使HTTP得到了改善,但HTTP协议本身的限制也令人束手无策。为进行根本性的改善,需要有一些协议层面上的改动。
SPDY不完全重写HTTP协议,而是在TCP/IP应用程序层和传输层之间进行新添加层的操作。 同时,考虑到安全问题, SPDY指定了在通信中使用SSL。
SPDY以对话层的形式添加,以控制数据流,但仍使用HTTP来建立通信连接。 因此,HTTP方法如GET和 POST、cookie和HTTP消息可以使用。

使用SPDY,HTTP协议还获得下列功能。
通过单一的TCP连接,可以无限制处理多个HTTP请求。所有请求的处理都在一条TCP连接上完成,因此TCP的处理效率得到提高。
SPDY不仅可以无限制地同时处理请求,而且可以将优先次序分配给单一请求,这主要是解决发送多个请求时由于低带宽而产生缓慢响应的问题。
压缩HTTP请求和响应的第一个部分,减少通过通信生成的包和发送的字节数量,从而节省额外数据传输带来的等待时间和带宽
支持服务器主动向客户端发送数据的能力,允许服务器直接发送数据而不等待客户端的请求。
服务器可以主动提示客户端请求所需的资源。 由于在客户端发现资源之前可以知道该资源的存在,在资源缓存时可以避免发送不必要的请求等。
目前主流的HTTP/1.Standard1,自199年的RFC 2616发布以来,没有进一步修改。负责互联网技术标准的IETF(Internet Engineering Task Force,互联网工程工作队)设立httpbis工作组,它的目标是推进HTTP的下一代-HTTP/2。 标准化于2014年11月实现。
http2.0是下一代安全高效的HTTP传输协议。安全是基于 https 协议的 http2.0,它是有效的,因为它通过二进制帧传输数据。正因为这些特性,http2.0协议也被越来越多的网站支持。
HTTP2.0可以说是SPDY的升级版(其实原本也是基于SPDY设计的),但是,HTTP2.0 跟 SPDY 仍有不同的地方
HTTP2.0和SPDY之间的区别:
在HTTP2中,在应用程序层(HTTP2)中,在传输层(TCP或UDP)之间添加一个层:一个二进制帧层。在二进制分帧层中,HTTP/2.0将所有传输的信息分成较小的消息和帧,编码是二进制格式。
在HTTP2中,一旦建立TCP连接请求,随后的请求被发送到流中.每个stream的基本组成单位是frame(二进制帧)。客户端和服务器可以将HTTP消息分解为独立的帧,然后乱序发送,最后, 他们又聚在另一端.
HTTP1.1的header带有大量信息,而且每次都要重复发送,HTTP2.0使用HPACK头部压缩算法对header进行压缩。
与SPDY一样,HTTP2.0也有服务器推力功能。
HTTPS不是应用程序层的新协议,只有HTTP通信接口被SSL(Secure Socket Layer)和TLS(Transport Layer Security)协议所取代。
通常来说,HTTP直接和TCP通信。当使用SSL时,则演变成先和SSL通信,再由SSL和TCP通信。简而言之,所谓HTTPS,其实就是身披SSL协议这层外壳的HTTP。
在采用SSL后,HTTP就拥有了HTTPS的加密,证书和完整性保护这些功能.

相关区别:
HTTPS的缺点:
本文由 在线网速测试 整理编辑,转载请注明出处。