想要知道什麼人在什麼時候瀏覽了網站的哪些內容嗎?查看Apache的訪問日誌就可以知道。訪問日誌是Apache的標準日誌,本文詳細解釋了訪問日誌的內容以及相關選項的配置。
套用
如果Apache的安裝方式是默認安裝,伺服器一運行就會有兩個日誌檔案生成。這兩個檔案是access_log(在Windows上是access.log)和error_log(在Windows上是error.log)。採用默認安裝方式時,這些檔案可以在/usr/local/apache/logs下找到;對於Windows系統,這些日誌檔案將保存在Apache安裝目錄的logs子目錄。不同的包管理器會把日誌檔案放到各種不同的位置,所以你可能需要找找其他的地方,或者通過配置檔案查看這些日誌檔案配置到了什麼地方。
分析
日誌根據伺服器的不同而不同,一般有IIS和Apache兩種,下面我們依次來看一下.
第一步自然是得到日誌檔案,這個各個站都是不同的,有的是isp提供下載只能保存幾天的,也有的是從ftp可以找到日誌,具體要詢問自己的空間提供商,如果是你自己的伺服器的話,IIS的日誌可以在Windows資料夾下的system32\LogFiles\W3SVC1下.而Apache的日誌默認是在安裝地址的logs資料夾下,如果沒有的話需要更改伺服器配置,例如以tomcat為例,需要修改server.xml檔案加入
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="combined" resolveHosts="false"/>
然後就會在logs資料夾下生成類似於localhost_access_log.2010-07-07.txt的檔案。接下來由青島seo為大家一起來分析一下日誌把。我們以本站Apache伺服器所產生的幾條日誌為例為大家簡要講解一下
比如說:
72.30.142.174 - - [08/Jul/2010:05:24:10 +0800] "GET /robots.txt HTTP/1.0" 200 27 "null" "Mozilla/5.0 (compatible; Yahoo! slurp; http://help.yahoo.com/help/us/ysearch/slurp)"
這就意味著雅虎的蜘蛛(72.30.142.174 )在2010-7-8 05:24:10(東八區區時)以get的方式訪問http://www.qingdao-seo.net/robots.txt這個檔案大小為27個位元組,訪問取得了圓滿成功。
再比如說:222.173.101.196 - - [08/Jul/2010:07:14:11 +0800] "GET /list_bg.gif HTTP/1.1" 404 988 "http://www.qingdao-seo.net/" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6.5; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) )"
這個就比較悲慘,這是一個用戶在通過首頁訪問list_bg.gif檔案,結果伺服器上沒有返回了404的代碼,這時我們就知道我們的網站看上去有一些問題需要去處理了,為什麼沒有這個檔案呢?....
好現在問題解決了,現在我們知道了返回代碼200代表著訪問成功,404代表著目標檔案未找到,其他的我從網上找了一個大全的,希望對大家有幫助.
術語
"101" : witching Protocols 客戶要求伺服器根據請求轉換HTTP協定版本 200交易成功
"200" : OK 交易成功
"201" : Created 提示知道新檔案的URL
"202" : Accepted 接受和處理、但處理未完成
"203" : Non-Authoritative Information 返回信息不確定或不完整
"204" : No Content 請求收到,但返回信息為空
"205" : Reset Content 伺服器完成了請求,用戶代理必須復位當前已經瀏覽過的檔案
"206" : Partial Content 伺服器已經完成了部分用戶的GET請求
"300" : Multiple Choices 請求的資源可在多處得到
"301" : Moved permanently 刪除請求數據
"302" : Found 在其他地址發現了請求數據
"303" : See Other 建議客戶訪問其他URL或訪問方式
"304" : Not Modified 客戶端已經執行了GET,但檔案未變化
"305" : Use Proxy 請求的資源必須從伺服器指定的地址得到
"306" 前一版本HTTP中使用的代碼,現行版本中不再使用
"307" : Temporary Redirect 申明請求的資源臨時性刪除
"400" : Bad Request 錯誤請求,如語法錯誤
"401" : Unauthorized 請求授權失敗
"402" : Payment Required 保留有效ChargeTo頭回響
"403" : Forbidden 請求不答應
"404" : Not Found 沒有發現檔案、查詢或URl
"405" : Method Not Allowed 用戶在Request-Line欄位定義的方法不答應
"406" : Not Acceptable 根據用戶傳送的Accept拖,請求資源不可訪問
"407" : Proxy Authentication Required 類似401,用戶必須首先在代理伺服器上得到授權
"408" : Request Time-out 客戶端沒有在用戶指定的餓時間內完成請求
"409" : Conflict 對當前資源狀態,請求不能完成
"410" : Gone 伺服器上不再有此資源且無進一步的參考地址
"411" : Length Required 伺服器拒絕用戶定義的Content-Length屬性請求
"412" : precondition Failed 一個或多個請求頭欄位在當前請求中錯誤
"413" : Request Entity Too Large 請求的資源大於伺服器答應的大小
"414" : Request-URI Too Large 請求的資源URL長於伺服器答應的長度
"415" : unsupported Media Type 請求資源不支持請求項目格式
"416" : Requested range not satisfiable請求中包含Range請求頭欄位,在當前請求資源範圍內沒有range指示值,請求也不包含If-Range請求頭欄位
"417" : Expectation Failed 伺服器不滿足請求Expect頭欄位指定的期望值,假如是代理伺服器,
"500" : Internal Server Error 伺服器產生內部錯誤
"501" : Not Implemented 伺服器不支持請求的函式
"502" : Bad Gateway 伺服器暫時不可用,有時是為了防止發生系統過載
"503" : Service Unavailable 伺服器過載或暫停維修
"504" : Gateway Time-out 關口過載,伺服器使用另一個關口或服務來回響用戶,等待時間設定值較長
"505" : HTTP Version not supported 伺服器不支持或拒絕支請求頭中指定的HTTP版本