名為超文字傳輸協議,基於tcp/ip通訊協議來傳遞資料的應用層中的協議(html 檔案, 檔案, 查詢結果等)的。訪問的是遠端的網路資源,格式是http://,http協議是在網路開發中最常用的協議
.請求:1個完整的由客戶端發給伺服器的http請求中包含以下內容
請求行:包含請求方法,請求資源路徑,http協議版本
accept:用於告訴伺服器,客戶機支援的資料型別 (例如:accept:text/html,image/*)
accept-charset:用於告訴伺服器,客戶機採用的編碼格式
accept-encoding:用於告訴伺服器,客戶機支援的資料壓縮格式
accept-language:客戶機語言環境
host:客戶機通過這個伺服器,想訪問的主機名
if-modified-since:客戶機通過這個頭告訴伺服器,資源的快取時間
referer:客戶機通過這個頭告訴伺服器,它(客戶端)是從哪個資源來訪問伺服器的(防盜煉)
user-agent:客戶機通過這個頭告訴伺服器,客戶機的軟體環境(作業系統,瀏覽器版本等)
cookie:客戶機通過這個頭,將coockie資訊帶給伺服器
connection:告訴伺服器,請求完成後,是否保持連線
date:告訴伺服器,當前請求的時間
請求體:
就是指瀏覽器端通過http協議傳送給伺服器的實體資料。例如:name=dylan&id=110
(get請求時,通過url傳給伺服器的值。post請求時,通過表單傳送給伺服器的值)
.響應:客戶端向伺服器傳送請求,伺服器應當做出響應,即返回資料給客戶端,1個完整的http響應中包含以下內容:狀態行:包含了http協議版本,狀態碼,狀態英文名稱
響應頭:包含了對伺服器的描述,對返回資料的描述
server: apache-coyote/1.1 // 伺服器的型別
content-type: image/jpeg // 返回資料的型別
content-length: 56811 // 返回資料的長度
date: mon, 23 jun 2014 12:54:52 gmt // 響應的時間
connection:響應完成後,是否斷開連線。 close/keep-alive
date:告訴瀏覽器,伺服器響應時間
2、靈活:http允許傳輸任意型別的資料物件。正在傳輸的型別由content-type加以標記。
3.無連線:無連線的含義是限制每次連線只處理乙個請求。伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連線。採用這種方式可以節省傳輸時間。
4.無狀態:http協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺少狀態意味著如果後續處理需要前面的資訊,則它必須重傳,這樣可能導致每次連線傳送的資料量增大。另一方面,在伺服器不需要先前資訊時它的應答就較快。
get: 向指定的資源發出「顯示」請求。使用get方法應該只用在讀取資料,而不應當被用於產生「***」的操作中 。
head: 向伺服器發出指定資源的請求。只不過伺服器將不傳回資源的本文部分。它的好處在於,使用這個方法可以在不必傳輸全部內容的情況下,就可以獲取其中「關於該資源的資訊」(元資訊或稱元資料)。
post: 向指定資源提交資料,請求伺服器進行處理(例如提交表單或者上傳檔案)。資料被包含在請求本文中。這個請求可能會建立新的資源或修改現有資源,或二者皆有。
delete: 請求伺服器刪除request-uri所標識的資源。
trace: 回顯伺服器收到的請求,主要用於測試或診斷。 [tres]
options: 這個方法可使伺服器傳回該資源所支援的所有http請求方法。用'*'來代替資源名稱,向web伺服器傳送options請求,可以測試伺服器功能是否正常運作。
connect: http/1.1協議中預留給能夠將連線改為管道方式的**伺服器。通常用於ssl加密伺服器的鏈結(經由非加密的http**伺服器)。
狀態**有三位數字組成,第乙個數字定義了響應的類別,共分五種類別:
1xx:指示資訊--表示請求已接收,繼續處理
2xx:成功--表示請求已被成功接收、理解、接受
3xx:重定向--要完成請求必須進行更進一步的操作
4xx:客戶端錯誤--請求有語法錯誤或請求無法實現
5xx:伺服器端錯誤--伺服器未能實現合法的請求
常見狀態碼&含義
200 - 請求成功,已經正常處理完畢
301 - 請求永久重定向,轉移到其它url
302 - 請求臨時重定向
304 - 請求被重定向到客戶端本地快取
400 - 客戶端請求存在語法錯誤
401 - 客戶端請求沒有經過授權
403 - 客戶端的請求被伺服器拒絕,一般為客戶端沒有訪問許可權
404 - 客戶端請求的url在服務端不存在
500 - 服務端永久錯誤
http協議詳細內容( Http協議概述
http協議的特點 1.支援客戶端 伺服器模式 3.靈活 http協議允許傳輸任意型別的資料物件。正在傳輸的型別有content type加以標記。5.無狀態 http協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺少狀態意味著如果後續處理需要前面的資訊,則它必須重傳,這樣可能導致每次鏈...
HTTP協議概述
宣告 本人的所有部落格皆為個人筆記,作為個人知識索引使用,因此在敘述上存在邏輯不通順 跨度大等問題,希望理解。分享出來僅供大家學習翻閱,若有錯誤希望指出,感謝!應用http協議時必須是一端擔任客戶端角色,另一端擔任伺服器角色 實際情況下,兩台計算機作為客戶端與伺服器的角色有可能會互換,http協議能...
HTTP協議概述
協議其實就是我們約定的規則,幹什麼都有幹什麼的規則,工作有勞動合同,買房有買房的規則。網路協議就是資料在網路上傳輸的規則 http pop3 pop imap ftp,流 協議。http htyper text transform protocal 超文字傳輸協議 如何在互聯 網上傳輸超文字,htm...