標籤:apache工作流程和報文詳解
HTTP服務要求步驟: (1)建立串連 (2)接受請求 (3)處理請求 (4)訪問資源 (5)構建響應 (6)發送響應 (7)記錄交易處理過程http報文:http事務,一次請求以及與其對應的響應http方法:get,put,head,post,deletehttp請求報文格式:<method> <request-URL> <version><headers> <entity-body> http響應:responsehttp響應報文格式: <version> <status> <reason-phrase><headers> <entity-body><method>:要求方法,希望伺服器端執行的動作,如GET/HEAD/POST等<request-url>:請求的資源,可以是相對路徑,也是完整的URL<version>:協議版本,格式HTTP/<major>.<minor>,如http/1.0<headers>:HTTP首部<status>:狀態代碼<reason-phrase>:原因短語,數字狀態代碼易讀資訊<entity-body>:主體部分HTTP首部: 通用首部:請求和響應都可以使用 請求首部: 響應首部: 實體首部:用於指定實體屬性 擴充首部:非標準的首部,可能是由程式開發人員建立的,例如X-Forward-For 通用首部: Connection:定義C/S之間關於請求/響應的有關選項 對於http/1.0,Connection:keep-alive Via:顯示了報文經過的中間節點 Cache-Contor:緩衝指示 Pragma:請求首部: Accept */* Accept-Encoding gzip, deflate Accept-Language zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3 Connection keep-alive Cookie U_TRS1=0000000e.5a674e57.58f78476.3ab04d22; Host client.show.sina.com.cn Referer http://www.sinashow.com/ User-Agent Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0 Client-IP: Host:請求的主機名稱和連接埠號碼 Refer:指明了請求當前資源的原始資源的URL,可用於防盜鏈 User-Agent:使用者代理程式,使用什麼工具發出的請求 Accept首部:用於標明用戶端更傾向於支援的方式(比如字元集是否要壓縮,) Accept:指明伺服器能發送的媒體類型 Accept-Charset:支援使用的字元集 Accep-Encoding:支援使用的編碼方式 Accept-language:支援使用語言 條件請求首部: Expect:期望 If-Modified-Since:是否在指定時間以來修改過次資源 If-None-Match 跟安全相關的請求首部: Authorization:用戶端提交給服務端的認證資料,如帳號和密碼 Cookie:用戶端發送給伺服器端身份標識 Cookie2 響應首部: Age: Server:向用戶端標明伺服器程式名稱和版本 協商首部: Accept-Ranges:對當前資源來講,伺服器所能接受的範圍類型 Vary:首部列表,伺服器會根據列表中的內容挑選出最適合的版本發送給用戶端 跟安全相關的請求首部: Set-Cookie:伺服器端在某用戶端第一次請求時發給令牌 Set-Cookie2: WWW-Authentication:質詢,即要求用戶端提供帳號和密碼實體首部: Location:資源的新位置 Allow:允許對此資源使用的要求方法 內容首部: Content-Encoding Content-Language Content-Length Content-Location Content-Range Content-Type緩衝首部: ETag:實體標籤 Expires:到期期限 Last-Modified:上一次的修改時間 HTTP要求方法 安全方法:GET、HEAD、 POST,提交表單的方法 PUT、DELETE、OPTION、TRACE、 擴充方法:LOCK、MKCOL、COPY、MOVE GET:請求擷取一個資源,需要伺服器發送(有或者沒有) HEAD:跟GET相似,但其不需要服務發送資源而僅傳迴響應首部 POST:支援HTML表單提交,表單中有使用者填入的資料,這些資料會發送到伺服器端,由伺服器儲存至某位置(例如傳送處理常式) PUT:與GET相反,向伺服器寫入文檔,發布系統 DELETE:請求刪除URL指向的資源 OPTION:探測伺服器端對某資源所支援的要求方法 TRACE:跟蹤請求要經過的防火牆、代理或網關 HTTP狀態代碼 1xx:資訊性狀態代碼 100 請求繼續 2xx:成功狀態代碼 200:OK 201:Created 3xx:重新導向的狀態代碼 301:Moved Permanently 永久重新導向 在響應報文中使用"Location:URL"指定資源現在所處的位置 302:Found 臨時重新導向 在響應報文中使用首部"Location:URL" 指定臨時資源位置 304:Not Modified,條件或請求中使用 4xx:用戶端類的錯誤 403:Forbidden,請求被伺服器拒絕 404:Not Found 伺服器無法找到請求的URL 405:Method Not Allowed,不允許使用此方法請求相應的URL 5xx:伺服器端的錯誤 500:Internal Server Error,伺服器內部錯誤(比如許可權錯誤) 502:Bad Gateway Proxy 伺服器從上遊收到的一條偽響應 503:Service Unavaliable,伺服器此時無法提供服務,但將來可能可用
註:本文來自馬哥視頻學習記錄的筆記。
apache工作流程和報文詳解