請求消息詳解(請求頭、get、post、請求體)


簡述

  我們在servlet的service方法中有兩個參數,分別是ServletRequest和ServletResponse,如果想掌握這兩個參數,我們必須對請求消息和相應消息有個深入的理解。

請求消息

  請求消息本質上就是客戶端告訴服務器的一些信息。

  請求消息由請求行、請求頭、請求空行、請求體組成。

  像這樣就是一個完整的請求消息

POST /login.html    HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://localhost/login.html
Connection: keep-alive
Upgrade-Insecure-Requests: 1

請求行

  請求方式 請求url 請求協議/版本
  例:   GET /login.html HTTP/1.1

  * 請求方式:
  * HTTP協議有7中請求方式,常用的有2種
  * GET:
  1. 請求參數在請求行中,在url后。
  2. 請求的url長度有限制的
  3. 不太安全
  * POST:
  1. 請求參數在請求體中
  2. 請求的url長度沒有限制的
  3. 相對安全

  如果面試問你,get請求和post請求有什么區別,那么請看超人:https://www.cnblogs.com/logsharing/p/8448446.html

請求頭

  格式:請求頭名稱: 請求頭值

  例: Host: localhost

  注意值有多個的情況下值用逗號隔開

  例如這樣就是一個整個的請求頭

Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://localhost/login.html
Connection: keep-alive
Upgrade-Insecure-Requests: 1

  常見的請求頭:

  1.User-Agent:瀏覽器告訴服務器,我訪問你使用的瀏覽器版本信息,可以在服務器端獲取該頭的信息,解決瀏覽器的兼容性問題

  2.Accept: 我作為瀏覽器可以解析哪些文件

  3.Referer:http://localhost/login.html : 告訴服務器,我(當前請求)從哪里來?可以防盜鏈

    什么是盜鏈呢?意思是一些盜版網站用了別人網站的鏈接

  同時Referer頭可以做一個來源統計的操作。

  4.Connection: 連接是否可以被復用

請求空行

  請求空行就是一個空行,意思就是告訴服務器從下一行開始就沒有請求頭了

請求體

  注意get請求是沒有請求體的,只有post請求有請求體

  請求體是以鍵值對的方式傳輸的

  post的請求體就是以鍵值對

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM