今天一个同事跑来说msn美国站怎么都上不去,每次点击美国站点,依然返回中国msn。在公司外部也尝试登陆,依然如此。
在和管网络架构的IT同事请教之后,了解到了http协议的一些基本知识。特此记录。
首先在浏览器打入网址送出以后,其实你是像目标送去了一段“文本”,网站服务器将接收它,并送回另一段“文本”。如下,
如果访问成功:返回的文本就是
HTTP/1.1 200 OK
Date: Fri, 03 Jul 2015 13:27:42 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: Keep-Alive
Vary: Accept-Encoding
Set-Cookie: 。。。。
Set-Cookie: 。。。
Set-Cookie: 。。。
Set-Cookie: BDSVRTM=0; path=/
Set-Cookie: BD_HOME=0; path=/
Set-Cookie: 。。。; path=/; domain=.baidu.com
P3P: CP=" OTI DSP COR IVA OUR IND COM "
Cache-Control: private
Cxy_all: 。。。
Expires: Fri, 03 Jul 2015 13:27:14 GMT
X-Powered-By: HPHP
Server: BWS/1.1
X-UA-Compatible: IE=Edge,chrome=1
BDPAGETYPE: 1
BDQID: 。。。。
BDUSERID: 0
而像msn这种出现重定向,返回的协议就会是
HTTP/1.1 302 Found
Cache-Control: no-cache, no-store, no-transform
Pragma: no-cache
Content-Type: text/html; charset=utf-8
Expires: -1
Location: http://cn.msn.com
Vary: User-Agent
Server: Microsoft-IIS/8.5
Access-Control-Allow-Origin: *
X-AspNetMvc-Version: 5.2
X-AppVersion: 2.0.5659.35652
如果是youtube那么就是502了。。。服务器都没收到包,自然是不会给你返回信息滴
这种类似的协议编号可以用fiddler去查看。fiddler是啥可以自行google百度。不想靠贴来的解释占太多篇幅了。
下面上个操作界面吧,
如果去认真过一下fiddler说明书 会发现它可以做的事情还真不少,只是目前我实在懂得太少,能够被我用到的,就只有最基本的。
2015-08-07: 做一个小项目的时候发现 貌似协议上面的转变是301。