内容编码

•内容编码

  HTTP应用程序有时在发送之前需要对内容进行编码。

•内容编码过程:

  1)网站服务器生成原始响应报文,其中有原始的Content-Type和Content-Length首部。

  2)内容编码服务器创建编码后的报文。编码后同样有Content-Type和Content-Length。内容编码服务器在编码后的报文中增加Content-Encoding首部,这样接收的应用程序就可以进行解码了。

  3)接收程序得到编码后的报文,进行解码,获得原始报文。

  在这个例子中,通过gzip内容编码函数对HTML页面处理之后,得到一个更小的、压缩的主体。经过网络发送的压缩的主体,并打上了gzip压缩的标志。接收的客户端使用gzip解码器对实体进行解压缩。

•一个包含编码的响应片段:

  HTTP/1.1 200 ok

  Date:Fri,05 Nov 1999 22:35:15 GMT

  Server:Apache/1.2.4

  Content-Length:6096

  Content-Type:image/gif

  Content-Encoding:gzip

  [……]

•内容编码类型:

  表152 内容编码代号

  -------------------------------------------------------------------------------------------

  Content-Encoding值          描述

  -------------------------------------------------------------------------------------------

  gzip                  表明实体采用GNU zip编码

  deflate                  表明试图是用zlib的格式压缩的

  identity                 表明没有对实体进行编码。

  -------------------------------------------------------------------------------------------

•Accept-Encoding首部:

  毫无疑问,我们不希望服务器用客户端无法解码的方式来对内容进行编码。为了避免服务器使用客户端不支持的编码方式,客户端就把自己支持的内容编码方式列表放在请求的Accept-Encoding首部里发出去。如果HTTP请求中没有包含Accept-Encoding首部,服务器就可以假设客户端能够接受任何编码方式。

  服务器使用gzip对图像进行压缩,以便在他和客户端之间的狭窄网络连接上传送一个较小的文件,这样可以节约网络快带和客户端等待的时间。不过,客户端在收到图像之后,还需要花费时间进行解压缩。

时间: 2024-10-06 00:35:44

内容编码的相关文章

HTTP - 内容编码

HTTP 应用程序有时在发送之前需要对内容进行编码.例如,在把很大的 HTML 文档发送给通过慢速连接上来的客户端之前,服务器可能就会对它进行压缩,这样有助于减少传输实体的时间. 内容编码过程 内容编码的过程如下所述. 网站服务器生成原始响应报文,其中有原始的 Content-Type 和 Content-Length 首部. 内容编码服务器(也可能就是原始的服务器或下行的代理)创建编码后的报文,编码后的报文有同样的 Content-Type 但 Content-Length 可能不同(比如主体

JS及JQuery对Html内容编码,Html转义

/** JQuery Html Encoding.Decoding * 原理是利用JQuery自带的html()和text()函数可以转义Html字符 * 虚拟一个Div通过赋值和取值来得到想要的Html编码或者解码 */ <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script> <script type="text/javascript"> //Ht

HTTP 协议中的 Content-Encoding 和 Transfer-Encoding(内容编码和传输编码)

转自:http://network.51cto.com/art/201509/491335.htm Transfer-Encoding,是一个 HTTP 头部字段,字面意思是「传输编码」.实际上,HTTP 协议中还有另外一个头部与编码有关:Content-Encoding(内容编码).Content-Encoding 通常用于对实体内容进行压缩编码,目的是优化传输,例如用 gzip 压缩文本文件,能大幅减小体积.内容编码通常是选择性的,例如 jpg / png 这类文件一般不开启,因为图片格式已

#WEB安全基础 : HTTP协议 | 0x10 扩展HTTP报文结构概念和内容编码

#以后的知识都是HTTP协议的扩展,如果精力有限可以选择暂时忽略,注意只是暂时忽略,以后的东西同样重要 HTTP传输数据时可以直接传输也可以对数据进行编码,由于编码在计算机内运行,所以会占用一些CPU资源 报文(message):HTTP通信的基本单位,由八位组字节(由八个bit组成的一字节)流组成通过HTTP通信传输 实体(entity):作为请求或响应的有效载荷数据被传输,其内容由实体首部和实体主体组成 HTTP报文的主体用于传输请求和下响应的实体主体.通常,报文主体等于实体主体,只有当传输

python中的内容编码

一.python编码简介 1)编码格式简介 python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ASCII),ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号.显然ASCII码无法将世界上的各种文字和符号全部表

php检测文件内容编码的方法

核心用到的是mb_convert_encoding函数,示例代码如下: <?php header("Content-type: text/html; charset=utf-8"); /** * 获取内容的编码 * @param string $str */ function get_encoding($str = "") { $encodings = array ( 'ASCII', 'UTF-8', 'GBK' ); foreach ( $encoding

Spring mvc 注解@ResponseBody 返回内容编码问题

@ResponseBody 在@Controller 类方法中可以让字符串直接返回内容. 其返回处理的类是org.springframework.http.converter.StringHttpMessageConverter,此类默认编码 <span style="font-size:18px;">public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1");&

小哈学Python第三课-字符集编码

table.hovertable { font-family: verdana, arial, sans-serif; font-size: 11px; color: #333333; border-width: 1px; border-color: #999999; border-collapse: collapse } table.hovertable th { background-color: #c3dde0; border-width: 1px; padding: 8px; borde

linux下查看文件编码及修改编码

http://blog.csdn.net/jnbbwyth/article/details/6991425 查看文件编码在Linux中查看文件编码可以通过以下几种方式:1.在Vim中可以直接查看文件编码:set fileencoding即可显示文件编码格式.如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在~/.vimrc 文件中添加以下内容: set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936 这样,就可以