HTTP協議-響應碼
瀏覽器向服務器發出請求,服務器處理可能是成功、可能是失敗、可能沒有權限訪問等原因,服務器會通過響應碼來告訴瀏覽器處理結果。 "200" : OK "302" : Found 重定向. "400" : Bad Request 錯誤請求,發出錯誤的不符合Http協議的請求 "403" : Forbidden 禁止 "404" : Not Found 未找到。演示訪問一個不存在的頁面看報文 "500" : Internal Server Error 服務器內部錯誤。演示頁面拋出異常。 "503" : Service Unavailable。一般是訪問人數過多。 200段是成功;300段需要對請求做進一步的處理;400段表示客戶端請求錯誤;500段是服務器的錯誤。
HTTP協議-服務器返回的報文
Server: Cassini/3.5.0.5 表示服務器的類型 Content-Type: text/html; charset=utf-8 表示返回數據的類型 服務器通過Content-Type告訴客戶端響應的數據的類型,這樣瀏覽器就根據返回數據的類型來進行不同的處理,如果是圖片類型就顯示,
如果是文本類型就直接顯示內容,如果用html類型就用瀏覽器顯示內容,如果是下載類型就彈出下載工具等。 常用Content-Type:text/HTML、image/GIF、image/JPEG、 text/plain、text/javascript、application/x-excel 、
application/octet-stream(二進制文件) Content-Length: 19944表示響應報文體的字節長度,報文頭只是描述,返回的具體數據(比如HTML文本、圖片數據等)在兩個回車之后的內容中。
Http協議-其他
http是無狀態的,不會記得“上個請求***”,所以哪怕是同一個頁面中的js、css、jpg也都要重復的提交Accept-Language、Accept-Encoding、Cookie等。
網頁中如果有圖片、css、js等外部文件的話圖片、css、js都在單獨的請求中,也就是並不是頁面的所有內容都在一個請求中完成,而是每個資源一個請求。
一般情況下,只有瀏覽器請求服務器端,服務器端才有給瀏覽器響應數據,服務器不會主動向瀏覽器推送數據,這樣是安全考慮,也是提高服務器的性能考慮。
如果要服務器向瀏覽器推送數據,則需要使用ServerPush(ajax隔一段時間到服務器請求最新的數據)等額外的技術。
Http是“請求—響應”的工作方式。
斷點續傳的原理。多線程下載基於斷點續傳。(*)