http協議: 對瀏覽器客戶端 和 伺服器端 之間資料傳輸的格式規範
http1.0:當前瀏覽器客戶端與伺服器端建立連線之後,
只能傳送一次請求,一次請求之後連線關閉。
http1.1:當前瀏覽器客戶端與伺服器端建立連線之後,
可以在一次連線中傳送多次請求。(基本都使用1.1)
常見的請求方式: get 、 post、 head、 trace、 put、 connect 、delete
常用的請求方式: get 和 post
表單提交:
請求(瀏覽器-》伺服器)
connection: keep-alive
響應(伺服器-》瀏覽器)
this is hello servlet!!!
三部分組成:請求行,請求頭,實體內容
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 --(可選)實體內容
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請求封裝成物件。
那如何提取其中的資訊呢?
httpservletrequest物件作用是用於獲取請求資料。
核心的api:
請求行:
request.getmethod(); 請求方式
request.getrequeturi() / request.getrequeturl()
請求資源
request.getprotocol() 請求http協議版本
請求頭:
request.getheader("名稱") 根據請求頭獲取請求值
request.getheadernames() 獲取所有的請求頭名稱
實體內容:
request.getinputstream() 獲取實體內容資料
http協議內容
http協議 對瀏覽器客戶端 和 伺服器端 之間資料傳輸的格式規範 http1.0 當前瀏覽器客戶端與伺服器端建立連線之後,只能傳送一次請求,一次請求之後連線關閉。http1.1 當前瀏覽器客戶端與伺服器端建立連線之後,可以在一次連線中傳送多次請求。基本都使用1.1 常見的請求方式 get post...
HTTP協議內容1
一 請求協議 瀏覽器 server 格式 1 請求首行 請求方式 請求路徑 協議和版本 例如 get index.html http 1.1 2 請求頭資訊 請求頭名稱 請求頭內容,即為key value格式 例如 host localhos http是無狀態的,所以才會有cookie cookie...
http協議與內容壓縮
為了加快網路上的傳輸的速度,可以將伺服器傳輸的內容進行壓縮,伺服器的壓縮方式有gzip壓縮 deflate壓縮 compress壓縮 content length 壓縮後的長度 如何啟動壓縮功能 1,將apache中的deflate模組開啟 2,在conf檔案中,寫如下 deflatecompres...