servletRequest獲取請求消息
分為4部分
1.請求行
格式:
請求方式 請求url 請求協議/版本
GET /login.html HTTP/1.1
特點:
行和頭之間沒有任何分隔,請求行下面就連着請求頭
請求方式:
HTTP協議有7種請求方式,常用的有兩種
get:
1.請求參數在請求行中,url后![]()
2.請求的url有長度限制
3.不安全,信息都在url后
post:
1.請求參數在請求體中![]()
2.請求的url長度沒有限制
3.相對安全,信息在請求體中
文件的上傳只能用post方式,文件大,超出了get請求的url限制
2.請求頭(告訴服務器瀏覽器的一些信息)
請求頭名稱:請求值
多個值用,分隔開
常見的請求頭
Host:請求主機的地址
會在編程的時候使用
2.Accept:告訴服務器,瀏覽器可以接收什么樣響應信息的格式
3.Accept-Language:瀏覽器可以支持的語言環境
4.Accept-Encoding:可以接收的壓縮格式
5.Referer:
Referer: http://localhost:8080/login.html告訴服務器我(當前請求)從哪里來?
1.防盜鏈:
2.統計工作:
6.Connection:一直活着的。表示連接可以被復用
Connection: keep-aliveUpgrade-Insecure-Requests: 1升級的信息
3.請求空行
空行:分隔作用,分隔post請求頭和請求體
4.請求體(正文)封裝post請求消息的請求參數
get方式沒有請求體
post就會出現請求體
具體的字符串格式 (火狐F12網絡)
GET/login.html HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;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
Connection: keep-alive
Upgrade-Insecure-Requests: 1
If-Modified-Since: Thu, 20 Feb 2020 04:47:18 GMT
If-None-Match: W/"272-1582174038444"
POST /login.html HTTP/1.1
Host: localhost:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;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
Content-Type: application/x-www-form-urlencoded
Content-Length: 18
Origin: http://localhost:8080
Connection: keep-alive
Referer: http://localhost:8080/login.html
Upgrade-Insecure-Requests: 1
username=zhang