成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PHP面試??贾W(wǎng)絡(luò)協(xié)議

joywek / 1775人閱讀

摘要:是為互聯(lián)網(wǎng)服務(wù)的協(xié)議族,它是網(wǎng)絡(luò)通信協(xié)議的統(tǒng)稱,由和等協(xié)議組成。預(yù)告本周五更新面試??碱}之會(huì)話控制和網(wǎng)絡(luò)協(xié)議,敬請(qǐng)期待。以上內(nèi)容摘自程序員面試筆試寶典書籍,該書已在天貓京東當(dāng)當(dāng)?shù)入娚唐脚_(tái)銷售。

你好,是我琉憶,歡迎您來到PHP面試專欄。
本周(2019.2-25至3-1)的一三五更新的文章如下:

周一:PHP面試??贾畷?huì)話控制
周三:PHP面試??贾W(wǎng)絡(luò)協(xié)議
周五:PHP面試常考題之會(huì)話控制和網(wǎng)絡(luò)協(xié)議

送2本書:《PHP程序員面試筆試真題解析》

自己整理了一篇面試最愛問的一道題“從網(wǎng)址輸入到看到內(nèi)容背后的流程是什么樣的?”的文章,關(guān)注公眾號(hào):“琉憶編程庫(kù)”,回復(fù):“http”,我發(fā)給你。

以下正文的內(nèi)容來自《PHP程序員面試筆試寶典》書籍,如果轉(zhuǎn)載請(qǐng)保留出處:

一、協(xié)議和TCP/IP

在20世紀(jì)80年代,計(jì)算機(jī)網(wǎng)絡(luò)誕生,它能夠?qū)⒁慌_(tái)臺(tái)獨(dú)立的計(jì)算機(jī)互相連接,使得位于不同地理位置的計(jì)算機(jī)之間可以進(jìn)行通信,實(shí)現(xiàn)信息傳遞和資源共享,形成一組規(guī)模大、功能強(qiáng)的計(jì)算機(jī)系統(tǒng)。不過,計(jì)算機(jī)要想在網(wǎng)絡(luò)中正常通信,必須遵守相關(guān)網(wǎng)絡(luò)協(xié)議的規(guī)則,常用的網(wǎng)絡(luò)協(xié)議有TCP、UDP、IP和HTTP等。

協(xié)議

協(xié)議可簡(jiǎn)單理解為計(jì)算機(jī)之間的一種約定,好比人與人之間對(duì)話所使用的語言。在國(guó)內(nèi),不同地區(qū)的人講的方言都不同,如果要溝通,就要約定一種大家都會(huì)的語言,例如全國(guó)通用的普通話,普通話就相當(dāng)于協(xié)議,溝通相當(dāng)于通信,說話內(nèi)容相當(dāng)于數(shù)據(jù)信息。協(xié)議需要具備通用的特征,但在早期,每家計(jì)算機(jī)廠商都根據(jù)自己的標(biāo)準(zhǔn)來生產(chǎn)網(wǎng)絡(luò)產(chǎn)品,這使得不同廠商制造的計(jì)算機(jī)之間難以通信,嚴(yán)重影響了用戶的日常使用。為了應(yīng)對(duì)這些問題,ISO(國(guó)際標(biāo)準(zhǔn)化組織)制定了一套國(guó)際標(biāo)準(zhǔn)OSI(開放式系統(tǒng)互聯(lián)通信參考模型),將通信系統(tǒng)標(biāo)準(zhǔn)化。所謂標(biāo)準(zhǔn)化是指建立技術(shù)標(biāo)準(zhǔn),企業(yè)按照這個(gè)標(biāo)準(zhǔn)來制造產(chǎn)品,這大大提升了產(chǎn)品的兼容性、互操作性以及易用性。

OSI參考模型將復(fù)雜的協(xié)議分成了7層(見下表),每一層各司其職,并且能獨(dú)立使用,這相當(dāng)于軟件中的模塊化開發(fā),有較強(qiáng)的擴(kuò)展性和靈活性。分層是一種管理哲學(xué),將同一類功能的網(wǎng)絡(luò)協(xié)議分到一層中,使協(xié)議變得靈活可控。

在7層OSI模型中,發(fā)送方從第7層的應(yīng)用層到第1層的物理層,由上至下按順序傳輸數(shù)據(jù),而接收方則從第1層到第7層,由下至上接收數(shù)據(jù),如右圖所示。

TCP/IP

TCP/IP是為互聯(lián)網(wǎng)服務(wù)的協(xié)議族,它是網(wǎng)絡(luò)通信協(xié)議的統(tǒng)稱,由IP、TCP、HTTP和FTP等協(xié)議組成。TCP/IP將通信過程抽象為4層,被視為簡(jiǎn)化的OSI參考模型(如右圖所示,左邊是OSI參考模型,右邊是TCP/IP的模型),但負(fù)責(zé)維護(hù)這套協(xié)議族的不是ISO而是IETF(互聯(lián)網(wǎng)工程任務(wù)組)。TCP/IP在標(biāo)準(zhǔn)化過程中注重開放性和實(shí)用性,需要標(biāo)準(zhǔn)化的協(xié)議會(huì)被放進(jìn)RFC(Request For Comment)文檔中,RFC文檔詳細(xì)記錄了協(xié)議的實(shí)現(xiàn)、運(yùn)用和實(shí)驗(yàn)等各方面的內(nèi)容,并且這些文檔可在線瀏覽。

發(fā)送的數(shù)據(jù)會(huì)在分層模型內(nèi)傳遞,并且每到一層,就會(huì)附加該層的包首部,包首部包含了該層協(xié)議的相關(guān)信息,例如MAC地址、IP地址和端口號(hào)。下圖描繪了從傳輸層到互聯(lián)網(wǎng)層,分別附加了TCP包首部和IP包首部。

互聯(lián)網(wǎng)一詞現(xiàn)在已經(jīng)家喻戶曉,它是由許多網(wǎng)絡(luò)互聯(lián)構(gòu)成的一個(gè)巨型網(wǎng)絡(luò)。早期的網(wǎng)絡(luò)僅僅是連接計(jì)算機(jī),而現(xiàn)代的互聯(lián)網(wǎng)連接的卻是全世界的人?;ヂ?lián)網(wǎng)已經(jīng)不再是單純的以數(shù)據(jù)為核心,而是以人為中心,滲透到生活中的方方面面,顛覆了許多傳統(tǒng)模式,例如足不出戶就能購(gòu)物、社交或娛樂。??


自己整理了一篇面試最愛問的一道題“從網(wǎng)址輸入到看到內(nèi)容背后的流程是什么樣的?”的文章,關(guān)注公眾號(hào):“琉憶編程庫(kù)”,回復(fù):“http”,我發(fā)給你。

二、HTTP

HTTP(HyperText Transfer Protocol)即超文本傳輸協(xié)議,是一種獲取網(wǎng)絡(luò)資源(例如圖像、HTML文檔)的應(yīng)用層協(xié)議,它是互聯(lián)網(wǎng)數(shù)據(jù)通信的基礎(chǔ),由請(qǐng)求和響應(yīng)構(gòu)成(如右圖所示)。通常,客戶端發(fā)起HTTP請(qǐng)求(在請(qǐng)求報(bào)文中會(huì)指定資源的URL),然后用傳輸層的TCP協(xié)議建立連接,最后服務(wù)器響應(yīng)請(qǐng)求,做出應(yīng)答,回傳數(shù)據(jù)報(bào)文。HTTP自問世到現(xiàn)在,經(jīng)歷了幾次版本迭代,目前主流的版本是HTTP/1.1,新一代HTTP/2.0是HTTP/1.1的升級(jí)版,各方面都超越了前者,但新技術(shù)要做到軟硬件兼容還需要假以時(shí)日。


HTTP協(xié)議有三個(gè)特征,分別是持久連接、管道化以及無狀態(tài)。

(1)持久連接
在HTTP的早期版本中,一次HTTP通信完成后就會(huì)斷開連接,下一次再重新連接,如右圖所示。在當(dāng)時(shí)請(qǐng)求資源并不多的情況下,并不會(huì)造成大問題。但隨著HTTP的普及,請(qǐng)求的資源越來越龐大,例如一個(gè)HTML文檔中可能會(huì)包含多個(gè)CSS文件、JavaScript文件、圖像甚至視頻,如果還這么操作,會(huì)造成巨大的通信開銷。

為了解決上述問題,提出了持久連接,只要通信兩端的任意一端沒有明確提出斷開,就保持連接狀態(tài),以便下一次通信復(fù)用該連接,這避免了重復(fù)建立和斷開連接所造成的開銷,加速了頁(yè)面呈現(xiàn),如下圖所示。

(2)管道化
管道化是建立在持久連接上的進(jìn)一步性能優(yōu)化。過去,請(qǐng)求必須按照先進(jìn)先出的隊(duì)列順序,也就是發(fā)送請(qǐng)求后,要等待并接收到響應(yīng),才能再繼續(xù)下一個(gè)請(qǐng)求。啟用管道化后,就會(huì)將隊(duì)列順序遷移到服務(wù)器,這樣就能同時(shí)發(fā)送多個(gè)請(qǐng)求,然后服務(wù)器再按順序一個(gè)接一個(gè)地響應(yīng),如下圖所示。?

(3)狀態(tài)管理
HTTP是一種無狀態(tài)協(xié)議,請(qǐng)求和響應(yīng)一一對(duì)應(yīng),不會(huì)出現(xiàn)兩個(gè)請(qǐng)求復(fù)用一個(gè)響應(yīng)的情況(如下圖所示)。也就是說,每個(gè)請(qǐng)求都是獨(dú)立的,即使在同一條連接中,請(qǐng)求之間也沒有聯(lián)系。??

在有些業(yè)務(wù)場(chǎng)景中,需要請(qǐng)求有狀態(tài),例如后臺(tái)登錄。成功登錄后就得保存登錄狀態(tài),否則每次跳轉(zhuǎn)進(jìn)入其他頁(yè)面都會(huì)要求重新登錄。為了能管理狀態(tài),引入了Cookie技術(shù),Cookie技術(shù)能讓請(qǐng)求和響應(yīng)的報(bào)文都附加Cookie信息,客戶端將Cookie值發(fā)送出去,服務(wù)器接收并處理這個(gè)值,最終就能得到客戶端的狀態(tài)信息。


預(yù)告:本周五更新PHP面試常考題之會(huì)話控制和網(wǎng)絡(luò)協(xié)議,敬請(qǐng)期待。

以上內(nèi)容摘自《PHP程序員面試筆試寶典》書籍,該書已在天貓、京東、當(dāng)當(dāng)?shù)入娚唐脚_(tái)銷售。

更多PHP相關(guān)的面試知識(shí)、考題可以關(guān)注公眾號(hào)獲?。?strong>琉憶編程庫(kù)

對(duì)本文有什么問題或建議都可以進(jìn)行留言,我將不斷完善追求極致,感謝你們的支持。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/30173.html

相關(guān)文章

  • PHP面試考之會(huì)話控制

    摘要:一的會(huì)話也稱為。如果啟動(dòng)會(huì)話成功,則函數(shù)返回,否則返回。會(huì)話啟動(dòng)后就可以載入該會(huì)話已經(jīng)注冊(cè)的會(huì)話變量以便使用。但數(shù)組創(chuàng)建的在會(huì)話結(jié)束后就會(huì)失效。預(yù)告本周三更新面試??贾W(wǎng)絡(luò)協(xié)議,敬請(qǐng)期待。 你好,是我琉憶,歡迎您來到PHP面試專欄。本周(2019.2-25至3-1)的一三五更新的文章如下: 周一:PHP面試常考之會(huì)話控制周三:PHP面試??贾W(wǎng)絡(luò)協(xié)議周五:PHP面試??碱}之會(huì)話控制和...

    lsxiao 評(píng)論0 收藏0
  • PHP面試考之數(shù)據(jù)結(jié)構(gòu)——鏈表的概念

    摘要:一鏈表鏈表是一種常見的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu),是一種線性表,但是并不會(huì)按線性的順序存儲(chǔ)數(shù)據(jù),而是在每一個(gè)節(jié)點(diǎn)里存到下一個(gè)節(jié)點(diǎn)的指針。指向整個(gè)列表的指針可以被稱作訪問指針。 你好,是我琉憶,PHP程序員面試筆試系列圖書的作者。 本周(2019.3.18至3.22)的一三五更新的文章如下: 周一:PHP面試??贾?dāng)?shù)據(jù)結(jié)構(gòu)——鏈表的概念周三:PHP面試??贾?dāng)?shù)據(jù)結(jié)構(gòu)——棧和隊(duì)列周五:PHP面試??贾?..

    dreamans 評(píng)論0 收藏0
  • PHP面試考之設(shè)計(jì)模式——工廠模式

    摘要:工廠模式其實(shí)可以劃分為簡(jiǎn)單工廠模式工廠方法模式抽象工廠模式等。簡(jiǎn)單工廠模式介紹簡(jiǎn)單工廠模式又稱為靜態(tài)工廠方法模式,它屬于類創(chuàng)建型模式。此模式是對(duì)工廠方法模式的進(jìn)一步擴(kuò)展。 你好,是我琉憶,PHP程序員面試筆試系列圖書的作者。 本周(2019.3.11至3.15)的一三五更新的文章如下: 周一:PHP面試??贾O(shè)計(jì)模式——工廠模式周三:PHP面試??贾O(shè)計(jì)模式——建造者模式周五:PHP...

    Jiavan 評(píng)論0 收藏0
  • PHP面試考之設(shè)計(jì)模式——建造者模式

    摘要:你好,是我琉憶,程序員面試筆試系列圖書的作者。建造者模式介紹建造者模式又名生成器模式,是一種對(duì)象構(gòu)建模式。表示被構(gòu)造的復(fù)雜對(duì)象。創(chuàng)建該產(chǎn)品的內(nèi)部表示并定義它的裝配過程。 你好,是我琉憶,PHP程序員面試筆試系列圖書的作者。 本周(2019.3.11至3.15)的一三五更新的文章如下: 周一:PHP面試常考之設(shè)計(jì)模式——工廠模式周三:PHP面試??贾O(shè)計(jì)模式——建造者模式周五:PHP面...

    alexnevsky 評(píng)論0 收藏0
  • PHP面試考之設(shè)計(jì)模式——策略模式

    摘要:策略模式介紹策略模式定義了一系列的算法,并將每一個(gè)算法封裝起來,而且使它們還可以相互替換。策略模式讓算法獨(dú)立于使用它的客戶而獨(dú)立變化。使用策略模式的好處策略模式提供了管理相關(guān)的算法族的辦法。使用策略模式可以避免使用多重條件轉(zhuǎn)移語句。 你好,是我琉憶,PHP程序員面試筆試系列圖書的作者。 本周(2019.3.11至3.15)的一三五更新的文章如下: 周一:PHP面試??贾O(shè)計(jì)模式——工...

    Drinkey 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<