http請求和響應

2021-08-21 18:42:06 字數 3590 閱讀 1566

http協議: 對瀏覽器客戶端 和  伺服器端 之間資料傳輸的格式規範

1)使用火狐的firebug外掛程式(右鍵->firebug->網路)

2)使用谷歌的「審查元素」

get /day09/hello http/1.1               -請求行

host: localhost:8080                    --請求頭(多個key-value物件)

user-agent: mozilla/5.0 (windows nt 6.1; wow64; rv:35.0) gecko/20100101 firefox/35.0

accept-language: zh-cn,en-us;q=0.8,zh;q=0.5,en;q=0.3

accept-encoding: gzip, deflate

connection: keep-alive

--乙個空行

name=eric&password=123456             --(可選)實體內容

#請求方式

常見的請求方式: get 、 post、 head、 trace、 put、 connect 、delete

常用的請求方式: get  和 post。

get  和 post的區別:

1)get方式提交

a)位址列(uri)會跟上引數資料。以?開頭,多個引數之間以&分割。

b)get提交引數資料有限制,不超過1kb。

c)get方式不適合提交敏感密碼。

d)注意: 瀏覽器直接訪問的請求,預設提交方式是get方式

2)post方式提交

a)引數不會跟著uri後面。引數而是跟在請求的實體內容中。沒有?開頭,多個引數之間以&分割。

b)post提交的引數資料沒有限制。

c)post方式提交敏感資料。

最重要的:

對於get方式的請求,瀏覽器會把http header和data一併傳送出去,伺服器響應200(返回資料);

而對於post,瀏覽器先傳送header,伺服器響應100 continue,瀏覽器再傳送data,伺服器響應200 ok(返回資料)。

#http協議版本

http1.0:當前瀏覽器客戶端與伺服器端建立連線之後,只能傳送一次請求,一次請求之後連線關閉。

http1.1:當前瀏覽器客戶端與伺服器端建立連線之後,可以在一次連線中傳送多次請求。(基本都使用1.1)

#請求資源

url:  統一資源定位符。如:http://localhost:8080/day09/testimg.html。只能定位網際網路資源。是uri 的子集。

uri: 統一資源標記符。如:/day09/hello。用於標記任何資源。可以是本地檔案系統,區域網的資源如:( 可以是網際網路。

accept: text/html,image/*      -- 瀏覽器接受的資料型別

accept-charset: iso-8859-1     -- 瀏覽器接受的編碼格式

accept-encoding: gzip,compress  --瀏覽器接受的資料壓縮格式

accept-language: en-us,zh-       --瀏覽器接受的語言

host: www.it315.org:80          --(必須的)當前請求訪問的目標位址(主機:埠)

if-modified-since: tue, 11 jul 2000 18:23:51 gmt  --瀏覽器最後的快取時間

referer:      -- 當前請求來自於**

user-agent: mozilla/4.0 (compatible; msie 5.5; windows nt 5.0)  --瀏覽器型別

cookie:name=eric                     -- 瀏覽器儲存的cookie資訊

connection: close/keep-alive            -- 瀏覽器跟伺服器連線狀態。close: 連線關閉  keep-alive:儲存連線。

date: tue, 11 jul 2000 18:23:51 gmt      -- 請求發出的時間

只有post提交的引數會放到實體內容中。

http/1.1 200 ok                --響應行

server: apache-coyote/1.1         --響應頭(key-vaule)

content-length: 24 

date: fri, 30 jan 2015 01:54:57 gmt

--乙個空行

this is hello servlet!!!                  --實體內容

http/1.1   200   ok                --響應行

#http協議版本(和上面的一樣)

#狀態碼: 伺服器處理請求的結果(狀態)

常見的狀態:  

200 :  表示請求處理完成並完美返回

302:   表示請求需要進一步細化。

404:   表示客戶訪問的資源找不到。

500:   表示伺服器的資源傳送錯誤。(伺服器內部錯誤)

#狀態描述

詳細的內容可以看這個:

location:    -表示重定向的位址,該頭和302的狀態碼一起使用。

server:apache tomcat                 ---表示伺服器的型別

content-encoding: gzip                 -- 表示伺服器傳送給瀏覽器的資料壓縮型別

content-length: 80                    --表示伺服器傳送給瀏覽器的資料長度

content-language: zh-cn               --表示伺服器支援的語言

content-type: text/html; charset=gb2312   --表示伺服器傳送給瀏覽器的資料型別及內容編碼

last-modified: tue, 11 jul 2000 18:23:51 gmt  --表示伺服器資源的最後修改時間

refresh: 1;url=     --表示定時重新整理

transfer-encoding: chunked

set-cookie:ss=q0=5lb_nq; path=/search   --表示伺服器傳送給瀏覽器的cookie資訊(會話管理用到)

expires: -1                           --表示通知瀏覽器不進行快取

cache-control: no-cache

pragma: no-cache

connection: close/keep-alive           --表示伺服器和瀏覽器的連線狀態。close:關閉連線 keep-alive:儲存連線

HTTP請求和HTTP響應

客戶端連上伺服器後,向伺服器請求某個web資源,稱之為客戶端向伺服器傳送了乙個http請求,乙個完整 的http請求包括 描述客戶端的請求方式,請求資源名稱,使用的http協議版本號 請求方式get post 預設是get可以更改表單提交方式為post 區別主要在資料傳遞上 get可以在url位址後...

HTTP請求和響應

1 http請求包含的內容 1 http請求的請求行 2 http請求的請求頭 2 http響應包含的內容 1 http響應的狀態行 200表示成功接受請求並完成整個處理過程 302表示去新位址找資源 307和304表示去快取中找資源 404表示客戶請求資源不存在 403表示客戶沒有許可權獲取資源 ...

HTTP 請求和響應過程

一次完整的http請求過程從tcp三次握手建立連線成功後開始,客戶端按照指定的格式開始向服務端傳送http請求,服務端接收請求後,解析http請求,處理完業務邏輯,最後返回乙個http的響應給客戶端,http的響應內容同樣有標準的格式。無論是什麼客戶端或者是什麼服務端,大家只要按照http的協議標準...