background image

来解释

URL 中的非 ASCII 字符。如果使用下面以 UTF8 编码的 URL 就能得到正确的结果:

http://www.google.com/search?q=%E4%B8%AD%E6%96%87

请注意:

Google 在不同区域的服务器可能会使用不用的编码方式来解析 URL。例如

www.google.cn 可 以 正 确 解 析 : http://www.google.cn/search?q=%D6%D0%CE
%C4 ; 而 www.google.com 只 能 正 确 解 析 : http: //www.google.com/search?q=
%E4%B8%AD%E6%96%87。

而且,由于

Google 可以根据用户浏览器的区域设置自动将用户重定向到某个特定区

域的服务器上,因此在

Firefox

 

中,如果浏览器的首选区域是

zh-cn,那么访问如下 url:

http://www.google.com/search?q=%D6%D0%CE%C4 会 被 自 动 重 定 向 到 http: 
//www.google.cn /search?q=%D6%D0%CE%C4,因此,显示的结果是正确的。

3

.采取

Post”方法的 HTTP 请求

“Post”请求通常用来向 HTTP 服务器提交量比较大的数据(比如请求中包含许多参数

或者文件上传操作等),它与

Get”方法的主要区别在于请求的参数包含在消息体而非 

URL 中,服务器同样需要获得正确的编码信息才能够正确解析在消息体中的请求参数。

 

“Post”方法的 HTTP

请求中,通常包含一个

Content-Type”消息头指明该消息体的媒体

类型和编码,如

Text/XML; charset=gb2312”,指明该请求的消息体中包含的是纯文本

XML

类型的数据,字符编码采用

gb2312”  

(在 request 方式中就不行吗?)

使用一些

Firefox 插件可以辅助开发人员分析请求的消息头和消息体,较常用的有

Firebug 等。

4HTTP 响应

HTTP 响应是 HTTP 服务器在接收请求之后向客户端返回的信息。一个 HTTP 响应通

常由状态行、消息头和消息体组成。

HTTP

 

响应消息的第一行是 状态行,表示服务器对请

求 的 应 答 。 常 见 的 应 答 有 :

200 : OK”

404 : Not Found””

500 : Internal 

Server Error”等。

HTTP 请求类似,HTTP

响应消息也包含一个

Content-Type”消息头,它指定了消

  “

息 体 中 内 容 的 类 型 和 编 码 , 例 如

text/html; charset=UTF-8” 。 只 有 正 确 指 定 了

“Content-Type”消息头,浏览器才能正确解析收到响应消息体中的数据并呈现页面。

6.1.2 浏览器行为分析

浏览器是发送

HTTP 请求和接收 HTTP 响应的客户端,HTTP 协议保证了大多数情况

下浏览器行为的一致性,但不同浏览器之间仍有许多差异。

这些差异经常导致

B/S 体系结

构应用程序的开发变得困难。本节着重解释不同浏览器在涉及国际化方面的不同行为。

1.发送请求

使用浏览器发送

HTTP 请求有多种方式:

在浏览器地址栏中直接输入

URL;

在页面中通过点击 提交 按钮提交表单;
用户在页面中点击超链接产生的请求;