首頁  >  文章  >  web前端  >  http協議的主要特徵及不同狀態碼的含義

http協議的主要特徵及不同狀態碼的含義

yulia
yulia原創
2018-09-08 18:02:342378瀏覽

http協定的主要特點:

主要特點:簡單快速,靈活, 無連線(非keep-alive),無狀態
1、每個資源URI是固定的,想存取某個資源,瀏覽器裡輸入URI就可以了。
2、靈活:HTTP允許傳輸任意類型的資料對象,正在傳輸的類型由Content-Type加以標記。
3、無連線:無連線的意義是限制每次連線只處理一個請求。伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連線。採用這種方式可以節省傳輸時間。
4、無狀態:是指協議對於事務處理沒有記憶能力。後續處理需要前面的訊息的時候必須重新傳承。

【補充】什麼是URI? 什麼是URL? 差別是什麼?
 簡單總結:
           URI--統一資源識別碼
           URL(Uniform Resource Locator):一個「統一資源定位」與網頁位址。
           URL 是URI 的子集

 http協議的主要特徵及不同狀態碼的含義

HTTP方法

#POST:傳輸實體內容資源
#資源
PUT:更新資源
HEAD:取得封包首部
DELET:刪除檔案

【考點:POST和GET的差別? 】(記住3-5個)

GET在瀏覽器回退時是無害的,而POST會再次提交請求。  
GET產生的URL位址可以被Bookmark,而POST則不行。  
GET請求會被瀏覽器主動cache,而POST不會,除非手動設定。  
GET請求參數會被完整保留在瀏覽器歷史記錄裡,而POST中的參數不會被保留。  
GET請求在URL中傳送的參數是有長度限制的(2kb 不同瀏覽器也會有所不同),而POST沒有。  
對參數的資料類型,GET只接受ASCII字符,而POST沒有限制。  
GET比POST更不安全,因為參數直接暴露在URL上,所以不能用來傳遞敏感資訊。
GET參數透過URL傳遞,POST放在Request body(請求主體)。
GET請求只能進行url編碼 -- encodeURIComponent(),而POST支援多種編碼方式。

【補充】POST資料的格式與查詢字串格式相同,如果需要將頁面中表單的資料進行序列化,然後再透過XHR 傳送到伺服器,可以使用serialize()函數來建立這個字符串,也就是表單序列化
         
HTTP狀態碼

需要記住一些經常被碰到的,其他狀態碼可查閱HTTP狀態碼文件
1xx :指示訊息,請求正在處理中
2xx:請求正常接收
200: ok
206:「Partial Content」回應: 客戶端發送了一個帶有Range請求頭的Get請求,是表明自己只需要url上部分的資源,伺服器完成了它。例如:video audio播放一個很大的視訊/音訊位址時,一般會回傳206
3xx:重定向需要進行附加操作才算完成請求
301: 永久重定向,所請求的頁面已經轉移至新的URL
302: 暫時重定向
304:緩存,伺服器告訴瀏覽器可以直接使用緩存,不用請求伺服器了
4xx(客戶端錯誤)
400: 客戶端語法錯誤
401: 請求授權失敗
403: 請求不允許Forbidden資源禁止被存取
404: 沒有發現檔案、查詢或URl
5xx(伺服器端錯誤)
500:伺服器不可預期的錯誤
501: "Internal Server Error" 伺服器端在執行請求時發生了錯誤,此時伺服器並沒有正常工作
503: 伺服器目前不能處理客戶端的請求臨時過載和當機
504:伺服器沒連接上
505: 伺服器不支援或拒絕支請求頭中指定的HTTP版本

以上是http協議的主要特徵及不同狀態碼的含義的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn