第九章 ---- 基于 HTTP 的功能追加协议

虽然 HTTP 协议既简单又简捷,但随着时代的发展,其功能使用上捉襟见肘的疲态已经凸显。本章我们将讲解基于 HTTP 新增的功能和协议。

9.1、基于 HTTP 的协议
在建立 HTTP 标准规范时,制定者主要想把 HTTP 当作传输 HTML 文档的协议。随着时代的发展,Web 的用途更多具有多样性,比如演化成在线购物网站、SNS(Social Networking Service,社交网络服务)、企业或组织内部的各种管理工具,等等。

而这些网络所追求的功能可通过 Web 应用和脚本程序实现。即使这些功能已经满足需求,在性能上却未必最优,这是因为 HTTP 协议上的限制以及自身性能有限。

HTTP 功能上的不足可通过创建一套全新的协议来弥补。可是目前基于 HTTP 的 Web 浏览器的使用环境已遍布全球,因此无法完全抛弃 HTTP。有一些新协议的规则是基于 HTTP 的,并在此基础上添加了新的功能。

9.2、消除 HTTP 瓶颈的 SPDY
Google 在 2010 年发布了 SPDY (取自 SPeeDY,发音同 speedy),其开发目标旨在解决 HTTP 的性能瓶颈,缩短 Web 页面的加载时间(50%)。

9.2.1、HTTP 的瓶颈
在 Facebook 和 Twitter 等 SNS 网站上,几乎能够实时观察到海量用户公开发布的内容,这也是一种乐趣。当几百、几千万的用户发布内容时,Web 网站为了保存这些新增内容,在很短的时间内就会发生大量的内容更新。

为了尽可能实时地显示这些更新的内容,服务器上一有内容更新,就需要直接把那些内容反馈到客户端的界面上。虽然看起来挺简单的,但 HTTP 却无法妥善地处理好这项任务。

使用 HTTP 协议探知服务器上是否有内容更新,就必须频繁地从客户端到服务器进行确认。如果服务器上没有内容更新,那么就会产生徒劳的通信。

若想在现有 Web 实现所需的功能,以下这些 HTTP 标准会成为瓶颈。
在这里插入图片描述
Ajax 的解决方法
Ajax(Asynchronous JavaScript and XML,异步 JavaScript 与 XML 技术)是一种有效李利用 JavaScript 和 DOM (Document Object Model,文档对象模型)的操作,已达到局部 Web 页面替换加载的异步通信手段。和以前的同步通信相比,由于它只更新一部分页面,响应中传输的数据量会因此而减少,这一优点显而易见。

Ajax 的核心技术是名为 XMLHttpRequest 的 API,通过 JavaScript 脚本语言的调用就能和服务器进行 HTTP 通信。借由这种手段,就能从已加载完毕的 Web 页面上发起请求,只更新局部页面。

而利用 Ajax 实时地从服务器获取内容,有可能会导致大量请求产生。另外,Ajax 仍为解决 HTTP 协议本身存在的问题。
在这里插入图片描述

9.2.2、SPDY 的设计与功能
9.2.3、SPDY 消除 WEB 瓶颈了吗
9.3、使用浏览器进行全双工通信的 websocket
9.3.1、websocket 的设计与功能
9.3.2、websocket 协议
9.4、期盼已久的 http/2.0
9.5、web 服务器管理文件的 webdav
9.5.1、扩展 http/1.1的 webdav
9.5.2、webdav 内新增的方法及状态码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值