搞移動互聯網測試,為什么涉及web相關內容呢?當然是因為移動互聯網的產品也會直接涉及web的部分,主要是兩部分:
1>M站,即觸屏版,Touch版
2>很多APP都是混合方式,既有原生的代碼,也有內嵌的網頁
針對第一方面,M站,在PC瀏覽器和手機瀏覽器上輸入同一個網站的同樣的URL,返回的內容完全不同,主要是考慮手機屏幕的大小和流量等情況,返回專門的M版本。
那這個是怎么做到的呢?就涉及到了User-Agent這個HTTP Header字段,以及HTTP協議的302響應碼對應的跳轉機制。
一、HTTP Header之User Agent
User Agent中文名為用戶代理,是Http協議中的一部分,屬於頭域的組成部分,User Agent也簡稱UA。它是一個特殊字符串頭,是一種向訪問網站提供你所使用的瀏覽器類型及版本、操作系統及版本、瀏覽器內核、等信息的標識。通過這個標識,用戶所訪問的網站可以顯示不同的排版從而為用戶提供更好的體驗或者進行信息統計;例如用手機訪問谷歌和電腦訪問是不一樣的,這些是谷歌根據訪問者的UA來判斷的。UA可以進行偽裝。
瀏覽器的UA字串的標准格式:瀏覽器標識 (操作系統標識; 加密等級標識; 瀏覽器語言) 渲染引擎標識版本信息。但各個瀏覽器有所不同。
字串說明:
1、瀏覽器標識 出於兼容及推廣等目的,很多瀏覽器的標識相同,因此瀏覽器標識並不能說明瀏覽器的真實版本,真實版本信息在 UA 字串尾部可以找到。
2、操作系統標識 
3、加密等級標識 N: 表示無安全加密 I: 表示弱安全加密 U: 表示強安全加密
4、瀏覽器語言 在首選項 > 常規 > 語言中指定的語言
5、渲染引擎 顯示瀏覽器使用的主流渲染引擎有:Gecko、WebKit、KHTML、Presto、Trident、Tasman等,格式為:渲染引擎/版本信息
6、版本信息 顯示瀏覽器的真實版本信息,格式為:瀏覽器/版本信息
注: 1、在廣告定向設定中,瀏覽器定向和操作系統定向均是針對User-Agent中的信息進行定向。 2、欲了解更多的User-Agent信息,請參考User-agent 字串史
二、響應碼
響應頭對瀏覽器來說很重要,它說明了響應的真正含義。例如200表示響應成功了,302表示重定向,這說明瀏覽器需要再發一個新的請求。
l 200:請求成功,瀏覽器會把響應體內容(通常是html)顯示在瀏覽器中;
l 404:請求的資源沒有找到,說明客戶端錯誤的請求了不存在的資源;
l 500:請求資源找到了,但服務器內部出現了錯誤;
l 302:重定向,當響應碼為302時,表示服務器要求瀏覽器重新再發一個請求,服務器會發送一個響應頭Location,它指定了新請求的URL地址;
l 304:當用戶第一次請求index.html時,服務器會添加一個名為Last-Modified響應頭,這個頭說明了index.html的最后修改時間,瀏覽器會把index.html內容,以及最后響應時間緩存下來。當用戶第二次請求index.html時,在請求中包含一個名為If-Modified-Since請求頭,它的值就是第一次請求時服務器通過Last-Modified響應頭發送給瀏覽器的值,即index.html最后的修改時間,If-Modified-Since請求頭就是在告訴服務器,我這里瀏覽器緩存的index.html最后修改時間是這個,您看看現在的index.html最后修改時間是不是這個,如果還是,那么您就不用再響應這個index.html內容了,我會把緩存的內容直接顯示出來。而服務器端會獲取If-Modified-Since值,與index.html的當前最后修改時間比對,如果相同,服務器會發響應碼304,表示index.html與瀏覽器上次緩存的相同,無需再次發送(節省傳輸成本),瀏覽器可以顯示自己的緩存頁面,如果比對不同,那么說明index.html已經做了修改,服務器會響應200。
相關文章:
http://www.360doc.com/content/12/1012/21/7662927_241124973.shtml
http://blog.csdn.net/u012110719/article/details/46324191
