成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

基礎(chǔ) | 你必須得會(huì)網(wǎng)絡(luò)知識(shí)之初識(shí)HTTP

安全 應(yīng)用安全
HTTP:超文本傳輸協(xié)議(HTTP)是一種通信協(xié)議,它允許將超文本標(biāo)記語(yǔ)言文檔從web服務(wù)器傳送到客戶端的瀏覽器。HTTP協(xié)議是構(gòu)建在TCP/IP協(xié)議之上的,是TCP/IP協(xié)議的一個(gè)子集。

[[415233]]

本文轉(zhuǎn)載自微信公眾號(hào)「前端萬(wàn)有引力」,作者一川。轉(zhuǎn)載本文請(qǐng)聯(lián)系前端萬(wàn)有引力公眾號(hào)。

寫(xiě)在前面

秋招已經(jīng)開(kāi)始,校招筆試面試環(huán)節(jié)經(jīng)常考察《計(jì)算機(jī)網(wǎng)絡(luò)》、《操作系統(tǒng)》、《數(shù)據(jù)庫(kù)原理》等計(jì)算機(jī)基礎(chǔ)知識(shí),對(duì)于應(yīng)屆生而言這是必須掌握的技能。已經(jīng)工作的伙伴在技術(shù)發(fā)展遇到瓶頸,不妨將基礎(chǔ)再進(jìn)行鞏固,才能讓自己走得更遠(yuǎn)。

初識(shí)HTTP

HTTP協(xié)議

瀏覽器的簡(jiǎn)易原理圖

HTTP:超文本傳輸協(xié)議(HTTP)是一種通信協(xié)議,它允許將超文本標(biāo)記語(yǔ)言文檔從web服務(wù)器傳送到客戶端的瀏覽器。HTTP協(xié)議是構(gòu)建在TCP/IP協(xié)議之上的,是TCP/IP協(xié)議的一個(gè)子集。

TCP/IP族:TCP/IP協(xié)議是一系列與互聯(lián)網(wǎng)相關(guān)聯(lián)的協(xié)議集合的總成,分層管理是TCP/IP協(xié)議的重要特征。TCP/IP族通常由應(yīng)用層、傳輸層、網(wǎng)絡(luò)層以及數(shù)據(jù)鏈路層構(gòu)成的系統(tǒng)。

計(jì)算機(jī)網(wǎng)絡(luò)的分層

應(yīng)用層:應(yīng)用層一般是編寫(xiě)的應(yīng)用程序,決定向用戶提供什么應(yīng)用服務(wù)。可以通過(guò)系統(tǒng)調(diào)用與傳輸層進(jìn)行通信,比如:FTP、DNS、HTTP等。

傳輸層:傳輸層是通過(guò)系統(tǒng)調(diào)用向應(yīng)用層提供處于網(wǎng)絡(luò)連接中的兩臺(tái)計(jì)算機(jī)之間的數(shù)據(jù)傳輸功能。傳輸層具有兩個(gè)不同性質(zhì)的協(xié)議:TCP和UDP。TCP是面向連接的,可靠的,效率低。UDP是無(wú)連接的,可靠性低,效率高

網(wǎng)絡(luò)層:網(wǎng)絡(luò)層是用于處理在網(wǎng)絡(luò)上流動(dòng)的數(shù)據(jù)包,而數(shù)據(jù)包是網(wǎng)絡(luò)傳輸?shù)淖钚?shù)據(jù)單位。此層規(guī)定了通過(guò)什么路徑(傳輸路線)到達(dá)對(duì)方對(duì)方計(jì)算機(jī),并把數(shù)據(jù)包傳輸給對(duì)方。

鏈路層:鏈路層用于處理連接網(wǎng)絡(luò)的硬件部分,包括控制操作系統(tǒng)、硬件設(shè)備驅(qū)動(dòng)、NIC網(wǎng)絡(luò)適配器以及光纖等物理可見(jiàn)部分。硬件上的范疇均在鏈路層的作用范圍內(nèi)。

數(shù)據(jù)包的封裝過(guò)程

HTTP的傳輸過(guò)程

在發(fā)送端發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)會(huì)從上層傳輸?shù)较聦樱颐拷?jīng)過(guò)一層都會(huì)被打上該層的頭部信息。而接收端接收數(shù)據(jù)時(shí),數(shù)據(jù)會(huì)從下層傳輸?shù)缴蠈樱瑐鬏斍皶?huì)把下層的頭部信息刪除。

在下圖中,當(dāng)你想在瀏覽器查看某個(gè)頁(yè)面時(shí),會(huì)在應(yīng)用層發(fā)起一個(gè)HTTP請(qǐng)求,通過(guò)傳輸層的TCP協(xié)議進(jìn)行分割HTTP報(bào)文,并為每個(gè)報(bào)文打上標(biāo)記序號(hào)、端口號(hào)等信息后發(fā)送到網(wǎng)絡(luò)層。在網(wǎng)絡(luò)層通過(guò)IP協(xié)議為每個(gè)報(bào)文增加作為通訊目的地的MAC地址,然后轉(zhuǎn)發(fā)給鏈路層,接收端的服務(wù)器在鏈路層接收請(qǐng)求的HTTP數(shù)據(jù)。在服務(wù)器返回到瀏覽器的流程則是相反的。

HTTP數(shù)據(jù)傳輸過(guò)程

TCP的三次握手

使用TCP協(xié)議進(jìn)行通信的雙方必須先建立連接,然后才能開(kāi)始傳輸數(shù)據(jù)。為了確保連接雙方的可靠性,在雙方建立連接時(shí),TCP協(xié)議會(huì)采用三次握手策略。

第一次握手:客戶端發(fā)送帶有SYN標(biāo)志的連接請(qǐng)求報(bào)文段,然后進(jìn)入SYN_SEND狀態(tài),等待服務(wù)端的確認(rèn)。

第二次握手:服務(wù)端接受到客戶端的SYN報(bào)文段后,需要發(fā)送ACK信息對(duì)這個(gè)SYN報(bào)文段進(jìn)行確認(rèn),同時(shí)還要發(fā)送自己的SYN請(qǐng)求信息。服務(wù)端會(huì)將上述的信息放到一個(gè)報(bào)文段(SYN+ACK報(bào)文段)中,一并發(fā)送給客戶端,此時(shí)服務(wù)端將會(huì)進(jìn)入SYN_SEND狀態(tài)。

第三次握手:客戶端接收到服務(wù)端的SYN+ACK報(bào)文段后,會(huì)向服務(wù)端發(fā)送ACK確認(rèn)報(bào)文段,這個(gè)報(bào)文段發(fā)送完畢后,客戶端和服務(wù)端都進(jìn)入ESTABLISHED狀態(tài),完成TCP三次握手。

客戶端與服務(wù)端之間的三次握手

講到這里,通常會(huì)有疑問(wèn):為什么TCP協(xié)議要進(jìn)行三次握手而不是兩次呢?

這是因?yàn)橐⒖煽康耐ㄐ牛紫瓤蛻舳撕头?wù)端都得確保對(duì)方具有完整的收發(fā)能力。第一次握手客戶端發(fā)送請(qǐng)求報(bào)文給服務(wù)端,服務(wù)端可以確認(rèn)客戶端的發(fā)送能力是正常的以及服務(wù)端的接收能力是正常的;第二次握手客戶端接收到服務(wù)端返回的報(bào)文信息,可以確認(rèn)服務(wù)端的收發(fā)能力是正常的,同時(shí)客戶端的收發(fā)能力是正常的;第三次握手客戶端再次向服務(wù)端發(fā)送確認(rèn)信息,此時(shí)服務(wù)端可以確認(rèn)客戶端的接收?qǐng)?bào)文的能力和服務(wù)端的發(fā)送能力是正常。最后能夠確認(rèn)雙方的收發(fā)能力是正常的,因此需要進(jìn)行三次握手,而兩次握手是不能彼此確認(rèn)雙方的收發(fā)能力是否正常。

DNS域名解析

在上面的知識(shí)點(diǎn)中,我們知道與HTTP有著密切聯(lián)系的TCP/IP協(xié)議,而DNS服務(wù)與HTTP協(xié)議也有著密不可分的關(guān)系。

比如說(shuō)你要訪問(wèn)百度www.baidu.com,可以使用主機(jī)名100.100.10.10或者域名www.baidu.com進(jìn)行訪問(wèn),但是相比于一串純數(shù)字的IP地址而言,使用域名更容易讓人記住和訪問(wèn)。要知道在計(jì)算機(jī)網(wǎng)絡(luò)中TCP/IP協(xié)議使用的就是IP地址進(jìn)行訪問(wèn),因此需要通過(guò)一種機(jī)制將域名轉(zhuǎn)換為IP地址。而 DNS服務(wù)正是用于解決這個(gè)問(wèn)題的,可以提供域名到IP地址之間的解析服務(wù),其實(shí)就像我們打電話時(shí)查閱通訊錄一樣。

DNS域名解析過(guò)程

如圖所示,當(dāng)我們?cè)跒g覽器輸入www.baidu.com時(shí),具體細(xì)節(jié)如下:

① TCP/IP協(xié)議會(huì)先去訪問(wèn)本地域名解析器,當(dāng)搜索到對(duì)應(yīng)的IP地址則直接返回到客戶端,客戶端則直接向服務(wù)端發(fā)起HTTP請(qǐng)求;而當(dāng)沒(méi)有搜索到www.baidu.com對(duì)應(yīng)的IP地址時(shí),則向上溯源,查找上一級(jí)域名解析器

② TCP/IP協(xié)議訪問(wèn)根域名服務(wù)器搜索對(duì)應(yīng)的IP地址,若同樣的搜索通過(guò)則沿原路返回到客戶端;若沒(méi)有搜索到則繼續(xù)溯源搜尋

③ TCP/IP協(xié)議一直溯源搜尋直至頂級(jí)域名服務(wù)器,搜尋沿原路返回,否則則告知客戶端沒(méi)有此域名

HTTP事務(wù)處理過(guò)程

當(dāng)客戶端訪問(wèn)WEB站點(diǎn)時(shí),首先會(huì)用過(guò)DNS服務(wù)查詢到域名對(duì)應(yīng)的IP地址,返回到客戶端生成HTTP請(qǐng)求,通過(guò)TCP/IP協(xié)議發(fā)送給WEB服務(wù)器。WEB服務(wù)器接收到請(qǐng)求后,會(huì)根據(jù)請(qǐng)求生成相應(yīng)內(nèi)容,并通過(guò)TCP/IP協(xié)議返回到客戶端。

HTTP事務(wù)處理過(guò)程

參考資料

 

  • 《超詳細(xì) DNS 協(xié)議解析》
  • 《圖解HTTP》
  • 《計(jì)算機(jī)網(wǎng)絡(luò)》
  • 慕課網(wǎng)《編程必備基礎(chǔ)-大話HTTP協(xié)議》

 

責(zé)任編輯:武曉燕 來(lái)源: 前端萬(wàn)有引力
相關(guān)推薦

2016-01-04 09:27:56

TCP網(wǎng)絡(luò)協(xié)議

2021-07-18 08:23:47

校招git編程

2017-10-11 15:50:18

光纖通信傳輸

2011-05-20 13:52:31

2016-09-27 13:47:15

Linux網(wǎng)絡(luò)命令

2021-08-31 20:21:11

VitessMySQL分庫(kù)

2018-09-25 16:31:35

維諦技術(shù)

2012-05-14 13:49:56

2023-02-28 08:24:49

2019-12-23 11:02:12

HTTP請(qǐng)求頭網(wǎng)絡(luò)協(xié)議

2012-12-26 09:25:32

2023-09-11 06:12:31

盒子模型CSS

2020-04-20 09:57:00

開(kāi)發(fā)工具技術(shù)

2023-09-19 08:01:33

數(shù)據(jù)格式化程序

2020-06-01 13:15:57

MySQL優(yōu)化查詢

2017-04-29 09:17:28

MySQL優(yōu)化器服務(wù)器

2017-12-07 15:28:36

2020-10-13 14:15:22

HTTPHTTP請(qǐng)求方法

2017-12-07 15:47:25

2021-03-01 07:34:42

Java泛型ArrayList
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产成人啪免费观看软件 | 久久久久久av | 嫩草视频在线免费观看 | a免费视频 | 日日干天天干 | 人人干人人爽 | 精品视频一区二区三区 | 亚洲欧美国产精品一区二区 | 欧美国产日韩在线 | 在线播放中文字幕 | 91资源在线观看 | 久久一起草 | 亚洲精品欧洲 | 亚洲欧美一区在线 | 一区二区不卡视频 | 亚洲精品国产精品国自产在线 | 欧美性区 | 国产精品揄拍一区二区 | 日韩三级一区 | 亚洲人成免费 | 亚洲国产一区二区三区 | 天天综合国产 | 国产精品视频在线观看 | 成人欧美一区二区三区色青冈 | 午夜影院在线观看免费 | 黄色大片在线免费观看 | 在线中文字幕亚洲 | 中文字幕一区二区在线观看 | 天堂视频免费 | 一区二区三区av夏目彩春 | 高清视频一区二区三区 | 久久久久久久久久久久91 | 国产精品日韩一区二区 | 日韩国产在线 | 少妇性l交大片免费一 | 亚洲二区在线 | 日韩欧美一区二区三区在线播放 | 国产精品视频免费观看 | 日韩精品视频中文字幕 | 国产高清一区二区 | 韩日精品一区 |