HTTP狀態碼是什麼?HTTP狀態碼有什麼用處?如何處理 HTTP狀態碼能夠和搜索引擎更友好?技巧在哪裡?更有利於網站優化?HTTP狀態碼如何監測?
HTTP狀態碼是什麼?
HTTP協議是典型請求/響應模式,客戶端請求服務器,客戶端和服務器建立連接。
客戶端發送一段數據給服務器例如下面的一段請求:
Host: download.microtool.de
Accept: */*
Pragma: no-cache
Cache-Control: no-cache
User-Agent: Mozilla/4.04[en](Win95;I;Nav)
Range: bytes=554554-
服務器在接 受到這個請求後向客戶端發出響應數據如下:
HTTP/1.0200OK
Date:Mon,31Dec200104:25:57GMT
Server:Apache/1.3.14(Unix)
Content-type:text/html
Last-modified:Tue,17Apr200106:46:28GMT
Etag:"a030f020ac7c01:1e9f"
Content-length:39725426
Content-range:bytes554554-40279979/40279980
服務器返回的響應中有這樣的一段數據:“HTTP/1.0200OK”說明客戶端請求成 功,返回服務器成功狀態碼,注意現在HTTP狀態碼出現了,如果服務器發現,客戶端所請求的頁面不存在,那麼應該返回的是這段數據 “HTTP/1.0404OK”下面我們列出常用的HTTP狀態碼對照表:
2xx 成功
200 正常;請求已完成。
201 正常;緊接 POST 命令。
202 正常;已接受用於處理,但處理尚未完成。
203 正常;部分信息 — 返回的信息只是一部分。
204 正常;無響應 — 已接收請求,但不存在要回送的信息。
3xx 重定向
301 已移動 — 請求的數據具有新的位置且更改是永久的。
302 已找到 — 請求的數據臨時具有不同 URI。
303 請參閱其它 — 可在另一 URI 下找到對請求的響應,且應使用 GET 方法檢索此響應。
304 未修改 — 未按預期修改文檔。
305 使用代理 — 必須通過位置字段中提供的代理來訪問請求的資源。
306 未使用 — 不再使用;保留此代碼以便將來使用。
4xx 客戶機中出現的錯誤
400 錯誤請求 — 請求中有語法問題,或不能滿足請求。
401 未授權 — 未授權客戶機訪問數據。
402 需要付款 — 表示計費系統已有效。
403 禁止 — 即使有授權也不需要訪問。
404 找不到 — 服務器找不到給定的資源;文檔不存在。
407 代理認證請求 — 客戶機首先必須使用代理認證自身。
410 請求的網頁不存在(永久);
415 介質類型不受支持 — 服務器拒絕服務請求,因為不支持請求實體的格式。
5xx 服務器中出現的錯誤
500 內部錯誤 — 因為意外情況,服務器不能完成請求。
501 未執行 — 服務器不支持請求的工具。
502 錯誤網關 — 服務器接收到來自上游服務器的無效響應。
503 無法獲得服務 — 由於臨時過載或維護,服務器無法處理請求。
如何處理 HTTP狀態碼能夠和搜索引擎更友好?
在網站設計 中,出現錯誤頁面是經常會發生的,當搜索引擎爬蟲來訪問一個網站本不存在的一個頁面時或者網站URL生成規則更改時,都會返回404錯誤頁面,這樣搜索引 擎都會自動刪除搜索引擎關於這個URL的信息,問題出現了:如果是某個訪問者來到了這個404頁面,我們怎麼辦?我們要白白放走自己的訪客 (有可能成為自己的客戶),不行,不能放走這個潛在的客戶,我們seo也想到了解決的辦法,自己制作404頁面,不僅提示沒有找到改網頁,我們還在自己制 作的404頁面上做一個欄目導航,供訪客再一次的點擊,但是404頁面的制作,不是幾句話能說明白的,我們將在下一節專門介紹404頁面的制作,並且保證 服務器返回的狀態碼也是404,而不是別的狀態碼。
301狀態碼 對搜索引擎算是比較友好的,如果出現要轉移權重,建議用301永久定位。
比如:你有兩個域名www.xxxx.com 和xxxx.com(搜索引擎看來這是2個域名) ,為了能夠不丟失在浏覽器中輸入seo的訪客,也為了能夠把權重轉移到www.xxxx.com 我們就應該設置服務器,把xxxx.com永久定位到www.xxxx.com 。
總之一句話,http狀態碼技巧如果處理好,對網站優化有益無害,如果處理不好,可能會降低您的網站的權重,更有可能讓搜索殷勤爬 蟲感到您的網站不太友好。
HTTP狀態 碼如何監測?
http狀態碼的監測,有2種方法:
1. 查看網站日志
比如說:
2008-05-10 00:28:03 W3SVC818374 222.214.218.36 GET /flash/1622.html - 80 - 221.10.254.26 Baiduspider+(+http://www.baidu.com/search/spider.htm) 200 0 0 21089
如果你的網址是www.xxx.com這 就意味著百度蜘蛛在2008-05-10 00:28:03 爬過flash/1622.html 這一頁,200 0 0 21089中的200協議代碼代表了請求已完成也就是它發現這頁並以入庫了。根據這個我們可以多查看iis日志,研究蜘蛛爬行的路徑,找出自己網站存在的 問題,進而改正。
2. 通過一些網站HTTP分析軟件 httpwatch 可以看見在訪問網站時整個頁面的請求和響應,也能看見狀態碼。如果發現那個頁面出現狀態碼問題可以及時解決調影響seo優化對搜索引擎不友好的因素。
多多交流:http://51nvbao.taobao.com/