一、常見的認(rèn)證方式
常見認(rèn)證方式
- BASIC認(rèn)證(基本認(rèn)證)
- DIGEST 認(rèn)證(摘要認(rèn)證)
- SSL 客戶端認(rèn)證
- FormBase 認(rèn)證(基于表單認(rèn)證)
BASIC(http 1. 0 現(xiàn)在基本不用)
DIGEST (http 1. 0 現(xiàn)在基本不用)
SSL 客戶端認(rèn)證
SSL 客戶端認(rèn)證是借由 HTTPS 的客戶端證書完成認(rèn)證的方式。 憑借客戶端證書認(rèn)證,服務(wù)器可確認(rèn)訪問是否來自已登錄的客戶端。
一般是銀行等使用。
比如說大型金額往來的時(shí)候,在客戶端操作,會(huì)給一個(gè)U 盾。 插上才能使用
FormBase 認(rèn)證(基于表單認(rèn)證)
寫在代碼里面的,用戶提交信息,進(jìn)行認(rèn)證;通過Cookie 和session 的方式進(jìn)行驗(yàn)證。
可查看http-簡單的http 協(xié)議;
查看cookie 和session
二、連接
http 本來是在服務(wù)器 給四次握手?jǐn)嚅_后,就結(jié)束了。
http的長連接和短連接本質(zhì)上是TCP 的長連接和短連接。
短連接
HTTP/1.0 中,默認(rèn)使用的就是短連接。瀏覽器和服務(wù)器在四次揮手后,就中斷。
再次請求,就有一次開啟。所以資源多的話,就會(huì)頻繁的發(fā)起http請求。
如何減少http 請求
長連接
HTTP/1.1 起,默認(rèn)使用長連接。用來保持連接的正常。
Connection
Connection:keep-alive 當(dāng)一個(gè)網(wǎng)頁打開完成后,客戶端和服務(wù)器之間用于傳輸HTTP數(shù)據(jù)的TCP連接不會(huì)關(guān)閉,如果客戶端再次訪問這個(gè)服務(wù)器上的網(wǎng)頁,會(huì)繼續(xù)使用這一條已經(jīng)建立的連接
Connection:close 代表-個(gè)Request完成后,客戶端和服務(wù)器之間用于傳輸HTTP數(shù)據(jù)的TCP連接會(huì)關(guān)閉,當(dāng)客戶端再次發(fā)送Request,需要重新建立TCP連接
使用長連接示意圖
長連接的優(yōu)點(diǎn):
- 減少了TCP 連接的重復(fù)建立和斷開所造成的額外開銷,減輕了服務(wù)器端的負(fù)載。
- 減少開銷的那部分時(shí)間,使HTTP請求和響應(yīng)能夠更早的結(jié)束,這樣web 頁面的顯示速度也就相應(yīng)的提高了。
- HTTP/1.1 所有的連接默認(rèn)都是持久連接。
管線化
持久連接,讓多數(shù)請求以管線化的方式發(fā)送成為可能。這樣發(fā)送請求不再是等待上一個(gè)請求收到響應(yīng)后,在發(fā)送下一個(gè)請求。管線化可以做到同時(shí)并行發(fā)送多個(gè)請求,而不需要串行的發(fā)送請求 了
但是管線化,有個(gè)問題,就是開始以什么順序發(fā)送的,那么接收的時(shí)候,就是什么順序。所以,瀏覽器幾乎不怎么使用管線化這個(gè)技術(shù)。
三、代理
web 代理
代理是一種有轉(zhuǎn)發(fā)功能的應(yīng)用程序,它扮演了位于服務(wù)器和客戶端
“中間人”的角色,接收由客戶端發(fā)送的請求并轉(zhuǎn)發(fā)給服務(wù)器,同
時(shí)也接收服務(wù)器返回的響應(yīng)并轉(zhuǎn)發(fā)給客戶端
代理,兩端使用的協(xié)議都一樣
在 HTTP 通信過程中,可級聯(lián)多臺(tái)代理服務(wù)器。請求和響應(yīng)的轉(zhuǎn)發(fā)
會(huì)經(jīng)過數(shù)臺(tái)類似鎖鏈一樣連接起來的代理服務(wù)器。轉(zhuǎn)發(fā)時(shí),需要附加
Via 首部字段以標(biāo)記出經(jīng)過的主機(jī)信息。
web 代理: charles; fiddler等等常用的抓包工具
代理的作用:
- 抓包
- FQ
- 匿名訪問
- 過濾器
網(wǎng)關(guān)
網(wǎng)關(guān)是轉(zhuǎn)發(fā)其他服務(wù)器通信數(shù)據(jù)的服務(wù)器,接收從客戶端發(fā)送來的請求時(shí),它就像自己擁有資源的源服務(wù)器一樣對請求進(jìn)行處理。有時(shí)客戶端可能都不會(huì)察覺,自己的通信目標(biāo)是一個(gè)網(wǎng)關(guān)。
內(nèi)容協(xié)商
內(nèi)容協(xié)商,說白了就是做國際化。
在國外和國內(nèi)都訪問google的網(wǎng)址;一個(gè)出現(xiàn)英文,一個(gè)出現(xiàn)中文。
內(nèi)容協(xié)商機(jī)制的定義:
內(nèi)容協(xié)商機(jī)制是指客戶端和服務(wù)器端就響應(yīng)的資源內(nèi)容進(jìn)行交涉然后提供給客戶端最為適合的資源。內(nèi)容協(xié)商會(huì)以響應(yīng)資源的語言、字符集、編碼方式等作為判斷的基準(zhǔn)。
key | 說明 |
---|---|
Accept | 告知服務(wù)器發(fā)送何種媒體類型 |
Accept-Language | 告知服務(wù)器發(fā)送何種語言 |
Accept-Encoding | 告知服務(wù)器采用何種編碼 |
Accept-Charset | 告知服務(wù)器發(fā)送何種字符集 |
accecpt 常見的類型
text/html : HTML格式
text/plain :純文本格式
text/xml : XML格式
text/css: css格式
image/gif :gif圖片格式
image/jpeg :jpg圖片格式
image/png:png圖片格式
video/mpeg:視頻
vedio/quicktime:視頻
application/xhtml+xml :XHTML格式
application/xml : XML數(shù)據(jù)格式
application/atom+xml :Atom XML聚合格式
application/json : JSON數(shù)據(jù)格式
application/pdf :pdf格式
application/msword : Word文檔格式
application/octet-stream : 二進(jìn)制流數(shù)據(jù)(如常見的文件下載)
application/zip : (如常見的文件下載)
application/x-www-form-urlencoded : < form encType=””>中默認(rèn)的encType,form表單數(shù)據(jù)被編碼為key/value格式發(fā)送到服務(wù)器(表單默認(rèn)的提交數(shù)據(jù)的格式)
更多常見的類型
.doc
application/msword
.dot
application/msword
.docx
application/vnd.openxmlformats-officedocument.wordprocessingml.document
.dotx
application/vnd.openxmlformats-officedocument.wordprocessingml.template
.docm
application/vnd.ms-word.document.macroEnabled.12
.dotm
application/vnd.ms-word.template.macroEnabled.12
.xls
application/vnd.ms-excel
.xlt
application/vnd.ms-excel
.xla
application/vnd.ms-excel
.xlsx
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.xltx
application/vnd.openxmlformats-officedocument.spreadsheetml.template
.xlsm
application/vnd.ms-excel.sheet.macroEnabled.12
.xltm
application/vnd.ms-excel.template.macroEnabled.12
.xlam
application/vnd.ms-excel.addin.macroEnabled.12
.xlsb
application/vnd.ms-excel.sheet.binary.macroEnabled.12
.ppt
application/vnd.ms-powerpoint
.pot
application/vnd.ms-powerpoint
.pps
application/vnd.ms-powerpoint
.ppa
application/vnd.ms-powerpoint
.pptx
application/vnd.openxmlformats-officedocument.presentationml.presentation
.potx
application/vnd.openxmlformats-officedocument.presentationml.template
.ppsx
application/vnd.openxmlformats-officedocument.presentationml.slideshow
.ppam
application/vnd.ms-powerpoint.addin.macroEnabled.12
.pptm
application/vnd.ms-powerpoint.presentation.macroEnabled.12
.potm
application/vnd.ms-powerpoint.template.macroEnabled.12
.ppsm
application/vnd.ms-powerpoint.slideshow.macroEnabled.12
accept 和content-type 的區(qū)別
Http報(bào)頭分為通用報(bào)頭請求報(bào)頭,響應(yīng)報(bào)頭和實(shí)體報(bào)頭。
請求方的http報(bào)頭結(jié)構(gòu):通用報(bào)頭|請求報(bào)頭|實(shí)體報(bào)頭
響應(yīng)方的http報(bào)頭結(jié)構(gòu):通用報(bào)頭|響應(yīng)報(bào)頭|實(shí)體報(bào)頭
Accept 在請求頭里面,表示(發(fā)送端)客戶端希望接收的數(shù)據(jù)類型為:
image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8
Content-Type 在實(shí)體報(bào)頭里,表示 (發(fā)送端)客戶端||服務(wù)端發(fā)送的數(shù)據(jù)類型是:
image/png
也就是說:
希望接收的類型是image/avif,image/webp,image/apng,image/svg+xml,image/,/*;q=0.8
本次接收到的數(shù)據(jù)類型是:
image/png
再舉個(gè)例子:
這個(gè)圖表示:希望接收的是任意類型;
本次請求發(fā)送的數(shù)據(jù)的數(shù)據(jù)格式是:application/json
Accept-Language
首部字段 Accept-Language 用來告知服務(wù)器用戶代理能夠處理的自然語言集(指中文或英文等),以及自然語言集的相對優(yōu)先級??梢淮沃付ǘ喾N自然語言集
Accept-Language: zh-cn,zh;q=0.7,en-us,en;q=0.3
Accept-Encoding
Accept-Encoding 首部字段用來告知服務(wù)器用戶代理支持的內(nèi)容編碼及內(nèi)容編碼的優(yōu)先級順序??梢淮涡灾付ǘ喾N內(nèi)容編碼。
key | 說明 |
---|---|
gzip | 由文件壓縮程序 gzip(GNU zip)生成的編碼格式(RFC1952),采用 Lempel-Ziv 算法(LZ77)及 32 位循環(huán)冗余校驗(yàn)(Cyclic Redundancy Check,通稱 CRC) |
compress | 由 UNIX 文件壓縮程序 compress 生成的編碼格式,采用 LempelZiv-Welch 算ZW)。 |
deflate | 組合使用 zlib 格式(RFC1950)及由 deflate 壓縮算法(RFC1951)生成的編碼格式。 |
identity | 不執(zhí)行壓縮或不會(huì)變化的默認(rèn)編碼格式 |
Accept-Charset
Accept-Charset 首部字段可用來通知服務(wù)器用戶代理支持的字符集及字符集的相對優(yōu)先順序。另外,可一次性指定多種字符集。與首部字段 Accept 相同的是可用權(quán)重 q 值來表示相對優(yōu)先級。
注意:q是權(quán)重系數(shù),范圍 0 =< q <= 1,q 值越大,請求越傾向于獲得其“;”之前的類型表示的內(nèi)容,若沒有指定 q 值,則默認(rèn)為1,若被賦值為0,則用于提醒服務(wù)器哪些是瀏覽器不接受的內(nèi)容類型文章來源:http://www.zghlxwxcb.cn/news/detail-829806.html
內(nèi)容協(xié)商技術(shù)有3種類型文章來源地址http://www.zghlxwxcb.cn/news/detail-829806.html
- 服務(wù)器驅(qū)動(dòng)協(xié)商(用的最多)
- 客戶端驅(qū)動(dòng)協(xié)商
- 透明協(xié)商
到了這里,關(guān)于http-長連接,短連接的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!