Accept-Charset,Accept-Encoding,pageEncoding,charset区别与联系

来源:互联网 发布:我的世界瞳术js视频 编辑:程序博客网 时间:2024/06/06 23:22

常见有关编码的设定方式:

Accept-Charset,Accept-Encoding,pageEncoding,charset


Accept-Charset:是请求端在发送请求时的头部信息,这个标识的是当前客户端可以接受的字符编码(所谓字符编码就是对于可见或者不可见字符的编码方式,如utf-8,GBK等)。


Accept_Encoding:也是请求端在发送请求的时候头部的信息,这个表示的是当前客户端可以接受的页面编码,这个编码与字符编码不是一个该概念,(我们经常会用到压缩文件,将正常文件进行压缩就是一种利用文件的底层编码进行的再编码,比如有一个文件的数据转化成二进制以后有很多的相同结构的连续编码,此时就可以用一个比较短的编码表示这个长的编码,比如对 0000001000000这个二进制串用1110表示,这就是压缩,然后再解压缩的时候再反过来将编码还原,这就是解码)服务器在发个客户端数据的时候会将数据先根据请求数据中的Accept-Charset进行编码,然后对数据进行压缩,也就是说通过Accept-Encoding中可以接受的压缩算法进行压缩,这会有效减小网络压力,同时也减小了对客户端的延时,因为段数据在服务器进行压缩所用的时间与在网络上传输的时间相比还是比较理想的。

JSP中经常能见到这两行代码,在实际应用中默认的编码是ISO-8859-1,如果不设置就是默认的编码,如果改变其中任何一个两一个也跟着改变,但是我对这个的理解是pageEncoding:表示的是页面编码完成以后在发送数据的时候的编码方式,这里可以是压缩格式,比如ZIP,但是目前还没有见过。


charset: 才是表示页面的编码,表示的是页面字符的编码,不能使用例如ZIP格式。请求的Accept-Charset与服务器的charset对应,请求的Accept-Encoding与JSP的pageEncoding对应。

这只是当前的暂时理解,可能有误。。。有待后期验证和探索。。。。

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page contentType="text/html;charset=utf-8"%>

0 0