服务器ie打不开http协议,在浏览器输入地址后,这个世界发生了什么(http协议浅谈)...
引言
這篇文章是我各處收集有關(guān)于http的知識(shí),不成體系,愛看不看?,看完點(diǎn)贊。
我們輸入網(wǎng)址之后發(fā)生的事情
輸入網(wǎng)址并回車(URL 包括 協(xié)議名稱 域名或者IP 端口號(hào) 請(qǐng)求資源具體地址 參數(shù))
解析域名 DNS解析
瀏覽器發(fā)送HTTP請(qǐng)求
服務(wù)器處理請(qǐng)求
服務(wù)器返回HTML響應(yīng)
瀏覽器處理HTML頁面
繼續(xù)請(qǐng)求其他資源
首先客戶機(jī)與服務(wù)器需要建立連接,只要點(diǎn)擊某個(gè)超級(jí)連接,HTTP的工作開始。
建立連接后,客戶端發(fā)送一個(gè)請(qǐng)求給服務(wù)器,請(qǐng)求方式的格式為,統(tǒng)一資源標(biāo)識(shí)符(URL),協(xié)議版本號(hào),后面是MIME信息包括服務(wù)器信息、實(shí)體信息和可能的內(nèi)容。
服務(wù)器收到請(qǐng)求后,給予相應(yīng)的響應(yīng)信息,其格式為一個(gè)狀態(tài)行,包括信息的協(xié)議版本號(hào)、一個(gè)成功或者錯(cuò)誤的代碼、后面是MIME信息包括服務(wù)器信息、實(shí)體信息和可能的內(nèi)容。
客戶端接收服務(wù)器所返回的信息通過瀏覽器顯示在用戶的顯示屏上,然后客戶機(jī)與服務(wù)器斷開連接。
如果以上過程任意一步出現(xiàn)錯(cuò)誤,那么產(chǎn)生的錯(cuò)誤信息將返回到客戶端,有顯示器輸出。
TCP/IP協(xié)議棧
http是超文本傳輸協(xié)議,從www瀏覽器傳輸?shù)奖镜貫g覽器的一種傳輸協(xié)議,網(wǎng)站是基于HTPP協(xié)議的,例如網(wǎng)站的圖片、css、js都是基于HTTP協(xié)議進(jìn)行傳輸?shù)?/p>
HTTP協(xié)議是由從客戶機(jī)到服務(wù)器的請(qǐng)求(request)和從服務(wù)器到客戶機(jī)的響應(yīng)(response)進(jìn)行約束和規(guī)范
應(yīng)用層為用戶提供所需要的各種服務(wù),例如HTTP、FTP、DNS、SMTP等。
傳輸層為應(yīng)用層實(shí)體提供端到端的通信功能,保證數(shù)據(jù)包的順序傳遞及數(shù)據(jù)的完整性。該層定義了兩個(gè)主要的協(xié)議:傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)協(xié)議(UDP)
網(wǎng)絡(luò)層解決主機(jī)到主機(jī)的通信問題。IP協(xié)議是國際互聯(lián)層最重要的協(xié)議
網(wǎng)絡(luò)接口層負(fù)責(zé)數(shù)據(jù)在主機(jī)和網(wǎng)絡(luò)之間的交換
請(qǐng)求和響應(yīng)
HTTP請(qǐng)求組成:請(qǐng)求?、消息報(bào)頭、請(qǐng)求正?。
HTTP響應(yīng)組成:狀態(tài)?、消息報(bào)頭、響應(yīng)正?。
請(qǐng)求?組成:以?個(gè)?法符號(hào)開頭,后?跟著請(qǐng)求的URI和協(xié)議的版本。
狀態(tài)?組成:服務(wù)器HTTP協(xié)議的版本,服務(wù)器發(fā)回的響應(yīng)狀態(tài)代碼和狀態(tài)代碼的?本描述。
accept-Encoding 編碼:數(shù)據(jù)的一種組織格式
Accept-Language: 接受的語言
Cache-Control: 緩存
Connection
Cookie
Host:主機(jī)名稱
HTTP請(qǐng)求的幾種方法
OPTIONS:這個(gè)方法可使服務(wù)器傳回該資源所支持的所有HTTP請(qǐng)求方法。用'*'來代替資源名稱,向Web服務(wù)器發(fā)送OPTIONS請(qǐng)求,可以測(cè)試服務(wù)器功能是否正常運(yùn)作。
HEAD:與GET方法一樣,都是向服務(wù)器發(fā)出指定資源的請(qǐng)求。只不過服務(wù)器將不傳回資源的本文部分。它的好處在于,使用這個(gè)方法可以在不必傳輸全部內(nèi)容的情況下,就可以獲取其中“關(guān)于該資源的信息”(元信息或稱元數(shù)據(jù))。
GET:向指定的資源發(fā)出“顯示”請(qǐng)求。使用GET方法應(yīng)該只用在讀取數(shù)據(jù),而不應(yīng)當(dāng)被用于產(chǎn)生“副作用”的操作中,例如在Web
Application中。其中一個(gè)原因是GET可能會(huì)被網(wǎng)絡(luò)蜘蛛等隨意訪問。
POST:向指定資源提交數(shù)據(jù),請(qǐng)求服務(wù)器進(jìn)行處理(例如提交表單或者上傳文件)。數(shù)據(jù)被包含在請(qǐng)求本文中。這個(gè)請(qǐng)求可能會(huì)創(chuàng)建新的資源或修改現(xiàn)有資源,或二者皆有。
PUT:向指定資源位置上傳其最新內(nèi)容。
DELETE:請(qǐng)求服務(wù)器刪除Request-URI所標(biāo)識(shí)的資源。
TRACE:回顯服務(wù)器收到的請(qǐng)求,主要用于測(cè)試或診斷。
HTTP狀態(tài)碼
1xx消息,表示請(qǐng)求已經(jīng)接收,繼續(xù)處理
2xx成功
3xx重定向
4xx客戶端錯(cuò)誤
5xx服務(wù)器錯(cuò)誤
cookies與session
Cookies是保留在客戶端的一小段文本,隨客戶端每一個(gè)請(qǐng)求發(fā)送該URL下的所有cookies到服務(wù)端
Session則保存在服務(wù)器端,通過唯一的值sessionID來區(qū)分每一個(gè)用戶。sessionID隨每個(gè)請(qǐng)求發(fā)送到服務(wù)器,服務(wù)器根據(jù)sessionID來識(shí)別客戶端,再通過session的key 獲取 session的值。
cookie使用
1、cookie將服務(wù)器設(shè)置的cookie返回到服務(wù)器
2、set-cookie 服務(wù)器向客戶端設(shè)置cookie
服務(wù)端在響應(yīng)消息中用Set-Cookie頭將Cookie的內(nèi)容回送給客戶端,客戶端在新的請(qǐng)求中將相同的內(nèi)容攜帶在Cookie頭中發(fā)送給服務(wù)端。從而實(shí)現(xiàn)會(huì)話的保持。
HTTP的鏈路安全
1、加密重要數(shù)據(jù)(密碼md5)
2、對(duì)非重要數(shù)據(jù)簽名 (對(duì)付爬蟲)
3、使用安全連接HTTPS協(xié)議
HTTP2的優(yōu)點(diǎn)
使用二進(jìn)制格式傳輸,更高效、更緊籌
對(duì)報(bào)頭壓縮、降低成本
多路復(fù)用,一個(gè)網(wǎng)絡(luò)連接實(shí)現(xiàn)并行請(qǐng)求
服務(wù)器主動(dòng)推送,減少請(qǐng)求延時(shí)
總結(jié)
以上是生活随笔為你收集整理的服务器ie打不开http协议,在浏览器输入地址后,这个世界发生了什么(http协议浅谈)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 查看linux系统的sp,查看linux
- 下一篇: html5绘制矩形动画,HTML5下绘制