HTTP請求與響應協議

2022-02-04 23:25:53 字數 4608 閱讀 1263

http(hypertext transport protocol),即超文字傳輸協議。這個協議詳細規定了瀏覽器和全球資訊網伺服器之間互相通訊的規則

http就是乙個通訊規則,通訊規則規定了客戶端傳送給伺服器的內容格式,也規定了伺服器傳送給客戶端的內容格式。客戶端傳送給伺服器的格式叫「請求協議」;伺服器傳送給客戶端的格式叫「響應協議」

請求協議的格式如下:

請求首行(方法——uri——協議/版本)

請求頭(key/value形式 頭資訊:頭內容)

空行請求體(get方式沒有,post方式有)

瀏覽器傳送給伺服器的內容需要遵循這個格式,如果不是這個格式伺服器將無法解讀

我們現在使用的http都是1.1版本的,最新的是http/2版本,不過還沒有廣泛使用,在http1.1規範中定義了7種型別的請求方法,包括get,post,head,options,put

,delete以及trace,其中getpost較為常用

uri 定義了乙個資源的位置,通常解析為伺服器根目錄的相對路徑,因此是以"/"符號打頭,再提一點,url是uri的一種具體型別

每個請求頭(header)都使用換行/回車(即crlf)分割,請求頭和請求體正文之間使用一行空行分割,http伺服器據此判斷請求正文的起始位置

先編寫乙個表單項:

<

form

action

=""method

="post"

>

關鍵字:

<

input

type

="text"

name

="keyword"

/>

<

input

type

="submit"

value

="提交"

/>

form

>

輸入hello後點選提交,檢視請求內容如下:

post請求是可以有體的,而get請求不能有請求體。從post請求正文(體)可以看到,表單雖然是一大堆內容,而傳送給伺服器的只有一行字串,說明傳送給伺服器的內容只有一部分,可以減輕伺服器壓力,也說明伺服器只對某些資料感興趣

content-length:13:請求體的長度,這裡表示13個位元組

keyword=hello:請求體內容!hello是在表單中輸入的資料,keyword是表單字段的名字

referer請求頭是比較有用的乙個請求頭,它可以用來做統計工作,也可以用來做防盜煉

同http請求一樣,http響應也包含3部分:

響應首行(協議/版本 狀態碼 狀態碼描述)

響應頭資訊

空行 (同樣,響應頭和響應體之間有空行分割)

響應體

響應體內容是由伺服器傳送給瀏覽器的內容,瀏覽器會根據響應內容來顯示

關鍵字:

<

input

type

="text"

name

="keyword"

/>

<

input

type

="submit"

value

="提交"

/>

form

>

body

>

html

>

響應頭對瀏覽器來說很重要,它說明了響應的真正含義。例如200表示響應成功了,302表示重定向,這說明瀏覽器需要再發乙個新的請求

差不多400系表示客戶端出現的問題,500系表示伺服器端出現的問題,最喜歡的是200狀態碼了,表示響應成功

禁用快取

在html靜態頁面中,一般不禁用快取,因為靜態頁面內容不變,快取可以提公升訪問效率(請求—響應304 再請求—響應200),但是jsp這樣的動態頁面,需要禁用快取,因為經常變化(直接請求—響應200),就不增加304狀態碼的處理,提公升效率

定時重新整理

自動重新整理響應頭,瀏覽器會在3秒之後請求www.baidu.com

refresh: 3;url=
在html頁面中可以使用來指定響應頭,例如禁用快取:

HTTP協議 請求與響應

1 簡介 2 http請求與響應 2.1 http請求 方法 get請求獲取由 request uri 所表示的資源 post 在 request uri 所標識的資源後附加新的資料 head 請求獲取由 request uri 所標識的資源的響應訊息報頭 put請求伺服器儲存乙個資源,並用 req...

HTTP協議 01 請求 響應

http請求 http請求由三部分 請求行 請求頭域 請求正文 約定的請求結構 請求行 請求方法 method 方法 描述get 請求uri標識的資源 post 請求uri標識的資源並傳遞資料 head 請求獲取由uri標識的資源的響應訊息報頭 put請求儲存乙個資源,類似ftp中的put dele...

HTTP協議 01 請求 響應

http請求 http請求由三部分 請求行 請求頭域 請求正文 約定的請求結構 請求行 請求方法 method 方法 描述get 請求uri標識的資源 post 請求uri標識的資源並傳遞資料 head 請求獲取由uri標識的資源的響應訊息報頭 put請求儲存乙個資源,類似ftp中的put dele...