HTTP学习笔记11 基于HTTP的追加协议

浅析点直播流媒体传输协议之 —— HLS(HTTP Live Streaming) 点直播流媒体传输协议之 —— HLS(HTTP Live Streaming) 阅读详情

HTTP的瓶颈

  • 一条连接上只能发送一个请求
  • 请求只能从客户端开始,且其不可以接受除响应外的指令
  • 请求/响应首部未经压缩就发送
  • 发送冗长的首部,每次互相发送相同的首部造成浪费
  • 可任意选择数据压缩格式,非强制压缩发送

解决方法

Ajax
利用JavaScript和DOM的操作,以达到局部Web页面替换加载的异步通信手段,其核心技术是名为XMLHTTPRequest的API,通过JavaScript脚本语言的调用就能和HTTP服务器进行通信。虽然其能实时向服务器获取内容,但其仍未解决HTTP协议本身存在的问题。


Comet
通过延迟应答,模拟实现服务器向客户端推送(Server Push)功能。通常,服务器接受到请求,在处理完毕后就会立即返回响应,但Comet会先将响应挂起,当服务器有内容更新时,再返回响应。但是,虽然内容上可以做到实时更新,但为了保留响应,一次连接的持续时间也变长了,因此维持连接会消耗更多的资源,也仍未解决HTTP协议本身的问题。


SPDY
SPDY没有完全改写HTTP协议,而是在TCP/IP的应用层与传输层之间通过新增会话层的形式运作,还是采用HTTP建立连接。同时,考虑到安全性问题,SPDY规定通信中使用SSL。
这里写图片描述
使用SPDY,HTTP协议额外获得以下功能:

  • 多路复用流 通过单一的TCP连接,可以无限制处理多个HTTP请求
  • 赋予请求优先级 可以给请求逐个分配优先级顺序,进行处理
  • 压缩HTTP首部 压缩HTTP请求和响应的首部
  • 推送功能 支持服务器主动向客户端推送数据的功能,不必等待客户端的请求
  • 服务器推送功能 服务器可以主动提示客户端请求所需的资源

SPDY的不足:基本上只是对单个域名(IP地址)的通信多路复用,当Web网站上使用多个域名下的资源,改善效果就会受到限制

互联网工程任务组(IETF)对谷歌提出的SPDY协议进行了标准化,于2015年5推出了类似于SPDY协议的 HTTP 2.0 协议标准(简称HTTP/2)。谷歌因此宣布放弃对SPDY协议的支持,转而支持HTTP/2。因此SPDY不建议使用。


WebSocket(全双工通信full-duplex)
WebSocket是建立在HTTP基础上的协议,一旦服务器与客户端建立起WebSocket通信连接,之后所有的通信都依靠该协议。通信过程中可互相发送JSON、XML、HTML或图片等任意格式的数据,无论服务器还是客户端,任意一方都可直接向对方发送报文。
具有以下特点:

  • 推送功能 支持服务器向客户端推送数据的功能
  • 减少通信量 只要建立起WebSocket连接,就希望一直保持连接状态

为了维持WebSocket通信,在HTTP连接之后,需要完成一次握手步骤
握手请求

GET /webfin/websocket/ HTTP/1.1
Host: server.example.com
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: xqBt3ImNzJbYqRINxEFlkg==
Origin: http://example.com
Sec-WebSocket-Protocol: chat, superchat
Sec-WebSocket-Version: 13

Sec-WebSocket-Key字段记录着必不可少的键值,Sec-WebSocket-Protocol字段记录着使用的子协议
握手响应

HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: K7DJLdLooIwIG/MOpvWFB3y3FE8=
Sec-WebSocket-Protocol: chat

成功握手确立WebSocket连接之后,通信时不再使用HTTP数据帧,而采用WebSocket独立的数据帧,JavaScript可调用WebSocket的API,实现全双工通信

创建对象

var ws = new WebSocket(url,name);

url为WebSocket服务器的地址,name为发起握手的协议名称,为可选择项。

发送文本消息

ws.send(msg);

msg为文本消息,对于其他类型的可以通过二进制形式发送。

接收消息

ws.onmessage = (function(){...})();

错误处理

ws.onerror = (function(){...})();

关闭连接

ws.close();

HTTP2.0
HTTP/2(超文本传输协议第2版,最初命名为HTTP 2.0),是HTTP协议的的第二个主要版本,使用于万维网。HTTP/2是HTTP协议自1999年HTTP 1.1发布后的首个更新,主要基于SPDY协议(是Google开发的基于TCP的应用层协议,用以最小化网络延迟,提升网络速度,优化用户的网络使用体验)。

与HTTP1.1的区别:

  • HTTP/2采用二进制格式而非文本格式。
    在应用层(HTTP/2)和传输层(TCP or UDP)之间增加一个二进制分帧层。在该二进制分帧层中,HTTP2.0将传输的消息划分为更小的消息和帧,并采用二进制编码。其中HTTP1.1的首部信息被封装到HEADER frame,而请求实体被封装到DATA frame中。
  • HTTP/2是完全多路复用的,而非有序并阻塞的——只需一个连接即可实现并行
  • 使用报头压缩,HTTP/2降低了开销(采用了HPACK压缩算法)
  • HTTP/2让服务器可以将响应主动“推送”到客户端缓存中

WebDAV
WebDAV(Web 分布式创作和版本控制)是一个可对Web服务器上的内容直接进行文件复制、编辑等操作的分布式文件系统,除创建、删除文件等基本功能外,还支持写文件锁定(Locking)及解锁(Unlock),文件的版本控制等功能。

概念:
集合(Collection):统一管理多个资源,可以集合为单位进行各种操作
属性(Property):定义资源的属性,以“名称=值”的格式执行
锁(Lock):把文件设置为无法编辑状态

WebDAV 向HTTP/1.1追加了以下方法用于客户端与服务器通信:

  • PROPFIND 获取资源和集合的属性
  • PROPPATCH 修改资源和集合的属性
  • MKCOL 创建资源
  • COPY 复制资源
  • MOVE 移动资源
  • LOCK 资源加锁
  • UNLOCK 资源解锁

WebDAV 请求的一般结构遵循 HTTP 的格式,并且由以下三个组件构成:
1.方法。 声明由客户端执行的方法(上面描述的方法)。
2.标头。 描述有关如何完成此任务的指令。
3.主体(可选)。 定义用在该指令或其他指令中的数据,用以描述如何完成此方法。
在主体组件中,XML 成为整个 WebDAV 结构中的关键元素。

下面的 WebDAV 请求将针对 MyServer.com 服务器上 WebDavDocs 集合中的 Webdav-xml.htm 文档设置 Author 属性:

PROPPATCH /WebDavDocs/webdav-xml.htm HTTP/1.1
Host: myserver.com
Content-Type: text/xml
Content-Length: 138

<?xml version="1.0">
<d:propertyupdate xmlns:d="DAV:" xmlns:o="urn:schemas-microsoft-
com:office:office">
   <d:set>
      <d:prop>
         <o:Author>Sean Purcell</o:Author>
      </d:prop>
   </d:set>
</d:propertyupdate>

为了响应此请求,该服务器将发回一个响应,指出该属性已成功设置。

HTTP/1.1 207 Multi-Status
Server: Microsoft-IIS/5.0
Date: Wed, 04 Aug 1999 21:52:58 GMT
Content-Type: text/xml
Content-Length: 310

<?xml version="1.0"?>
<a:multistatus xmlns:b="urn:schemas-microsoft-com:office:office" 
xmlns:a="DAV:">
   <a:response>
      <a:href>http://myserver.com/WebDavDocs/webdav-xml.htm</a:href>
      <a:propstat>
         <a:status>HTTP/1.1 200 OK</a:status>
         <a:prop>
            <b:Author/>
         </a:prop>
      </a:propstat>
   </a:response>
</a:multistatus>
TI LP87745-Q1汽车雷达PMIC评估:从硬件设计到性能测试全解析 在汽车电子和高级驾驶辅助系统(ADAS)中,电源管理单元(PMIC)是确保传感器稳定可靠运行的核心。其工作原理在于集成多路高效电源转换器(如Buck、Boost)和精密监控电路,通过数字接口实现灵活配置与实时诊断。这项技术的核心价值在于为毫米波雷达等关键负载提供低噪声、高精度、满足严格时序与功能安全(ASIL)要求的供电方案,从而提升整个感知系统的信噪比与可靠性。其典型应用场景包括自动驾驶域控制器、车载传感器融合模块等。本文以德州仪器(TI)的LP87745-Q1专用PMIC及其评估模块(EVM)为例,深入 阅读详情

相关推荐

电力工程师必看:GOOSE/SV/MMS三协议在智能变电站中的分工与联动实例

本文深入解析了智能变电站中GOOSE、SV、MMS三大核心通信协议的分工与协同机制。GOOSE协议作为过程层的“闪电信使”,负责毫秒级传输跳闸命令等事件信息;SV协议则传输精确同步的电流电压采样值流;而MMS协议作为站控层的“管理语言”,实现设备监控与数据管理。三者基于IEC 61850标准,在过程层、间隔层和站控层之间高效联动,共同构建了智能变电站稳定可靠的通信骨架。

jj890的博客 366

httpclient Accept-Encoding 乱码

解决方法 1 HttpEntity httpEntity = httpResponse.getEntity(); 2 if (httpEntity != null) { 3 if (httpEntity.getContentEncoding() != null) { 4 if ("g...

weixin_33834628的博客 1454

Autodesk软件网络授权破解

Autodesk 全系列产品网络授权破解 此网络许可授权破解文件及方法适用Autodesk 绝大部分的产品, 安装网络许可证管理器Autodesk网络许可证管理器x64位官方下载地址( https://knowledge.autodesk.com/sites/default/files/file_downloads/nlm11.14.1.3_ipv4_ipv6_win64.msi ) Autod...

weixin_33919950的博客 8261

SPDY简介

SPDY简介   SPDY是Google开发的基于传输控制协议(TCP)的应用层协议 。SPDY旨在缩短网页的加载时间和提高安全性。Google最早是在Chromium中提出的SPDY协议。 本文主要了解SPDY的基本概念,以及如何编译一个含有SPDY的nginx HTTP协议存性能上的一些问题 一个连接一个请求。浏览器和web server之间都是以短连接方式交互,一个连接只服务

囧囧有神的专栏 4316

手把手教你用UC3844设计多路输出反激电源(附PCB布局避坑指南)

本文详细介绍了使用UC3844设计多路输出反激电源的实战技巧,包括核心电路设计、变压器参数计算、PCB布局优化及EMI抑制方法。通过实验室实测数据和项目经验,帮助工程师避开常见设计陷阱,提升电源性能和可靠性。特别附赠PCB布局避坑指南,助力高效完成开关电源设计。

weixin_30300225的博客 568

【2026OD新机考】【不定滑窗】20260415-API请求日志去重分析【Py/Java/C++/C/JS/Go六种语言OD真题】【欧弟算法】全网注释最详细分类最全的华子OD真题题解

中找到所有的连续的相同元素,同时统计对应的连续相同元素对应的值的平均值。:当右指针为第一个元素(没有前一个元素),或者右指针对应的元素。某微服务系统的日志监控平台需分析API调用记录,日志含大量。相等,说明当前元素仍然属于同一个相同元素窗口,将当前元素值。中的所有元素均相等,并且计算窗口和情况即可。请实现一个函数,对给定的日志数据去重合并处理。位置,表示开启一个新的窗口,此时需要重置窗口和。,为了优化重复的请求记录,存储和后续分析需对。:对应的响应时间数组(毫秒)。重新置为当前右指针的元素值。

weixin_48157259的博客 112

python定制爬虫scrapy.spiders抓取测试数据

. python . scrapy.spiders . Selector . xpath . yield . json ...

rainwell的博客 519

提升YOLOv8检测精度的边界框损失函数Focaler-IoU与InnerFocalerIoU的应用与效果

YOLOv8是一种常用的实时目标检测模型,基于CNN(卷积神经网络)结构并结合了一些改进技术以提高检测精度和速度。YOLOv8的核心在于边界框的预测和分类,而准确的边界框预测是提高模型整体性能的关键因素之一。在传统的IoU损失基础上,Focaler-IoU和InnerFocalerIoU进一步聚焦于边界框的边缘区域,通过调整损失权重,更好地关注难以检测的边界框,提高模型的鲁棒性和准确性。# 计算IoU# 计算Focaler-IoU损失在这里,我们定义了。

博客 1340

spdy / 3协议_HTTP / 2 –由SPDY(快速)提供动力,并受进化网络的启发

spdy / 3协议 回到家时,我正在听Mark Nottingham(主持IETF HTTP工作组的人)在HTTP / 2上的播客,了解HTTP协议即将发生的变化非常有趣。 发布我进行了一些研究,并就HTTP / 2共享了一些有趣的发现 。 互联网的骨干已经有很长时间了,HTTP尚未经过重大修订(1997年发布了1.1版),并且通过播客得知标准通常具有更长的周期(即使在当今的敏捷世界中)...

danpu0978的博客 408

kaggle学习笔记-餐厅数据挖掘

分析Zomato数据集的基本思想是为了公平地了解影响在班加罗尔不同地方建立不同类型餐厅的因素,每个餐厅的总评级,班加罗尔是这样一个城市,拥有超过12,000家餐厅,餐厅供应来自世界各地的菜肴。每天都有新的餐馆开业,这个行业还没有饱和,需求也在与日俱增。然而,尽管需求不断增加,新餐馆却很难与老牌餐馆竞争。大多数餐厅都供应同样的食物。班加罗尔是印度的IT之都。这里的大多数人主要依靠餐馆的食物,因为他们没有时间自己做饭。由于对餐馆的需求如此巨大,因此研究一个地方的人口统计学就变得很重要。

优快云XXCQ的博客 1862

【华为OD机试真题 2025B卷】737、统计监控器、需要打开多少监控器 | 机试真题+思路参考+代码分析(C++、Java、Py、C语言、JS)

【华为OD机试真题 2025B卷】737、统计监控器、需要打开多少监控器 | 机试真题+思路参考+代码分析(C++、Java、Py、C语言、JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2025e卷,od机试,2025E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2025华为

KJ.JK 715

终于还是对闲鱼下手了。闲鱼爬虫,idlefish spider来了

闲鱼目前最大的问题在于没有html请求口子了,闲鱼用了自家的app口子,而且还有spdy协议,拒绝使用代理。 如果想采集闲鱼数据,并保存下来,做个对比分析之类的,传统的非传统的招数都已经凉了。 怎么说呢,面对闲鱼,你想抓个包都不好抓了。 所以,这个闲鱼数据采集,真的不容易。手动调用了闲鱼的返回接口,将你在app内看到的数据采集下来。就这样吧。 获得数据如下: 可点击查看大图 项目地址: github:https://github.com/FightingForWha...

bugtraq的博客 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

基于http追加的协议

1.SPDY(消除HTTP的瓶颈) SPDY没有完全改写http协议,而是在TCP/IP的应用层和传输层之间通过新加会话层的形式运作,同时考虑安全性,SPDY规定通信中使用SSL协议。 SPDY 以会话层的形式加入,控制对数据的流动,但还是采用 HTTP建立通信连接。因此,可照常使用 HTTP 的 GET 和 POST 等方 法、 Cookie 以及 HTTP 报文等。 图:SPDY 的设计 使...

教官的博客 203

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

a http协议目录

http 1一、 http基础介绍二、URI于URL区别三、 简单HTTP协议四、HTTP报文详解五、状态码六、Web服务器七、HTTP头部协议八、HTTPS的加密协议九、HTTP用户认证十、HTTP追加协议十一、web攻击技术 一、 http基础介绍 http介绍 二、URI于URL区别 三、 简单HTTP协议 四、HTTP报文详解 五、状态码 六、Web服务器 七、HTTP头部协议 八、HTTPS的加密协议 九、HTTP用户认证 十、HTTP追加协议 十一、web攻击技术 ...

wanxiaoderen的博客 740

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

《图解HTTP》第9章基于HTTP的功能追加协议 读书笔记

  第九章:基于HTTP的功能追加协议 1.HTTP协议的瓶颈:   ①一条连接上只可发送一个请求。   ②请求只能从客户端开始,客户端不能接受除响应意外的指令。   ③请求/响应的首部未经压缩就发送,首部信息越多延迟越大。   ④每次互相发送相同的首部造成资源的浪费。   ⑤可任意选择压缩格式,不强制压缩。 2.Ajax的解决办法:每次只更新一部分页面,响应中传输的数据量...

WWW54111392的博客 221

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

HTTP存在的问题: 一条连接上只可发送一个请求; 请求只能从客户端开始。客户端不可以接收除响应以外的指令; 请求 / 响应首部未经压缩就发送。首部信息越多延迟越大; 发送冗长的首部。每次互相发送相同的首部造成的浪费较多; 可任意选择数据压缩格式。非强制压缩发送; HTTP 功能上的不足可通过创建一套全新的协议来弥补。可是目前基于 HTTP 的 Web 浏览器的使用环境已遍布全球,因此无法完全...

Chrissen's Blog 355

HTTP协议笔记

HTTP笔记(读《图解HTTP》) 《图解HTTP》本书原著是一名日本人,虽然本人不是很喜欢日本,不过知识无国界,这本书确实写的也不错。一边读也一边做了一些笔记。 第一章 了解Web及网络基础 ...

weixin_42243285的博客 1252

真香警告!手绘172张图解HTTP协议+703页TCP/IP协议笔记

HTTP协议 第1章了解Web及网络基础 第2章简单的HTTP协议 第3章HTTP报文内的HTTP信息 第4章返回结果的HTTP状态码 第5章与HTTP协作的Web服务器 第6章HTTP首部 第7章确保Web安全的HTTPS+第8章确认访问用户身份的认证 第9章基于HTTP的功能追加协议 第10章构建Web内容的技术 第11章Web的攻击技术 ...

代码界的扛把子 577

图解HTTP——基于HTTP的功能追加协议(学习记录11)

消除HTTP瓶颈的SPDY:Google在2010年发布了SPDY,其开发目标旨在解决HTTP的性能瓶颈,缩短Web页面的加载时间(50%)使用HTTP协议探知服务器上是否有内容更新,就必须频繁地从客户端到服务器端进行确认。如果服务器上没有内容更新,那么久会产生徒劳的通信。若想在现有Web实现所需功能,以下这些HTTP标准就会成为瓶颈。一条连接上只可以发送一个请求请求只能从客户端开始,客户端不可以...

zmeilin的博客 311

图解HTTP学习笔记13:基于HTTP的功能追加协议、HTTP/2.0、Web服务器管理文件的WebDAV

基于HTTP的协议HTTP存在的瓶颈消除HTTP瓶颈的SPDY使用浏览器进行全双工通信的WebSocketHTTP/2.0Web服务器管理文件的WebDAV HTTP存在的瓶颈 一条连接上只可发送一个请求。 请求只能从客户端开始。客户端不可以接收除响应以外的指令。 请求/响应首部未经压缩就发送。首部信息越多延迟越大。 发送冗长的首部。每次互相发送相同的首部造成的浪费较多。 可任意选择数据压缩格式。非强制压缩发送。 消除HTTP瓶颈的SPDY Google在2010年发布了SPDY (取自SPeeDY,发

Tuki来了 392

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

1.消除HTTP瓶颈的SPDY Google在2010年发布了SPDY,缩短Web页面的加载时间50% 2.Ajax的解决方法 Asynchronous JavaScript and XML,异步JavaScript与XML技术,是一种有效利用JavaScript和DOM(Document Object Model,文档对象模型)的操作,以达到局部Web页面替换加载的异步通信手段。 3

豪冷的博客 332

HTTP协议及应用

HTTP??HTTP?hypertext transfer protocol(???????)???,??TCP/IP??????????,????WEB????WEB????????????? HTTP?????WEB?????,??????HTTP??,???????WEB??,???????????????? HTTP?????:HTTP/1.0 HTTP/1.1 ?HTTP1.0???

u012452521的博客 393

《图解HTTP》笔记

图解HTTP [日]上野 宣 著 于均良 译 由于导入md格式会丢大量图片,我上传了pdf版本的。 文章目录图解HTTP第1章 了解web及网络基础1.1 使用http协议访问web1.2 HTTP的诞生1.3 网络基础TCP/IP1.4 与HTTP关系密切的协议:IP、TCP和DNS1.5 负责域名解析的DNS服务1.6 各种协议与http协议的关系1.7 URI和URL第2章 简单的H...

AlanRedsheep 1899

【面试】全面掌握HTTP协议(持续更新中)

文章目录0. 写在前面1. 基础知识1.1 什么是HTTP?1.2 HTTP请求方法有哪些?1.2.1 GET1.2.2 POST1.2.3 HEAD1.2.4 OPTIONS1.2.5 PUT1.2.6 DELETE1.2.7 TRACE1.2.8 CONNECT1.3 HTTP1.0、HTTP1.1、HTTP2.0、HTTPS的区别?1.3.1 HTTP1.01.3.2 HTTP1.11.3.3 HTTP1.1和HTTP1.0的区别1.3.4 HTTP2.0和HTTP1.x的区别1.3.5 HTTPS1

PeakMoment的博客 557

手绘172张图解HTTP协议+703页TCP/IP协议笔记,看完不信学不会!

HTTP协议 第1章了解Web及网络基础 1.1 使用HTTP协议访问Web 1.2 HTTP的诞生 1.3 网络基础TCP/IP 1.4 与HTTP关系密切的协议:IP、TCP和DNS 1.5 负责域名解析的DNS服务 1.6 各种协议与HTTP协议的关系 1.7 URI和URL 第2章简单的HTTP协议 2.1 HTTP 协议用于客户端和服务器端之间的通信 2.2 通过请求和响应的交换达成通信 2.3 HTTP是不保存状态的协议 2.4 请求URI...

JavaJIAMIN的博客 707
上一篇: HTTP学习笔记10 用户身份认证
下一篇: HTTP学习笔记12 构建Web应用的技术
PAT-python-zjw
博客等级 码龄10年 381粉丝 408原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值