HTTP系列学习(笔记一):一文带你详解HTTP协议
1、什么是協(xié)議
計(jì)算機(jī)中的協(xié)議和現(xiàn)實(shí)生活中的協(xié)議是一樣的,一式多份,彼此都遵從共同的一個(gè)規(guī)范,這個(gè)規(guī)范就可以稱(chēng)之為協(xié)議。
2、HTTP協(xié)議的工作流程
3、HTTP請(qǐng)求信息和響應(yīng)信息的格式
請(qǐng)求:
響應(yīng):
常見(jiàn)狀態(tài)碼:
| 1XX | 信息 | 接受到請(qǐng)求,繼續(xù)處理 |
| 2XX | 成功 | 操作成功的收到,理解和接受 |
| 3XX | 重定向 | 為了完成請(qǐng)求,必須采取進(jìn)一步措施 |
| 4XX | 客戶(hù)端錯(cuò)誤 | 請(qǐng)求的語(yǔ)法有錯(cuò)誤,或不伴能完全被滿(mǎn)足 |
| 5XX | 服務(wù)器端錯(cuò)誤 | 服務(wù)器無(wú)法完成明顯有效的請(qǐng)求 |
200: 服務(wù)器成功返回網(wǎng)頁(yè)
301: 永久重定向
302: 臨時(shí)重定向
403: 服務(wù)器告訴客戶(hù)端頁(yè)面未修改,直接取緩存
307: 保持重定向請(qǐng)求中原有的數(shù)據(jù)
404: 網(wǎng)頁(yè)找不到
思考:瀏覽器能發(fā)送HTTP協(xié)議,那HTTP協(xié)議一定要瀏覽器發(fā)送嗎?
答:NO 只要滿(mǎn)足協(xié)議均可
4、緩存
第一次請(qǐng)求 : 200 ok
第二次請(qǐng)求 :304 not modified 未修改狀態(tài)
解釋:在網(wǎng)絡(luò)上,有一些緩存服務(wù)器,甚至瀏覽器自身也有緩存功能,當(dāng)我們第一次訪問(wèn)某圖片時(shí),正常下載圖片,返回200,但第二次訪問(wèn)時(shí)(基于圖片不會(huì)經(jīng)常改動(dòng)前提),服務(wù)器在返回200的同時(shí),還返回圖片的‘簽名’—ETag(簽名 可以理解為 圖片的指紋),當(dāng)瀏覽器再次訪問(wèn)圖片時(shí),去服務(wù)器交驗(yàn)指紋,如果指紋未變化,告訴瀏覽器直接使用緩存,減輕服務(wù)器的負(fù)擔(dān)。
5、擴(kuò)展
如果網(wǎng)站比較大,有N臺(tái)緩存服務(wù)器,那么這N臺(tái)緩存服務(wù)器如何處理主服務(wù)器上的文件
思考:緩存服務(wù)器與主服務(wù)器之間應(yīng)該有一些協(xié)議來(lái)說(shuō)明這個(gè)2個(gè)問(wèn)題?用什么協(xié)議來(lái)說(shuō)明這兩個(gè)問(wèn)題?
答:HTTP協(xié)議,用頭信息,cache-control來(lái)控制
具體用法:
在主服務(wù)器打開(kāi)apache的expires擴(kuò)展,利用該擴(kuò)展來(lái)控制圖片,css,html等文件,控制其是否緩存和緩存周期。
總結(jié)
以上是生活随笔為你收集整理的HTTP系列学习(笔记一):一文带你详解HTTP协议的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: idea terminal 不支持中文
- 下一篇: Git仓库初始化_企业级开发原则