溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

HTTP基礎(chǔ)知識(shí)

發(fā)布時(shí)間:2020-07-19 08:32:02 來(lái)源:網(wǎng)絡(luò) 閱讀:762 作者:青檸loft 欄目:網(wǎng)絡(luò)管理
  • HTTP連接過(guò)程
  • 請(qǐng)求方法
  • 請(qǐng)求頭
HTTP Request Header 請(qǐng)求頭
  • 狀態(tài)碼
  • 報(bào)文結(jié)構(gòu)
  • cookie、session和token
    • cookie
    • session
    • Token

http://www.runoob.com/http/http-messages.html

HTTP連接過(guò)程

HTTP基礎(chǔ)知識(shí)?

請(qǐng)求方法

請(qǐng)求方法類型 描述
GET 請(qǐng)求指定的頁(yè)面信息,并返回實(shí)體主體。
POST 向指定資源提交數(shù)據(jù)進(jìn)行處理請(qǐng)求(例如提交表單或者上傳文件)。數(shù)據(jù)被包含在請(qǐng)求體中。POST請(qǐng)求可能會(huì)導(dǎo)致新的資源的建立和/或已有資源的修改。
OPTIONS 允許客戶端查看服務(wù)器的性能。
HEAD 類似于get請(qǐng)求,只不過(guò)返回的響應(yīng)中沒(méi)有具體的內(nèi)容,用于獲取報(bào)頭
PUT 從客戶端向服務(wù)器傳送的數(shù)據(jù)取代指定的文檔的內(nèi)容。
DELETE 請(qǐng)求服務(wù)器刪除指定的頁(yè)面。
CONNECT HTTP/1.1協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器。
TRACE 回顯服務(wù)器收到的請(qǐng)求,主要用于測(cè)試或診斷。

請(qǐng)求頭

HTTP Request Header 請(qǐng)求頭

Header請(qǐng)求頭類型 解釋 示例
Accept 指定客戶端能夠接收的內(nèi)容類型 Accept: text/plain, text/html
Accept-Charset 瀏覽器可以接受的字符編碼集 Accept-Charset: iso-8859-5
Accept-Encoding 指定瀏覽器可以支持的web服務(wù)器返回內(nèi)容壓縮編碼類型 Accept-Encoding: compress, gzip
Accept-Language 瀏覽器可接受的語(yǔ)言 Accept-Language: en,zh
Accept-Ranges 可以請(qǐng)求網(wǎng)頁(yè)實(shí)體的一個(gè)或者多個(gè)子范圍字段 Accept-Ranges: bytes
Authorization HTTP授權(quán)的授權(quán)證書 Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Cache-Control 指定請(qǐng)求和響應(yīng)遵循的緩存機(jī)制 Cache-Control: no-cache
Connection 表示是否需要持久連接。(HTTP 1.1默認(rèn)進(jìn)行持久連接) Connection: close
Cookie HTTP請(qǐng)求發(fā)送時(shí),會(huì)把保存在該請(qǐng)求域名下的所有cookie值一起發(fā)送給web服務(wù)器。 Cookie: $Version=1; Skin=new;
Content-Length 請(qǐng)求的內(nèi)容長(zhǎng)度 Content-Length: 348
Content-Type 請(qǐng)求的與實(shí)體對(duì)應(yīng)的MIME信息 Content-Type: application/x-www-form-urlencoded
Date 請(qǐng)求發(fā)送的日期和時(shí)間 Date: Tue, 15 Nov 2010 08:12:31 GMT
Expect 請(qǐng)求的特定的服務(wù)器行為 Expect: 100-continue
From 發(fā)出請(qǐng)求的用戶的Email From: user@email.com
Host 指定請(qǐng)求的服務(wù)器的域名和端口號(hào) Host: www.zcmhi.com
If-Match 只有請(qǐng)求內(nèi)容與實(shí)體相匹配才有效 If-Match: “737060cd8c284d8af7ad3082f209582d”
If-Modified-Since 如果請(qǐng)求的部分在指定時(shí)間之后被修改則請(qǐng)求成功,未被修改則返回304代碼 If-Modified-Since: Sat, 29 Oct 2010 19:43:31 GMT
If-None-Match 如果內(nèi)容未改變返回304代碼,參數(shù)為服務(wù)器先前發(fā)送的Etag,與服務(wù)器回應(yīng)的Etag比較判斷是否改變 If-None-Match: “737060cd8c284d8af7ad3082f209582d”
If-Range 如果實(shí)體未改變,服務(wù)器發(fā)送客戶端丟失的部分,否則發(fā)送整個(gè)實(shí)體。參數(shù)也為Etag If-Range:“737060cd8c284d8af7ad3082f209582d”
If-Unmodified-Since 只在實(shí)體在指定時(shí)間之后未被修改才請(qǐng)求成功 If-Unmodified-Since: Sat, 29 Oct 2010 19:43:31 GMT
Max-Forwards 限制信息通過(guò)代理和網(wǎng)關(guān)傳送的時(shí)間 Max-Forwards: 10
Pragma 用來(lái)包含實(shí)現(xiàn)特定的指令 Pragma: no-cache
Proxy-Authorization 連接到代理的授權(quán)證書 Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Range 只請(qǐng)求實(shí)體的一部分,指定范圍 Range: bytes=500-999
Referer 先前網(wǎng)頁(yè)的地址,當(dāng)前請(qǐng)求網(wǎng)頁(yè)緊隨其后,即來(lái)路 Referer: http://www.zcmhi.com/archives/71.html
TE 客戶端愿意接受的傳輸編碼,并通知服務(wù)器接受接受尾加頭信息 TE: trailers,deflate;q=0.5
Upgrade 向服務(wù)器指定某種傳輸協(xié)議以便服務(wù)器進(jìn)行轉(zhuǎn)換(如果支持) Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
User-Agent User-Agent的內(nèi)容包含發(fā)出請(qǐng)求的用戶信息 User-Agent: Mozilla/5.0 (Linux; X11)
Via 通知中間網(wǎng)關(guān)或代理服務(wù)器地址,通信協(xié)議 Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)
Warning 關(guān)于消息實(shí)體的警告信息 Warn: 199 Miscellaneous warning

狀態(tài)碼

狀態(tài)碼 狀態(tài) 說(shuō)明
200 OK 表示請(qǐng)求被服務(wù)器正常處理
204 No Content 表示請(qǐng)求已成功處理,但是沒(méi)有內(nèi)容返回,也就是返回的響應(yīng)報(bào)文中沒(méi)有報(bào)文實(shí)體,瀏覽器頁(yè)面不會(huì)發(fā)生更新
301 Moved Permanently 永久重定向,表示請(qǐng)求的資源已經(jīng)永久的搬到了其他位置,就是說(shuō)資源已經(jīng)被分配了新的URI
302 Found 臨時(shí)重定向,表示請(qǐng)求的資源臨時(shí)搬到了其他位置請(qǐng)求的資源暫時(shí)被配到到了新的URI
400 Bad Request 表示請(qǐng)求報(bào)文存在語(yǔ)法錯(cuò)誤或參數(shù)錯(cuò)誤,服務(wù)器不理解服務(wù)器不應(yīng)該重復(fù)提交這個(gè)請(qǐng)求。
401 Unauthorized 表示發(fā)送的請(qǐng)求需要有HTTP認(rèn)證信息或者是認(rèn)證失敗了返回401的響應(yīng)必須包含一個(gè)適用于被請(qǐng)求資源的WWW-Authenticate首部以質(zhì)詢用戶信息
403 Forbidden 表示對(duì)請(qǐng)求資源的訪問(wèn)被服務(wù)器拒絕了
404 Not Found 表示服務(wù)器找不到你請(qǐng)求的資源
500 Internal Server Error 表示服務(wù)器執(zhí)行請(qǐng)求的時(shí)候出錯(cuò)了,可能是Web應(yīng)用有bug或臨時(shí)故障
503 Service Unavailable 表示服務(wù)器超負(fù)載或正停機(jī)維護(hù),無(wú)法處理請(qǐng)求

報(bào)文結(jié)構(gòu)

HTTP基礎(chǔ)知識(shí)?

cookie、session和token

cookie

cookie分為‘會(huì)話’‘持久’cookie

  • 會(huì)話cookie:是一種臨時(shí)cookie,無(wú)過(guò)期時(shí)間,是隨著用戶退出瀏覽器時(shí),被刪除。不能被瀏覽器共享。(常常被用于保存sessionID)
  • 持久cookie:是一種保存在硬盤中的cookie,一般會(huì)有一個(gè)過(guò)期時(shí)間,如果過(guò)期,則會(huì)刪除這個(gè)cookie。可以被瀏覽器共享

cookie原理如下:

HTTP基礎(chǔ)知識(shí)?

優(yōu)點(diǎn):

  • 保存在客戶端,不占用服務(wù)器資源。

缺點(diǎn):

  • 安全級(jí)別是三者中最低的,容易被劫持和利用
  • 受瀏覽器的限制很大
  • 存儲(chǔ)有大小和數(shù)量的限制
  • 在禁用cookie的地方無(wú)法使用

session

Session:又稱為“會(huì)話控制”。是存儲(chǔ)特定用戶會(huì)話所需的屬性及配置信息。當(dāng)用戶在應(yīng)用程序的 Web 頁(yè)之間跳轉(zhuǎn)時(shí),存儲(chǔ)在 Session 對(duì)象中的變量將不會(huì)丟失,而是在整個(gè)用戶會(huì)話中一直存在下去。

session原理如下:

HTTP基礎(chǔ)知識(shí)?

優(yōu)點(diǎn):

  • 相對(duì)cookie更安全。
  • 可以靈活的控制存儲(chǔ)對(duì)象。

缺點(diǎn):

  • 存在分布式系統(tǒng)session共享問(wèn)題。需要redis等方式解決。
  • 因?yàn)閟ession是存在cookie中的,所以也繼承了cookie的缺點(diǎn)。

Token

https://my.oschina.net/jamesfancy/blog/1613994 這篇文章對(duì)token講解的非常詳細(xì)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI