Request&Response總結

:HTTP協議總結
    1. HTTP:超文本傳輸協議,定義了瀏覽器與服務器之間數據傳輸的格式;
    2. HTTP協議組成:
        1. 請求報文:請求行,請求頭,請求體;
             1. 請求行:請求報文中的第一行數據,包括**請求方式**,**URL** ,**協議/版本** ;
             2. 請求頭:以鍵值對的數據格式,給服務器傳輸數據。經常使用的請求頭:user-agent,cookie;
             3. 請求體:get請求:沒有請求體;post請求:請求體傳遞請求參數;
        2. 響應報文:響應行,響應頭,響應體; html

二:GET和POST請求的區別
GET請求:
            請求行直接傳遞請求參數
            將請求參數追加在URL後面,不安全。例如:form.html?username=jack&username=1234
            URL長度限制GET請求方式的數據大小,不能夠傳輸數據量較大或者非文本數據
            請求體裏面沒有內容
    POST請求
            請求參數以請求體形式發送給服務器,數據傳輸安全
            請求數據能夠爲非文本數據,能夠傳輸數據量較大的數據
            只有表單設置爲method=」post」纔是post請求.其餘的都是get請求
            常見GET請求:地址欄直接訪問、、<img src=」」> 等 java

三:Request請求
1.獲取請求行信息

2.獲取請求頭信息

3.獲取請求體信息(*****)

4.Request的域對象

5.請求轉發

6.常見的狀態碼

四:Response響應
1.響應頭 瀏覽器

location安全

指定響應的路徑,須要與狀態碼302配合使用,完成跳轉。服務器

content-Typecookie

響應正文的類型(MIME類型)例如:text/html;charset=UTF-8post

content-dispositionurl

經過瀏覽器以附件形式解析正文,例如:attachment;filename=xx.zipspa

refreshorm

頁面刷新,例如:3;url=www.itcast.cn    //三秒刷新頁面到www.itcast.cn

2.重定向

方法

說明

response.setStatus(302); response.setHeader("location", "/otherServlet");經過設置響應狀態碼和響應頭實現重定向
response.sendRedirect("/otherServlet");重定向的簡寫方式
3.轉發和重定向的區別

區別點

轉發

重定向

實現原理服務器內部瀏覽器執行
請求次數一次兩次
瀏覽器地址欄地址不變化變爲第二次請求的地址
可否共享request域可以共享不能共享
做用共享request域對象完成跳轉
4.響應體

方法

說明

ServletOutputStream  getOutputStream()用於向瀏覽器輸出二進制數據。【字節流--文件下載】
java.io.PrintWriter getWriter()用於向瀏覽器輸出字符數據。【字符流--給瀏覽器響應數據】
五:解決亂碼
1.Request亂碼
request.setCharacterEncoding("UTF-8");
2.Response亂碼
response.setContentType("text/html;charset=utf-8");
3.ServletContext對象

相關文章
相關標籤/搜索