`
a137268431
  • 浏览: 157775 次
文章分类
社区版块
存档分类
最新评论

sdch: chrome支持的新HTTP传输压缩算法

 
阅读更多

我们知道,为了加快网络传输,一般都使用gzip对文本进行压缩。如果你现在用最新版的chrome去访问页面,然后打开network控制面板,查看http headers,细心的你会发现在Request Headers里的Accept-Encoding不再是gzip,deflate,而是多了个sdch,变成了gzip,deflate,sdch。如图:

sdch

SDCH到底是什么

sdch是Shared Dictionary Compression over HTTP的缩写,即通过字典压缩算法对各个页面中相同的内容进行压缩,减少相同的内容的传输。如:一个网站中一般都是共同的头部和尾部,甚至一些侧边栏也是共同的。之前的方式每个页面打开的时候这些共同的信息都要重新加载,但使用SDCH压缩方式的话,那些共同的内容只用传输一次就可以了。

sdch主要分为3个部分:首次请求,下载字典,之后的请求。

这种方式最开始的时候是Google工具栏里为IE准备的,目前Chrome已经完全支持了,不过暂时还没发现哪个网站在使用。

SDCH与ajax+pushState

SDCH压缩方式是为了减少相同内容的传输的,同时之前介绍的ajax+pushState也是减少相同内容的传输,他们想达到的效果是一样的。只是SDCH是Google出的,可能今后一段时间只有Chrome浏览器支持,但pushState是HTML5的一个标准,目前已经有Chrome和Firefox支持,之后会有越来越多的浏览器支持。

个人觉得SDCH可能没有什么太大的发展,但可以作为一个新方向研究,并且在合适的时候添加到标准里,让网络传输越来越迅速。

分享到:
评论

相关推荐

    node-sdch-proxy:支持 sdch 压缩的 HTTP 代理

    SDCH是一种旨在提高HTTP数据传输效率的压缩算法,它通过在客户端和服务器之间共享一个字典来减少网络传输的数据量。这种方法特别适用于已知用户会多次访问相同内容的情况,比如新闻网站、社交媒体平台等。SDCH通过在...

    connect-sdch:用于连接和 node.js 的 SDCH 中间件

    连接sdch 用于连接和 node.js 的 SDCH 中间件。 有关更多信息,请参阅。 内部使用模块。 请记住,该规范并非在所有方面都准确。 例如: Chromium 已经支持 SDCH-over-HTTPS,因为它现在被认为不会引入额外的风险...

    google chrome源码目录介绍

    19. **sdch**:一种压缩技术,优化HTTP传输,提高加载速度。 20. **site_scons**:包含一个Python脚本,可能用于特定的构建或配置任务。 21. **skia**:2D图形渲染库,对Chrome的图形展示质量至关重要。 22. **...

    Nginx启用GZIP压缩网页传输方法(推荐)

    从http协议的角度看–请求头 声明 acceopt-encoding: gzip deflate sdch (是指压缩算法,其中sdch是google倡导的一种压缩方式,目前支持的服务器尚不多) 服务器–>回应—把内容用gzip方式压缩—->发给浏览器 浏览<...

    rust-httpc:用 Rust 编写的 http 客户端库。 (前 rust-http-helper)

    sdch 支持(无计划) 重定向支持 cookie 持久性 定时 记录器 ... 等等 如何安装 构建库 $ cargo build 构建测试和运行测试 $ cargo test 构建示例程序并运行 $ cargo run --name main $ cargo ru

    获得请求头的各种参数信息jsp代码

    WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36 获取 HTTP 头文件中 accept 的值: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 获取 HTTP 头文件中 ...

    TriviaBot for SDCH-开源

    【TriviaBot for SDCH-开源】是一个基于C#编程语言的琐事问答引擎,专为Shadows Direct Connect Hub(SDCH)设计。这个项目的核心在于提供一个互动的、娱乐性的平台,用户可以在其中参与各种知识问答游戏,挑战自我...

    HTTP客户端请求包Go-Request.zip

     "Accept-Encoding": "gzip,deflate,sdch",  "Accept": "text/html,application/xhtml xml,application/xml;q=0.9,image/webp,*/*;q=0.8", } resp, err := req.Get("http://httpbin.org/get") Files: f, ...

    parse-curl.js:解析 curl 命令,返回一个代表请求的对象

    例子输入: curl 'http://google.com/' \ -H 'Accept-Encoding: gzip, deflate, sdch' \ -H 'Accept-Language: en-US,en;q=0.8,da;q=0.6' \ -H 'Upgrade-Insecure-Requests: 1' \ -H 'User-Agent: Mozilla/5.0 ...

    libcurldroid:适用于cURL的Android Java JNI包装器,支持Picasso和Retrofit

    将所有HTTP传输委托给 ,通过委托给 ,或使用我们简单的流利样式api。 绕过Android Java HTTP错误。 使用方便 键入安全的Java接口 HTTP和HTTPS请求 使用http(系统默认值)的代理,socks5 毕加索(下载器)和...

    通过SD卡升级STM32F103程序

    STM32F103支持IAP功能,它在启动阶段将一部分Flash分配给Bootloader,另一部分用于应用程序。当需要升级时,Bootloader会接管程序执行,将新的固件数据写入预留的Flash区域。 步骤四:验证与跳转 在写入新固件后,...

    nginx中gzip压缩提升网站速度的实现方法

    当浏览器发送一个包含 `Accept-Encoding: gzip, deflate, sdch` 的请求头时,Nginx 将对响应内容进行 gzip 压缩,并在响应头中添加 `Content-Encoding: gzip`,告知浏览器内容已被压缩。 配置 Nginx 的 gzip 压缩...

    minreq:检查请求中的必需标头

    用法不久前,Chrome开发者工具添加了“功能。 该工具将输入curl命令作为输入,对其进行解析并检查成功重复请求所需的数据。 目前,它支持GET和POST请求。 输出取决于操作,当前为print_results和print_scrapy_...

    Notion-douban:搭建自己的阅读清单.doc

    首先,Notion是一个强大的个人信息管理工具,支持创建数据库、页面和各种布局,使其成为整理阅读清单的理想选择。通过Notion API,我们可以自动化导入和管理数据,从而提高效率。 **创建Notion机器人** 为了能够...

    CMMB广播信道帧结构、信道编码和调制.ppt

    通过时隙划分,可以支持终端节能,而逻辑信道的配置则适应了多业务传输的需求。广播信道业务映射模型包括SICH、SCCH、PICH、ESGCH、CACH和SDCH等,这些逻辑信道经过信道编码、交织、时隙分配后,再进行调制和成帧。 ...

    httparser:高性能http 1.1解析器,为你的异步io库插上http解析的翅膀,每秒可以处理630.15MBs流量[从零实现]

    httparser 高效http 1.1解析器,为你的异步io库插上解析的翅膀[从零实现] 出发点 ... "Accept-Encoding: gzip, deflate, sdch \r \n " + "Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4 \r

Global site tag (gtag.js) - Google Analytics