webdn
 
  首页     免费截图     VIP会员区     广告Banner     技术文档     网站模板  
网站截图,网站每日新 !
虚拟主机
网页模板

首页 >> WebDN 技术文档 >> Html教程 >> Page 7 >> 浏览器自动修改URL的研究
 

浏览器自动修改URL的研究

[摘 要]


本篇讲述浏览器自动修改URL的研究主题,根据HTTP协议里的规定,3开头的错误码表示重定向,并告诉浏览器从指定的URL重新获取文件。

  今天,一个同事访问http://www.ibm.com.cn网站时,觉得很奇怪,明明键入的是http://www.ibm.com.cn,怎么IE自动把它变成了http://www.ibm.com/cn/,而且已访问结果也是正确的。他觉得很费解,IE难道有这么智能?

  只要了解HTTP协议,以上转换的原理很简单,其过程大致如下:

  1.为了从www.ibm.com.cn上取得网页,浏览器做了类似下面的事情。

telnet www.ibm.com.cn 80

GET / HTTP/1.1

Host: www.ibm.com.cn

Accept-Languge: zh_CN

这时WEB服务器上返回如下内容:

HTTP/1.1 301 Moved Permanently

Date: Thu, 16 Feb 2006 12:14:13 GMT

Server: IBM_HTTP_Server

Location: http://www.ibm.com/link/redirect.www.ibm.com/www.ibm.com.cn/

Content-Length: 268

Content-Type: text/html

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<html>

<head><title>301 Moved Permanently</title></head><body>

h1>Moved Permanently</h1>

<p>The document has moved

<a href="http://www.ibm.com/link/redirect.www.ibm.com/www.ibm.com.cn/">here</a>.

</p>

</body>

</html>

  根据HTTP协议里的规定,3开头的错误码表示重定向,并告诉浏览器从指定的URL重新获取文件。

  2.于是,浏览器又做了类似下面的事情。

telnet www.ibm.com 80

GET? /link/redirect.www.ibm.com/www.ibm.com.cn/

Host: www.ibm.com.cn

Accept-Languge: zh_CN

这时WEB服务器上返回如下内容:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<html><head><title>302 Found</title></head><body>

<h1>Found</h1>

<p>The document has moved

<a href="http://www.ibm.com/cn/">here</a>.</p>

</body></html>

还是重定向。

  3.于是,浏览器又做了类似下面的事情。

telnet www.ibm.com 80

GET /cn/ HTTP/1.1
Host: www.ibm.com.cn

Accept-Languge: zh_CN

这回终于得到了网面真正的内容。

参考:RFC 2616中的错误码:

Status-Code??? =
??????????? "100"? ; Section 10.1.1: Continue
????????? | "101"? ; Section 10.1.2: Switching Protocols
????????? | "200"? ; Section 10.2.1: OK
????????? | "201"? ; Section 10.2.2: Created
????????? | "202"? ; Section 10.2.3: Accepted
????????? | "203"? ; Section 10.2.4: Non-Authoritative Information
????????? | "204"? ; Section 10.2.5: No Content
????????? | "205"? ; Section 10.2.6: Reset Content
????????? | "206"? ; Section 10.2.7: Partial Content
????????? | "300"? ; Section 10.3.1: Multiple Choices
????????? | "301"? ; Section 10.3.2: Moved Permanently
????????? | "302"? ; Section 10.3.3: Found
????????? | "303"? ; Section 10.3.4: See Other
????????? | "304"? ; Section 10.3.5: Not Modified
????????? | "305"? ; Section 10.3.6: Use Proxy
????????? | "307"? ; Section 10.3.8: Temporary Redirect
????????? | "400"? ; Section 10.4.1: Bad Request
????????? | "401"? ; Section 10.4.2: Unauthorized
????????? | "402"? ; Section 10.4.3: Payment Required
????????? | "403"? ; Section 10.4.4: Forbidden
????????? | "404"? ; Section 10.4.5: Not Found
????????? | "405"? ; Section 10.4.6: Method Not Allowed
????????? | "406"? ; Section 10.4.7: Not Acceptable
?
????????? | "407"? ; Section 10.4.8: Proxy Authentication Required
????????? | "408"? ; Section 10.4.9: Request Time-out
????????? | "409"? ; Section 10.4.10: Conflict
????????? | "410"? ; Section 10.4.11: Gone
????????? | "411"? ; Section 10.4.12: Length Required
????????? | "412"? ; Section 10.4.13: Precondition Failed
????????? | "413"? ; Section 10.4.14: Request Entity Too Large
????????? | "414"? ; Section 10.4.15: Request-URI Too Large
????????? | "415"? ; Section 10.4.16: Unsupported Media Type
????????? | "416"? ; Section 10.4.17: Requested range not satisfiable
????????? | "417"? ; Section 10.4.18: Expectation Failed
????????? | "500"? ; Section 10.5.1: Internal Server Error
????????? | "501"? ; Section 10.5.2: Not Implemented
????????? | "502"? ; Section 10.5.3: Bad Gateway
????????? | "503"? ; Section 10.5.4: Service Unavailable
????????? | "504"? ; Section 10.5.5: Gateway Time-out
????????? | "505"? ; Section 10.5.6: HTTP Version not supported
????????? | extension-code



电话咨询:010-60520722 QQ咨询:3792656   |   583696287   |   66733350 关于WebDN  |  站点地图  |  联系我们  |  支付方式  |  友情链接
© 2004-2008 WebDN.com 版权所有. 沪ICP备05040479号