




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
HyperTextTransferProtocolHyperTextTransferProtocol什么是協(xié)議?HTTP通信交互流程常見的HTTP頭(header)的含義及作用常見HTTP響應(yīng)狀態(tài)碼的含義Cookie、Session的原理HTTP緩存策略HTTP安全、常見攻擊方式及防范策略PHP中HTTP相關(guān)應(yīng)用實(shí)戰(zhàn)Protocol、Protocol、Protocol什么是協(xié)議?協(xié)議這個(gè)詞主要應(yīng)用在計(jì)算機(jī)領(lǐng)域,就是連入網(wǎng)絡(luò)的計(jì)算機(jī)都要遵循的一定的技術(shù)規(guī)范,關(guān)于硬件、軟件和端口等的技術(shù)規(guī)范。計(jì)算機(jī)通信網(wǎng)是由許多具有信息交換和處理能力的節(jié)點(diǎn)互連而成的。要使整個(gè)網(wǎng)絡(luò)有條不紊地工作,就要求每個(gè)節(jié)點(diǎn)必須遵守一些事先約定好的有關(guān)數(shù)據(jù)格式及時(shí)序等的規(guī)則。這些為實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)交換而建立的規(guī)則、約定或標(biāo)準(zhǔn)就稱為網(wǎng)絡(luò)協(xié)議。Protocol、Protocol、Protocol紅外遙控協(xié)議:32768Hz閃16次,停止7.33ms,再閃16次——立即拍照32768Hz閃16次,停止5.36ms,再閃16次——延時(shí)5秒拍照Protocol、Protocol、Protocol飛鴿傳書協(xié)議:1:23149:riverlet::\x20:balabalabalabala版本號(hào):包編號(hào):發(fā)送者姓名:發(fā)送者主機(jī)名:命令字:附加信息(消息內(nèi)容)HTTP/0.9超文本傳輸協(xié)議:GET/index.html——HTTP0.9HTTP/1.0超文本傳輸協(xié)議:POST/index.htmlHTTP/1.0If-Modified-Since:Tue,13May201414:32:22GMTAuthorization:BasicQWxhZGRpbjpvcGVuIHNlc2FtZQ==Connection:keep-alive——HTTP1.0HTTP/1.1超文本傳輸協(xié)議:GET/index.htmlHTTP/1.1Host:Range:bytes=500-999Connection:closeTransfer-Encoding:chunked——HTTP1.1UniformResourceIdentifierhttp://username:passwd
/subdir/file.html?var=value&var2=value2#hashhttp://username:passwd/subdir/file.html?var=value&var2=value2#hashHTTP工作流程訪問一個(gè)網(wǎng)址時(shí),發(fā)生了些什么?
解析域名,獲取IP,通過DNS建立TCP連接向服務(wù)器發(fā)送GET請(qǐng)求返回內(nèi)容斷開連接嗎?HyperTextTransferProtocol客戶端代理服務(wù)器應(yīng)用服務(wù)器HTTP請(qǐng)求
HTTPRequestRequestline
GET/dir/1.htmlHTTP/1.1
請(qǐng)求方法資源位置協(xié)議版本
HTTPheaders
通用header、請(qǐng)求header、實(shí)體headerContent
請(qǐng)求方法
RequestMethodHTTP/1.1規(guī)范中的8個(gè)請(qǐng)求方法:
GET
POST
HEADPUTDELETE
TRACEOPTIONSCONNECTTRACEBACKRequestHeadersAccept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8參數(shù)為ContentTypeq指定優(yōu)先級(jí)[0-1],0為不接受,默認(rèn)為1如果不指定*/*,則其他類型優(yōu)先級(jí)為0RequestHeadersAccept-Charset:
utf-8;q=0.66,*;q=0.6Accept-Encoding:gzip,deflate,sdchAccept-Language:zh-CN,zh;q=0.8,en;q=0.6RequestHeadersAuthorization:
BasicQWxhZGRpbjpvcGVuIHNlc2FtZQ==401UnauthorizedCookie:
version=1;skin=new;RequestHeadersCache-Control:
public,max-age=864000Expect:
100-continueFrom:
RequestHeadersHost:
If-Match:
"aetaghash"If-Modified-Since:
Sun,11May201405:39:55GMTRequestHeadersIf-None-Match:
"aetaghash"If-Range:
"aetaghash"
Sun,11May201405:39:55GMTIf-Unmodified-Since:
Sun,11May201405:39:55GMTRequestHeadersMax-Forwards:
2Proxy-Authorization:
BasicQWxhZGRpbjpvcGVuIHNlc2FtZQ==Range:
bytes=0-499,1000-1499,3000-RequestHeadersReferer:
TE:
trailers,deflateRange:
bytes=0-499,1000-1499,3000-RequestHeadersUpgrade:
HTTP/2.0Via:
2,Warning:
199MiscellaneouswarningRequestHeadersX-Requested-With:
XMLHttpRequestX-Forwarded-For:
client1,proxy1,25HTTPResponseStatusline
HTTP/1.1200OK
HTTPheaders
通用header、響應(yīng)header、實(shí)體header
Content
<html>...</html>
ResponseStatus100-199:參考信息200-299:成功300-399:重定向400-499:客戶端錯(cuò)誤500-599:服務(wù)器錯(cuò)誤ResponseStatus100Continue繼續(xù)相關(guān)請(qǐng)求header:Expect:100-continueResponseStatus101SwitchingProtocols切換協(xié)議Upgrade:HTTP/2.0ResponseStatus200OK一切OKGET/index.htmlHTTP/1.1ResponseStatus201Created已創(chuàng)建通常伴隨Locationheader返回PUT/a-new-doc.htmlHTTP/1.1ResponseStatus202Accepted已接受通常表示PUT創(chuàng)建資源的請(qǐng)求已接受,但并不一定已創(chuàng)建完畢。PUT/a-new-doc.htmlHTTP/1.1ResponseStatus203Non-AuthoritativeInformation成功處理請(qǐng)求,但需要以另一個(gè)資源返回結(jié)果。GET/list.htmlHTTP/1.1ResponseStatus204NoContent已成功處理請(qǐng)求,但沒有響應(yīng)內(nèi)容。按HTTP規(guī)范,瀏覽器收到此響應(yīng)時(shí)不應(yīng)更新當(dāng)前頁面顯示內(nèi)容DELETE/old-content.htmlHTTP/1.1ResponseStatus205ResetContent已成功處理請(qǐng)求,但沒有響應(yīng)內(nèi)容。瀏覽器收到此響應(yīng)時(shí)應(yīng)更新當(dāng)前頁面顯示內(nèi)容,即刷新DELETE/old-content.htmlHTTP/1.1ResponseStatus206PartialContent片段內(nèi)容GET/large.zipHTTP/1.1Range:bytes=0-500ResponseStatus300MultipleChoices多個(gè)選擇如返回不同格式的視頻,選擇項(xiàng)可在響應(yīng)內(nèi)容中列出GET/beauty.aviHTTP/1.1ResponseStatus301MovedPermanently已永久移動(dòng)到其他位置配合Location使用。SEO適用,無結(jié)尾/請(qǐng)求目錄時(shí)也會(huì)自動(dòng)產(chǎn)生此響應(yīng)GET/beautyHTTP/1.1ResponseStatus302Found找到了按HTTP規(guī)范,客戶端此時(shí)應(yīng)使用和導(dǎo)致產(chǎn)生此響應(yīng)的請(qǐng)求方法同樣的方法再次請(qǐng)求Location指定位置的資源但實(shí)踐中,絕大多數(shù)瀏覽器都一律使用GET請(qǐng)求Location中指定的資源。而這一行為卻是HTTP規(guī)范中303SeeOther要求的處理方式。ResponseStatus303SeeOther去看另一個(gè)無論導(dǎo)致產(chǎn)生此響應(yīng)的請(qǐng)求方法是什么,都用GET重新請(qǐng)求Location指定位置的資源GET/beautyHTTP/1.1ResponseStatus304NotModified未修改,無變動(dòng)(用緩存中的吧)Date:Thu,15May201413:45:29GMTETag:"6uIYQYPV5RR"GET/beautyHTTP/1.1If-None-Match:"6uIYQYPV5RR"If-Modified-Since:Tue,13May201418:10:07GMTResponseStatus305UseProxy需要用代理服務(wù)器告知瀏覽器要用Location中指定的代理服務(wù)器訪問。大部分瀏覽器不支持。GET/beautyHTTP/1.1ResponseStatus306SwitchProxy已廢棄。ResponseStatus307TemporaryRedirect臨時(shí)重定向用同樣的請(qǐng)求方法(GET/POST/HEAD...)重新請(qǐng)求Location指定的內(nèi)容,而不是只用GET。用于彌補(bǔ)302在使用實(shí)踐中的錯(cuò)誤。ResponseStatus400BadRequest請(qǐng)求錯(cuò)誤。打開的方式不對(duì)。。ResponseStatus401Unauthorized未被授權(quán)WWW-Authenticate:Basic瀏覽器收到此響應(yīng)會(huì)彈出一個(gè)輸入用戶名、密碼的對(duì)話框ResponseStatus402PaymentRequired需要付款實(shí)踐中很少使用ResponseStatus403Forbidden禁止訪問驗(yàn)證失敗或充實(shí)次數(shù)過多也會(huì)導(dǎo)致出現(xiàn)此響應(yīng)。404NotFoundResponseStatus405MethodNotAllowed訪問方法不對(duì)服務(wù)器禁止以所請(qǐng)求的方法訪問,同時(shí)一般會(huì)通過Allow告知允許的方法:Allow:GET,POST,HEADResponseStatus406NotAcceptable無法接受當(dāng)請(qǐng)求中的Accept系列header中列出的條件無法滿足時(shí),會(huì)產(chǎn)生此響應(yīng)。GET/HTTP/1.1Accept:application/jsonResponseStatus407ProxyAuthenticationRequired代理服務(wù)器需身份驗(yàn)證ResponseStatus408Requesttimeout請(qǐng)求超時(shí)服務(wù)器一直沒遇到Connection:close,會(huì)產(chǎn)生此響應(yīng)并關(guān)閉連接ResponseStatus409Conflict沖突例如兩個(gè)用戶同時(shí)提交PUT請(qǐng)求時(shí)ResponseStatus410Gone沒了資源曾經(jīng)存在,但現(xiàn)在已不復(fù)存在ResponseStatus411LengthRequired需要提供內(nèi)容長度Content-LengthResponseStatus412PreconditionFailed前置條件不足常用于響應(yīng)PUT請(qǐng)求,避免出現(xiàn)修改時(shí)內(nèi)容已發(fā)生變動(dòng)而被覆蓋的情況。PUT/new-article-1211.htmlHTTP/1.1IF-Match:"an-old-etag"ResponseStatus413RequestEntityTooLarge
請(qǐng)求實(shí)體太大414Request-URITooLong
請(qǐng)求URL太長415UnsupportedMediaType
不支持的媒體類型,如上傳了一個(gè)不支持的文件類型ResponseStatus416RequestRangeNotSatisfiable
Range請(qǐng)求片段無法滿足417ExpectationFailed
Expect請(qǐng)求無法滿足418
I'maTeapot
。。。。用茶壺煮咖啡的時(shí)候ResponseStatus500InternalServerError
服務(wù)器錯(cuò)誤501NotImplemented
請(qǐng)求的方法或功能未實(shí)現(xiàn)ResponseStatus502BadGateway
網(wǎng)關(guān)錯(cuò)誤。代理服務(wù)器從上游服務(wù)器收到一個(gè)無效響應(yīng)時(shí),會(huì)給客戶端返回此響應(yīng)503ServiceUnavailable
服務(wù)暫不可用。如上游服務(wù)器超載或暫時(shí)停機(jī)維護(hù)等,代理服務(wù)器則返回此響應(yīng)??筛綆etry-After頭。ResponseStatus504GatewayTimeout
網(wǎng)關(guān)超時(shí)。代理服務(wù)器無法在限定時(shí)間內(nèi)從上游服務(wù)器收到一個(gè)有效響應(yīng)505HTTPVersionNotSupported
HTTP版本不支持
ResponseHeadersAccept-Ranges:
bytesAge:
231Content-Disposition:
attachment;filename="example.zip"12:34:56proxyb緩存了一份webserver說max-age=900的網(wǎng)頁12:44:26瀏覽器發(fā)起了一個(gè)請(qǐng)求12:44:41請(qǐng)求被proxya轉(zhuǎn)發(fā)給proxyb12:44:56proxyb算age=600,發(fā)給proxya(12:44:56-12:34:56)12:45:11proxya計(jì)算其當(dāng)前age為615(12:45:11-12:34:56)12:45:12proxya再添加-轉(zhuǎn)發(fā)處理過程所用的15秒=63012:45:13proxya有加了它自己計(jì)算所用的2秒=63212:45:13由于632<900(max-age),所以proxya最終將內(nèi)容發(fā)
給瀏覽器backResponseHeadersETag:
"abcdthisisatag"Location:
Refresh:
3;/ResponseHeadersRetry-After:
Tue,15Nov201408:12:31GMT
200Server:
"Apache/2.4.2(Unix)"ResponseHeadersSet-Cookie:
name=cat;;path=/;expires=Tue,21May201412:34:56GMT;secureVary:
Accept-Language,User-AgentGeneralHeadersCache-Control:
max-age=600,no-cache="Set-Cookie"Connection:
Keep-Alive
CloseGeneralHeadersDate:
Tue,21May200212:34:56GMTPragma:
no-cacheKeep-Alive:
300GeneralHeadersTrailer:
DateHTTP/1.1200OKContent-Type:text/htmlTransfer-Encoding:chunkedTrailer:Date05line105line20Date:Tue,21May201212:34:56GMTGeneralHeadersTransfer-Encoding:
chunked..HTTP/1.1200OKDate:Tue,21May200212:34:56GMTContent-Type:text/htmlTransfer-Encoding:chunked7f<html><head><title>Transfer-EncodingExample</title></head><body><p>Pleasewaitwhilewecompleteyourtransaction...</p>2c<p>Transactioncomplete!</p></body></html>0GeneralHeadersUpgrade:
TLS/1.0GET/HTTP/1.1Host:Upgrade:TLS/1.0Connection:UpgradeHTTP/1.1101SwitchingProtocolsUpgrade:TLS/1.0,HTTP/1.1Connection:UpgradeGeneralHeadersVia:
proxy1,proxy2Warning:
110Responseisstale
112Disconnectedoperation
...EntityHeadersAllow:
GET,HEAD,POSTContent-MD5:
ZTFmZDA5MDYyYTMzZGQzMDMxMmIxMjc4YThhNTMyM2I=Content-Range:
600-900/1234EntityHeadersContent-Encoding:
gzipContent-Language:
zh_CNContent-Length:
8848EntityHeadersExpires:
Tue,21May201612:34:56GMTLast-Modified:
Tue,21May201312:34:56GMTContent-Length:
8848格式規(guī)范每行,以\r\n結(jié)束,header、content中間要有一空行
Header-Name:value
Tue,21May200212:34:56GMT
周,兩位日期三位月四位年時(shí)間GMT
gmdate("D,dMYH:i:sT",time());urlencode()&rawurlencode()媒體類型*/*type/*type/subtypeIANA預(yù)定義的8個(gè)主類:application\audio\image\message\model\multipart\text\videoContent-Disposition:attachment;filename="example.pdf"Content-Disposition:inline;filename="playlist.m3u"HTTP性能優(yōu)化
performance緩存Cache-control、If-Modified-Since、ETag連接Connection:keep-aliveKeep-Alive:10壓縮Accept-Encoding、Content-Encodingob_start("ob_gzhandler")
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 5《鋪滿金色巴掌的水泥道》教學(xué)設(shè)計(jì)-2024-2025學(xué)年三年級(jí)上冊語文統(tǒng)編版
- 1我是獨(dú)特的(教學(xué)設(shè)計(jì))2023-2024學(xué)年統(tǒng)編版道德與法治六年級(jí)下冊
- 學(xué)校室內(nèi)油漆 合同范本
- 3《公民意味著什么》第2課時(shí) 教學(xué)設(shè)計(jì)-2024-2025學(xué)年道德與法治六年級(jí)上冊統(tǒng)編版
- Module 6 Unit 2(教學(xué)設(shè)計(jì)) 2024-2025學(xué)年外研版英語八年級(jí)上冊
- 買賣門合同范本
- 現(xiàn)場布置采購合同范本
- 3《我們班 他們班》 第1課時(shí) 教學(xué)設(shè)計(jì)-2024-2025學(xué)年道德與法治四年級(jí)上冊統(tǒng)編版
- 14 學(xué)習(xí)有方法 第一課時(shí) 教學(xué)設(shè)計(jì)-2023-2024學(xué)年道德與法治二年級(jí)下冊統(tǒng)編版
- 商品房買賣合同補(bǔ)充協(xié)議合同協(xié)議
- 2024年達(dá)州市總工會(huì)招聘工會(huì)社會(huì)工作者筆試真題
- 2025至2030年中國肌酸數(shù)據(jù)監(jiān)測研究報(bào)告
- 1.2 讀懂彼此的心 第二課時(shí) 課件 2024-2025學(xué)年五年級(jí)下冊道德與法治 統(tǒng)編版
- 2025年度電視產(chǎn)品進(jìn)出口貿(mào)易合同4篇
- 2025年“開學(xué)第一課”觀后感心得體會(huì)(3篇)
- 外科護(hù)理5分鐘小講課
- 2025年中國融通農(nóng)發(fā)社會(huì)招聘筆試參考題庫含答案解析
- 2025年天津市寧河區(qū)事業(yè)單位招聘12人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年福建省莆田市數(shù)學(xué)三上期末質(zhì)量檢測模擬試題含解析
- 2025年山東菏澤投資發(fā)展集團(tuán)限公司招聘61人管理單位筆試遴選500模擬題附帶答案詳解
- 幕墻工程項(xiàng)目管理手冊
評(píng)論
0/150
提交評(píng)論