User Agent的學習

 

什麼是User-Agent? 

  User-Agent是一個特殊字符串頭,被普遍用來標示瀏覽器客戶端的信息,使得服務器能識別客戶機使用的操做系統和版本,CPU類型,瀏覽器及版本,瀏覽器的渲染引擎,瀏覽器語言等。css

  不一樣的瀏覽器(IE,FF,Opera, Chrome等)會用不一樣的用戶代理字符串(User Agent Strings)做爲自身的標誌,當搜索引擎(Google,Yahoo,Baidu,Bing)在經過網絡爬蟲訪問網頁時,也會經過用戶代理字符串來進行自身的標示,這也是爲什麼網站統計報告可以統計瀏覽器信息,爬蟲信息等。網站須要獲取用戶客戶端的信息,瞭解網站內容在客戶端的展示形式,一些網站經過判斷UA來給不一樣的操做系統,不一樣的瀏覽器發送不一樣的頁面,不過這也可能形成某些頁面沒法再某個瀏覽器中正常顯示. html

  用戶代理字符串包括6個不一樣個部分:linux

以下:瀏覽器

  Mozilla/5.0(compatible;X11;U;Linux i686;en-US) Gecko/20081202 Firefox(Debian-2.0.0.19-0etch1)安全

  • Mozilla/5.0  瀏覽器標誌:包括應用名Mozilla和版本號5.0;
  • compatible    瀏覽器兼容標誌:表示支持主要功能集
  • U  加密標誌:該字段逐步被取消(N表示無安全加密,I表示弱安全加密,U表示強安全加密)
  • Linux i686  操做系統標誌:linux
  • en-US  語言標誌:英文
  • Gecko/20081202  渲染引擎標誌:Gecko
  • Firefox(Debian-2.0.0.19-0etch1)  瀏覽器版本信息:firefox

爲何瀏覽器User-agent老是有Mozilla字樣?服務器

User-agent String裏的歷史故事:http://nonfu.me/p/8262.html#6704859-tsina-1-74270-c5f225ba0edaae7b53a5eca6ead5f75f網絡

User-Agent的簡單用法:
  • 當用戶使用FF訪問一個網站時,網站經過用戶代理字符串獲取該用戶的瀏覽器版本,當發現該版本的FF沒法完美展示網站內容時,就提出個性化的提示,升級瀏覽器來展示最新的WebGL 和HTML5內容
  • 網站能夠根據用戶代理字符串給出不一樣的css文件,保證在不一樣的瀏覽器上都展現出最好的效果。
  • 假裝 user agent 來回避某些偵測特定瀏覽器才能讀取的網站。

 以上轉自:http://www.360doc.com/content/14/0218/02/15723785_353395087.shtml學習

獲取User-agent值:

  在JAVA中使用 request.getHeader("User-Agent")獲得瀏覽器的User-Agent網站

  PHP中用$_SERVER[HTTP_USER-AGENT]得到搜索引擎

  JS中用navigator.userAgent得到。

      在 ASP.NET 中使用 Request.Header["User-Agent"] 獲得。

 

修改常見瀏覽器UA的方法:http://www.zhixing123.cn/jiaocheng/40469.html

Chrome假裝UA的方法繞過檢測。具體方法:http://blog.csdn.net/iceman03/article/details/20528771

 

其餘擴展閱讀:

  User-agent 字串史: http://www.kuqin.com/shuoit/20150312/345160.html, 

                http://www.cnblogs.com/egger/archive/2013/04/20/3032070.html

  各大搜索引擎的User-Agent: http://www.cnblogs.com/iack/p/3557371.html

  手機瀏覽器的User-agent:http://blogread.cn/it/article/4063?f=wb 

  各大瀏覽器各版本User-agent彙總:http://weibo.com/p/230418ac467e560102vebj

 

注:本文中不少內容已經有網友作過總結,在學習UA的過程當中,蒐集下來的一些比較好的,也不復制粘貼了,相關連接能夠參考。(我是勤勞的搬運工~^~)

相關文章
相關標籤/搜索