6.1 HTTP
协议及浏览器编码行为
HTTP
协议和浏览器是
Web
国际化的基础,
在进入
Java
服务器端之前,
必须先对它们的编
码行为有所了解。
6.1.1 HTTP
协议
HTTP
协议是
B/S
体系结构应用程序的基础,
只有了解了
HTTP
协议,
才能理解如何在
B/S
体系结构下实现应用程序的国际化。
1
.
HTTP
请求
当用户在浏览器的地址栏中输入一个
URL
并按回车键之后,浏览器会向
HTTP
服务器发送
HTTP
请求。
HTTP
请求主要分为
“Get”
和
“Post”
两种方法。
2
.采取
“Get”
方法的
HTTP
请求
“Get”
请求的典型用途是从
HTTP
服务器获取指定的资源,这样的请求不包含请求体。在浏
览器中输入一个
URL
并按回车键后,浏览器就会生成这种类型的请求。
HTTP
服务器根据
该请求所包含
URL
中的参数来动态产生响应内容,即
“Get”
请求的参数是
URL
的一部分。
例如:
http://www.baidu.com/s?wd=Chinese
上述
URL
是一个使用百度搜索关键字
“Chinese”
的
URL
,参数
“wd”
包含在
URL
中,一起发
送到
HTTP
服务器,参数的值是
“Chinese”
。当参数名和参数值都是
ASCII
字符时不会出现
问题,但当参数名或参数值中包含非
ASCII
字符时就有可能出现问题。
由于
URL
通过网络传递,因此,为了保证信息的兼容性和通用性,当
URL
包含非
ASCII
字符时,必须对其进行转义。如果将上例中的参数值改为
“
中文
”
,则
URL
变为:
http://www.baidu.com/s?wd=
中文
当在浏览器(我们使用的是
Firefox2.0
)的地址栏中输入上述
URL
并按回车键后,可以看
到浏览器会自动对
URL
进行转义,得到的是:
http://www.baidu.com/s?wd=%D6%D0%CE%C4