目錄
一、URI 和 URL
二、使用 Cookie 的狀態管理
三、返回結果的 HTTP狀態碼
一、URI 和 URL
URI :統一資源標識符
URL:統一資源定位符
URI 格式
登錄信息(認證) | 指定用戶名和密碼作為從服務器端獲取資源時必要的登錄信息(身份認證)。此項是可選項 |
服務器地址 | 使用絕對 URI 必須指定待訪問的服務器地址。地址可以是類似hackr.jp 這種 DNS 可解析的名稱,或是 192.168.1.1 這類 IPv4 地址名,還可以是 [0:0:0:0:0:0:0:1] 這樣用方括號括起來的 IPv6 地址名。 |
務器端口號 | 指定服務器連接的網絡端口號。此項也是可選項,若用戶省略則自動使用默認端口號。 |
帶層次的文件路徑 | 指定服務器上的文件路徑來定位特指的資源。這與 UNIX 系統的文件目錄結構相似。 |
查詢字符串 | 針對已指定的文件路徑內的資源,可以使用查詢字符串傳入任意參數。此項可選。 |
片段標識符 | 使用片段標識符通常可標記出已獲取資源中的子資源(文檔內的某個位置)。但在 RFC 中并沒有明確規定其使用方法。該項也為可選項。 |
二、使用 Cookie 的狀態管理
Cookie 技術通過在請求和響應報文中寫入 Cookie 信息來控制客戶端的狀態。
Cookie 會根據從服務器端發送的響應報文內的一個叫做 Set-Cookie的首部字段信息,通知客戶端保存 Cookie。當下次客戶端再往該服務器發送請求時,客戶端會自動在請求報文中加入 Cookie 值后發送出去。
- 首次請求時,服務器生成 Cookie 并返回給客戶端存儲。
- 后續請求中,客戶端自動攜帶 Cookie,服務器通過解析 Cookie 識別用戶狀態。
- 服務器可根據需求更新或刪除 Cookie,客戶端按指令執行操作,實現狀態管理。
三、返回結果的 HTTP狀態碼
2XX成功 | 2XX 的響應結果表明請求被正常處理了。 |
---|---|
200 OK | 表示從客戶端發來的請求在服務器端被正常處理了 |
204 No Content | 該狀態碼代表服務器接收的請求已成功處理,但在返回的響應報文中不含實體的主體部分。另外,也不允許返回任何實體的主體。 |
206 Partial Content | 該狀態碼表示客戶端進行了范圍請求,而服務器成功執行了這部分的 GET 請求。響應報文中包含由 Content-Range 指定范圍的實體內容。 |
3XX 重定向 | 3XX 響應結果表明瀏覽器需要執行某些特殊的處理以正確處理請求。 |
301 Moved Permanently | 永久性重定向。該狀態碼表示請求的資源已被分配了新的 URI,以后應使用資源現在所指的 URI。 |
302 Found | 臨時性重定向。該狀態碼表示請求的資源已被分配了新的 URI,希望用戶(本次)能使用新的 URI 訪問。 |
303 See Othe | 該狀態碼表示由于請求對應的資源存在著另一個 URI,應使用 GET方法定向獲取請求的資源。 |
304 Not Modified | 該狀態碼表示客戶端發送附帶條件的請求 A 時,服務器端允許請求訪問資源,但未滿足條件的情況。 |
307 Temporary Redirect | 臨時重定向。該狀態碼與 302 Found 有著相同的含義 |
4XX 客戶端錯誤 | 4XX 的響應結果表明客戶端是發生錯誤的原因所在 |
400 Bad Request | 該狀態碼表示請求報文中存在語法錯誤。當錯誤發生時,需修改請求 |
401 Unauthorize | 該狀態碼表示發送的請求需要有通過 HTTP 認證(BASIC 認證、DIGEST 認證)的認證信息。另外若之前已進行過 1 次請求,則表示用戶認證失敗。 |
403 Forbidden | 該狀態碼表明對請求資源的訪問被服務器拒絕了。 |
404 Not Found | 該狀態碼表明服務器上無法找到請求的資源。除此之外,也可以在服務器端拒絕請求且不想說明理由時使用。 |
5XX 服務器錯誤 | 5XX 的響應結果表明服務器本身發生錯誤。 |
500 Internal Server Error | 該狀態碼表明服務器端在執行請求時發生了錯誤。也有可能是 Web應用存在的 bug 或某些臨時的故障。 |
502 Bad Gateway | 表示 客戶端(如瀏覽器)能與服務器建立連接,但服務器作為 “網關” 或 “代理” 時,從上游服務器(如應用服務器、數據庫)獲取響應時發生了錯誤 |
503 Service Unavailable | 該狀態碼表明服務器暫時處于超負載或正在進行停機維護,現在無法處理請求。 |