鬼撞牆之IE, Chrome, Firefox無法連上MSDN (3) 之問題Cookie

實在不好意思,假日我是一位超奶(超級奶爸),實在只能利用寶貝們上床的時間,來進行這個「鬼撞牆」任務。也好,將每個任務切小小的,一步步追的過程,到不像那種「幾個字,花幾小時」那種經驗的辛苦。

不過,心裡一直掛念著,到是真的。

回首鬼撞牆


我在「鬼撞牆(1)」出事,但也亂搞出一個解決辦法,也得到是因為 Cookie 造成 MSDN 錯誤,但沒留下任何蛛絲馬跡。在「鬼撞牆(2)」也就第二天,又再次出事,而且這次連第一天能正常連線的 Firefox 也無法正常運作,但也拜問題重顯之福,這次我小心翼翼把玩這 IE, Chrome, Firefox 裡的 Cookie,最後終於讓我找到有問題源頭 Cookie。

以下是有問題 Cookie 的XML檔,From IE F12 開發者工具:
<?xml version="1.0" encoding="UTF-8"?>
<log>
	<version>1.1</version>
	<creator>
		<name>Internet Explorer 網路檢查</name>
		<version>9.0.8112.16421</version>
	</creator>
	<browser>
		<name>Internet Explorer</name>
		<version>9.0.8112.16421</version>
	</browser>
	<pages>
		<page>
			<startedDateTime>2011-09-04T13:34:51.695+08:00</startedDateTime>
			<id>0</id>
			<title/>
			<pageTimings>
				<onContentLoad>227</onContentLoad>
				<onLoad>238</onLoad>
			</pageTimings>
		</page>
	</pages>
	<entries>
		<entry>
			<pageref>0</pageref>
			<startedDateTime>2011-09-04T13:34:51.695+08:00</startedDateTime>
			<time>187</time>
			<request>
				<method>GET</method>
				<url>http://msdn.microsoft.com/</url>
				<httpVersion>HTTP/1.1</httpVersion>
				<cookies>
					<cookie>
						<name>TocHashCookie</name>
						<value>ms310241(n)/</value>
					</cookie>
					<cookie>
						<name>WT_NVR</name>
						<value>0=/:1=zh-tw|library:2=zh-tw/library:3=zh-tw/library/community</value>
					</cookie>
					<cookie>
						<name>A</name>
						<value>I&amp;I=AxUFAAAAAAChBwAANNr2/wpKagArfkiaPMsnCg!!&amp;M=1</value>
					</cookie>
					<cookie>
						<name>omniID</name>
						<value>1315124990139_6d2f_5340_cefd_9babfa8cc553</value>
					</cookie>
					<cookie>
						<name>WT_FPC</name>
						<value>id=123.195.36.172-230651568.30156417:lv=1315068214015:ss=1315067390233</value>
					</cookie>
					<cookie>
						<name>WT_NVR_RU</name>
						<value>0=msdn:1=:2=</value>
					</cookie>
					<cookie>
						<name>msdn</name>
						<value>L=1028</value>
					</cookie>
					<cookie>
						<name>Microsoft.com</name>
						<value>SS=1&amp;SS_Refn=0&amp;SS_Url=http://social.msdn.microsoft.com/Search/zh-tw?query=cg&amp;x=0&amp;y=0~~2011/9/4 �� 08:43:07</value>
					</cookie>
					<cookie>
						<name>MUID</name>
						<value>BC2FDEB409EB4230B987BCDF6A394146</value>
					</cookie>
					<cookie>
						<name>MSID</name>
						<value>Microsoft.CreationDate=09/04/2011 08:43:09&amp;Microsoft.LastVisitDate=09/04/2011 08:43:28&amp;Microsoft.VisitStartDate=09/04/2011 08:43:09&amp;Microsoft.CookieId=ea95f0a2-d7b6-4f08-baea-3d683e4148a8&amp;Microsoft.TokenId=ffffffff-ffff-ffff-ffff-ffffffffffff&amp;Microsoft.NumberOfVisits=3&amp;Microsoft.CookieFirstVisit=1&amp;Microsoft.IdentityToken=AA==&amp;Microsoft.MicrosoftId=0102-2054-3786-4152</value>
					</cookie>
					<cookie>
						<name>MC1</name>
						<value>GUID=afc3a69a2c9a6349a2f3679acf03f697&amp;HASH=9aa6&amp;LV=20119&amp;V=3</value>
					</cookie>
					<cookie>
						<name>ADS</name>
						<value>SN=175A21EF</value>
					</cookie>
				</cookies>
				<headers>
					<header>
						<name>Accept</name>
						<value>text/html, application/xhtml+xml, */*</value>
					</header>
					<header>
						<name>Accept-Language</name>
						<value>zh-TW</value>
					</header>
					<header>
						<name>User-Agent</name>
						<value>Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)</value>
					</header>
					<header>
						<name>Accept-Encoding</name>
						<value>gzip, deflate</value>
					</header>
					<header>
						<name>Host</name>
						<value>msdn.microsoft.com</value>
					</header>
					<header>
						<name>Connection</name>
						<value>Keep-Alive</value>
					</header>
					<header>
						<name>Cache-Control</name>
						<value>no-cache</value>
					</header>
					<header>
						<name>Cookie</name>
						<value>TocHashCookie=ms310241(n)/; WT_NVR=0=/:1=zh-tw|library:2=zh-tw/library:3=zh-tw/library/community; A=I&amp;I=AxUFAAAAAAChBwAANNr2/wpKagArfkiaPMsnCg!!&amp;M=1; omniID=1315124990139_6d2f_5340_cefd_9babfa8cc553; WT_FPC=id=123.195.36.172-230651568.30156417:lv=1315068214015:ss=1315067390233; WT_NVR_RU=0=msdn:1=:2=; msdn=L=1028; Microsoft.com=SS=1&amp;SS_Refn=0&amp;SS_Url=http://social.msdn.microsoft.com/Search/zh-tw?query=cg&amp;x=0&amp;y=0~~2011/9/4 �� 08:43:07; MUID=BC2FDEB409EB4230B987BCDF6A394146; MSID=Microsoft.CreationDate=09/04/2011 08:43:09&amp;Microsoft.LastVisitDate=09/04/2011 08:43:28&amp;Microsoft.VisitStartDate=09/04/2011 08:43:09&amp;Microsoft.CookieId=ea95f0a2-d7b6-4f08-baea-3d683e4148a8&amp;Microsoft.TokenId=ffffffff-ffff-ffff-ffff-ffffffffffff&amp;Microsoft.NumberOfVisits=3&amp;Microsoft.CookieFirstVisit=1&amp;Microsoft.IdentityToken=AA==&amp;Microsoft.MicrosoftId=0102-2054-3786-4152; MC1=GUID=afc3a69a2c9a6349a2f3679acf03f697&amp;HASH=9aa6&amp;LV=20119&amp;V=3; ADS=SN=175A21EF</value>
					</header>
				</headers>
				<queryString/>
				<headersSize>1228</headersSize>
				<bodySize>0</bodySize>
			</request>
			<response>
				<status>502</status>
				<statusText>Bad Gateway</statusText>
				<httpVersion>HTTP/1.1</httpVersion>
				<cookies/>
				<headers>
					<header>
						<name>Content-Type</name>
						<value>text/html</value>
					</header>
					<header>
						<name>Location</name>
						<value>http://msdn.microsoft.com/zh-tw/default.aspx</value>
					</header>
					<header>
						<name>Server</name>
						<value>Microsoft-IIS/7.5</value>
					</header>
					<header>
						<name>P3P</name>
						<value>CP="ALL IND DSP COR ADM CONo CUR CUSo IVAo IVDo PSA PSD TAI TELo OUR SAMo CNT COM INT NAV ONL PHY PRE PUR UNI"</value>
					</header>
					<header>
						<name>X-Powered-By</name>
						<value>ASP.NET</value>
					</header>
					<header>
						<name>Date</name>
						<value>Sun, 04 Sep 2011 13:34:43 GMT</value>
					</header>
					<header>
						<name>Content-Length</name>
						<value>89</value>
					</header>
				</headers>
				<content>
					<size>89</size>
					<mimeType>text/html</mimeType>
					<text>The specified CGI application encountered an error and the server terminated the process.</text>
				</content>
				<redirectionURL/>
				<headersSize>333</headersSize>
				<bodySize>89</bodySize>
			</response>
			<cache/>
			<timings>
				<send>0</send>
				<wait>187</wait>
				<receive>0</receive>
			</timings>
		</entry>
	</entries>
</log>



Cookie 追追追


這次我使用「循序刪除法」來得到答案,因為在 IE 裡 F12 開發者工具,無法讓我單一刪除個別的 Cookie 。所以測試只使用了 Firefox 及 Chrome,最後讓我找出凶手。

我們在 Firefox 6.0.1 裡,打開「選項」「個人隱私」,然後在「歷史記錄」裡選擇「清除特定網站設定的 Cookie」。

圖一:Firefox 搜尋特定網站 Cookie (點圖看大圖)
我們搜尋「microsoft.com」的 Cookie,你可參考「鬼撞牆(2)」,我們這一次不一次全部刪除,而是刪一個,就 reload 一次 MSDN 網頁,當我刪除特定一個 Cookie,MSDN 網頁回復正常。為了確定事實,我們再來 Chrome 13.0.782.220 裡,按一下 F12 進入 Developer Tools,進入「 Network」然後按一下「Ctrl + F5」,點擊 Name (Path) 裡的 library,再選擇「Cookies」;

圖二、Chrome 搜尋特定 Cookie (點圖看大圖)

圖三:Chrome 刪除特定 Cookie
或是使用「Edit This Cookie」,

圖四:Edit This Cookie 刪除特定Cookie (點擊看大圖)
選擇特定 Cookie,然後按 Delete Cookie,再 reload MSDN。

註:以上Chrome Cookie畫面,均為正常 Cookie。

經過以上兩組的測試,我最後抓到了,人是它殺的(台)。

MSDN CGI 錯誤結論


圖四:鬼撞牆(2)裡圖二 Cookie(點擊看大圖)

我們從有問題 Cookie 的那張圖裡,可以看到名為「microsoft.com」的 Cookie,請刪除「機碼為 Microsoft.com」那組 Cookie,刪除後,reload MSDN網頁立即回復正常。當然,最好最簡易的方法,還是全部刪除。我只是無聊,想找出是那個源頭。文章你看看就好,說不定,明天睡起來,又換成是另一組機碼的問題,這我可不敢 100% 保證。

剛好問題發生在六、日,我想站方人員可能在測試、或修改什麼,所以造成這樣的錯誤。本想,是為了大家的家庭生活及身體健康,所以以後六、日就不讓你上 MSDN。結論是,想太多。

從這裡我們也學習到一課,一個小小的 Cookie 影響力有多大,不要小看 Cookie,如果你需要撰寫網站,學好 Cookie,是一件很重要的事。

另外,它的錯誤訊息也很爛「The specified CGI application encountered an error and the server terminated the process.」「指定的 CGI 應用程式時遇到一個錯誤,並且伺服器終止程序。」這誰看得懂,是你們的 Cookie 出問題。而且 IE 還要用 F12 開發者工具清除,真的是有幾個人會想到去開這個 F12 來清 Cookie?

這個六、日,還真忙!

參考:


沒有留言:

張貼留言

感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。