我们知道,为了加快网络传输,一般都使用gzip对文本进行压缩。如果你现在用最新版的chrome去访问页面,然后打开network控制面板,查看http headers,细心的你会发现在Request Headers里的Accept-Encoding不再是gzip,deflate,而是多了个sdch,变成了gzip,deflate,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可能没有什么太大的发展,但可以作为一个新方向研究,并且在合适的时候添加到标准里,让网络传输越来越迅速。
分享到:
相关推荐
节点-sdch-代理 支持 sdch 压缩的 HTTP 代理
连接sdch 用于连接和 node.js 的 SDCH 中间件。 有关更多信息,请参阅。 内部使用模块。 请记住,该规范并非在所有方面都准确。 例如: Chromium 已经支持 SDCH-over-HTTPS,因为它现在被认为不会引入额外的风险...
从http协议的角度看–请求头 声明 acceopt-encoding: gzip deflate sdch (是指压缩算法,其中sdch是google倡导的一种压缩方式,目前支持的服务器尚不多) 服务器–>回应—把内容用gzip方式压缩—->发给浏览器 浏览<...
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 头文件中 ...
sdch 支持(无计划) 重定向支持 cookie 持久性 定时 记录器 ... 等等 如何安装 构建库 $ cargo build 构建测试和运行测试 $ cargo test 构建示例程序并运行 $ cargo run --name main $ cargo ru
"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, ...
例子输入: 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 ...
将所有HTTP传输委托给 ,通过委托给 ,或使用我们简单的流利样式api。 绕过Android Java HTTP错误。 使用方便 键入安全的Java接口 HTTP和HTTPS请求 使用http(系统默认值)的代理,socks5 毕加索(下载器)和...
用法不久前,Chrome开发者工具添加了“功能。 该工具将输入curl命令作为输入,对其进行解析并检查成功重复请求所需的数据。 目前,它支持GET和POST请求。 输出取决于操作,当前为print_results和print_scrapy_...
TriviaBot 是一个 C# 琐事引擎,旨在在 Shadows Direct Connect Hub 中运行。 附带一个包含 20000 多个问题的问题文件,易于添加/修改。
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
Intel Mac OS X 10_8_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36' header['User-Agent'] = 'Mozilla/12.0 (compatible; MSIE 8.0; Windows NT)' return requests.get(url, ...
SD卡启动烧写工具 自己在其他人员的源码上修改了下 主要是为了支持Win7 同时增加SDHC勾选项 方便一起使用 烧写成功不退出 方便连续使用 另:原来下载的使用失败 即使用虚拟机(XP)操作也失败 不得已 自给自足 已经...
由于Chrome网络检查器具有漂亮的“复制为cURL”,因此该工具对于用python重新创建浏览器请求很有用。 当您不向uncurl传递任何参数时,它将使用剪贴板中的任何内容作为curl命令。 例子 $ uncurl " curl '...
filternet 实现了一个功能丰富的代理服务器,它允许... 标准 HTTP 代理 透明 HTTP 代理 ...双向压缩(deflate 和 gzip,无 sdch) 快速示例 最简单的例子,一切都在闪烁! 更多详情、使用方法,请下载后阅读README.md文件
toPython ( "curl 'http://en.wikipedia.org/' -H 'Accept-Encoding: gzip, deflate, sdch' -H 'Accept-Language: en-US,en;q=0.8' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/...
curlconverter.toPython(“ curl'http://en.wikipedia.org/'-H'接受编码:gzip,deflate,sdch'-H'接受语言:en-US,en; q = 0.8'-H '用户代理:Mozilla / 5.0(Macintosh; Intel Mac OS X 10_10_1)AppleWebKit / ...
... #把传递解析函数,便于下面的修改 ... headers = { ... 'Accept-Encoding': 'gzip, deflate, sdch', 'Accept-Language': 'zh-CN,zh;q=0.8', 'Host': 'www.360kan.com', 'Proxy-Connection': 'keep
stm32f103c8t6 SDCard例程 1、FATFS 中文长文件名 2、解决stm32空间不足不能存储中文编码的问题(更改ff_convert ...3、SD卡为SPI模式 支持SDCH卡 4、内附FATFS V0.09A官方未改动源码压缩包 5、FATFS V0.09A中文手册
正在监测BCCH中T的用户,将从AGCH接收到它的ARFCN和TS安排,并立即转到新的ARFCN和TS上,这一新的ARFCN和TS分配就是SDCH(不是TCH)。一旦转接到SDCCH,用户首先等待传给它的SCCH(等待最大持续26或120ms)这信息...