Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
193 views
in Technique[技术] by (71.8m points)

http内容编码和传输编码的区别和作用?

在图解http里面看到Content-Encoding对应的是内容编码,TE对应的是传输编码。文件通过内容编码的格式压缩,然后再解压。而TE是决定分块的压缩格式。Content-Encoding和TE的作用感觉有重叠。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
  1. https 是最外层编码,指出是否应当加密。
    ?
  2. Transfer-Encoding: chunked 是第 2 层编码,指出是否 Content-Length 不能预知,而采取分块传输,如果结束了会在尾块中告知。
    ?
  3. Content-Encoding: gzip 是第 3 层编码,指出内容是否经过压缩、是否需要解压。
    ?
  4. Content-Type: text/html; charset=utf-8 是最内层编码,告知文件是 Unicode 字符集的 UTF-8 编码的 HTML 代码,需要用 UTF-8 码表将 1010 机器码换算为字符后,再按照 HTML 编程语言来解读和渲染它。
    ?
    当然它也可以是 Content-Type: application/x-gzip,但与第 3 层的区别是,第 3 层的 Content-Encoding: gzip 压缩表示交给前端时应当不透明地自动解压,前端需要的是没压缩前的东西,而最内层 Content-Type: application/x-gzip 的意思是,所获取的内容本身就是一个 .gz 文件。

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...