關於http協議的一些學習筆記
阿新 • • 發佈:2018-12-03
1.http請求頭部資訊
Accept
:瀏覽器能處理的內容型別 。MIME 型別(text/html
、image/png
、application/json
等), * / * 指任意型別Accept-Charset
:瀏覽器能夠顯示的字符集。connection
:瀏覽器與伺服器之間連線的型別(HTTP
請求傳送之前,需要先建立TCP
連線,只有TCP
連線建立,才可以傳送HTTP
請求。)。keep-alive
網路連線就是持久的,不會關閉,使得對同一個伺服器的請求可以繼續在該連線上完成;也就是說:在一次tcp
連線中可以連續傳送多次資料,即可以保持一段時間的tcp
連線,在這個保持的通道上有多個request
response
。而不用每發一次資料就要重新進行三次握手連線,發完一次資料就要立即進行四次揮手釋放連線。 這樣可以提高效能和吞吐率。Access-Control-Allow-Origin
:響應頭指定了該響應的資源是否被允許與給定的origin共享(也就是跨域)。Cookie
:設定當前clien
t和server
的任何Cookie
,鍵值格式。cookie
一般會設定client
和server
之間的唯一會話標誌Cookie
:設定當前client
和serve
r的任何Cookie
,鍵值格式。cookie
一般會設定client
和server
之間的唯一會話標誌.content-type
media type
。(1)application/x-www-form-urlencoded
(請求預設設定):一串字串,提交的資料按照 key1=val1&key2=val2 的方式進行編碼;(2)multipart/form-data
:請求體也是一個字串,多用於檔案上傳 (3)application/json
:服務端訊息主體是序列化後的JSON
字串。(4)text/xml
2.請求格式
- 請求行:方法URL議/版本
- 請求頭:一般放使用者資訊
- 請求正文:一般放一些表單資料
GET/sample.jspHTTP/1.1
Accept:image/gif.image/jpeg,/
Accept-Language:zh-cn
Connection:Keep-Alive
Host:localhost
User-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)
Accept-Encoding:gzip,deflate
username=jinqiao&password=1234
程式碼中“GET”代表請求方法,“/sample.jsp”表示URI,“HTTP/1.1代表協議和協議的版本。
GET/sample.jsp HTTP/1.1
請求頭包含許多有關的客戶端環境和請求正文的有用資訊。例如,請求頭可以宣告瀏覽器所用的語言,請求正文的長度等。
Accept:image/gif.image/jpeg./
Accept-Language:zh-cn
Connection:Keep-Alive
Host:localhost
User-Agent:Mozila/4.0(compatible:MSIE5.01:Windows NT5.0)
Accept-Encoding:gzip,deflate.
請求正文 :請求頭和請求正文之間是一個空行,這個行非常重要,它表示請求頭已經結束,接下來的是請求正文
username=jinqiao&password=1234
3.關於cookie和session
Cookie
的主要內容包括:名字,值,過期時間,路徑和域。以鍵值的方式保存於客戶端Session
作用於服務端。瀏覽器第一次傳送請求時,伺服器自動生成了一HashTable
和一Session ID
來唯一標識這個HashTable
,並將其通過響應傳送到瀏覽器。瀏覽器第二次傳送請求會將前一次伺服器響應中的Session ID
放在請求中一併傳送到伺服器上。- 單點登入的原理是後端生成一個
session ID
,設定到cookie
,後面所有請求瀏覽器都會帶上cookie
,然後服務端從cookie獲取session ID
,查詢到使用者資訊.