http是hypertext transfer protocol(超文字傳輸協議)的簡寫,它是tcp/ip協議的乙個應用層協議,其版本有http 1.0和http 1.1。http1.0的請求連線只能傳送一次請求,一次請求過後,連線就斷開,而http 1.1的請求連線可以處理多次請求,如果請求要求不斷開連線,那麼伺服器會將連線保持,直到10秒過後,若還未收到請求,則將斷開連線。
http請求的內容分為三部分:請求行、請求頭、實體內容。請求行的格式如下:請求方式 + uri + http協議版本,請求頭則是由多個鍵值對組成,而實體內容則是要提交的資料內容(post方式提交)。1、請求行
1.1 主要的請求方式
get 請求獲得uri代表的資源,其提交的資料將顯示在uri中,資料大小不能超過1k,不適合提交重要資料(可以通過資料加密改善),瀏覽器預設訪問資源為get方式,沒有實體內容
post 向uri標識的資源提交資料,提交的資料在實體內容內,並且提交的內容沒有大小限制
1.2 uri
uri 即uniform resource identifier(統一資源識別符號)的簡稱,用於標記資源
2、請求頭
accept 瀏覽器接受的資料型別
accept-charset 瀏覽器接受的編碼格式
accept-encoding 瀏覽器接受的資料壓縮格式
accept-language 瀏覽器接受的語言
user-agent 瀏覽器型別
cookie 瀏覽器儲存的cookie資訊
connection 是否保持連線close關閉 keep-alive保持連線
date 請求發出的時間
3、實體內容
post請求提交的資料將通過實體內容提交
http響應的內容也分為三部分:響應行、響應頭、實體內容。響應行的格式為:http協議版本 + 響應碼 + 說明1、響應行
1.1 響應碼
2** 表示請求成功
3** 表示請求重定向
4** 表示客戶端請求語法錯誤或請求無法找到
5** 表示伺服器錯誤
1.2 常見響應碼
200 表示請求成功
400 表示請求有語法錯誤
403 表示伺服器拒絕提供服務
404 表示請求資源不存在
500 表示伺服器出現錯誤
503 表示伺服器不能處理請求
2、響應頭
server 表示伺服器型別
content-ecoding 表示伺服器傳送時資料壓縮的型別
content-length 表示伺服器傳送資料的長度
content-language 表示伺服器支援的語言
content-type 表示伺服器傳送資料型別及資料編碼
last-modified 表示伺服器資源最後修改時間
refresh 表示定時重新整理
set-cookie 表示伺服器傳送給瀏覽器的cookie資訊
connection 表示是否斷開與伺服器的連線
location 表示位址重定向,和響應碼302一起使用
3、content-type的型別
常見的**格式型別如下:
text/html : html格式
text/plain :純文字格式
text/xml : xml格式
另外一種常見的**格式是上傳檔案之時使用的:
multipart/form-data : 需要在表單中進行檔案上傳時,就需要使用該格式
HTTP學習筆記 HTTP報文
如果說http是網際網路的信使,那麼http報文就是運送的包裹。所有的http程式都是通過互相傳送報文來完成工作的。本文將介紹http報文的流動方式,報文的組成部分,請求和響應報文之間的區別等。http報文是在http應用程式之間傳送的資料塊,這些資料塊以文字形式存在,以描述了報文的內容及含義的元資...
HTTP學習筆記 HTTP協議
tcp ip協議按層次分為四層 應用層,傳輸層,網路層,資料鏈路層。該層決定了向使用者提 用服務時通訊的活動。如ftp和dns服務等。傳輸層有兩個性質不同的協議 tcp和udp協議。網路層的作用就是計算機之間通過網路裝置進行傳輸時,選擇一條傳輸路線。用來處理連線網路的硬體部分,硬體上的範疇均在該層的...
HTTP學習筆記
響應 響應行 協議,狀態碼,狀態文字 響應頭資訊 格式為key value 空行 主體資訊 可選 例 http 1.1 200 ok content type text html content length 5 hello 請求方法有哪些 有get post put delete head tra...