亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

PHPer面試指南-協(xié)議篇

megatron / 1711人閱讀

摘要:地址每次面試多多少少都會被問到等等之類協(xié)議,協(xié)議相關(guān)的問題也可以說是面試必備,所以我把這些知識多帶帶收集成了一篇文章。即標(biāo)志位和標(biāo)志位均為。發(fā)送完畢后,服務(wù)器端進(jìn)入狀態(tài)。認(rèn)證服務(wù)器對客戶端進(jìn)行認(rèn)證以后,確認(rèn)無誤,同意發(fā)放令牌。

Git 地址:https://github.com/todayqq/PH...

每次面試多多少少都會被問到 HTTP、HTTPS、TCP、Socket、 OAuth 等等之類協(xié)議,協(xié)議相關(guān)的問題也可以說是面試必備,所以我把這些知識多帶帶收集成了一篇文章。

網(wǎng)絡(luò)協(xié)議有哪些?

應(yīng)用層:HTTP、FTP、SSH、SMTP

表示層

會話層

傳輸層:TCP、UDP

網(wǎng)絡(luò)層:IP

數(shù)據(jù)鏈路層

物理層

簡述 HTTP 協(xié)議的工作流程

地址解析;

在瀏覽器中輸入 URL,瀏覽器會從中分解出協(xié)議名、主機(jī)名、端口、對象路徑等部分

封裝 HTTP 請求數(shù)據(jù)包

瀏覽器獲取主機(jī) IP 地址,建立 TCP 鏈接(TCP 的三次握手)

TCP 鏈接建立后發(fā)送 HTTP 請求

請求方式的格式為:統(tǒng)一資源標(biāo)識符(URL)、協(xié)議版本號,后邊是 MIME 信息包括請求修飾符、客戶機(jī)信息和可內(nèi)容。

服務(wù)器接到請求后,給予相應(yīng)的響應(yīng)信息

其格式為一個(gè)狀態(tài)行,包括信息的協(xié)議版本號、一個(gè)成功或錯(cuò)誤的代碼,后邊是 MIME 信息包括服務(wù)器信息、實(shí)體信息和可能的內(nèi)容

服務(wù)器斷開 TCP 連接

什么是 HTTPS?實(shí)現(xiàn)過程是什么?

HTTPS(超文本傳輸安全協(xié)議)是一種通過計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行安全通信的傳輸協(xié)議,提供對網(wǎng)站服務(wù)器的身份認(rèn)證,保護(hù)數(shù)據(jù)傳輸?shù)耐暾浴踩浴?/p>

實(shí)現(xiàn)過程:

客戶端發(fā)起一個(gè) https 的請求

服務(wù)端接收客戶端請求,返回?cái)?shù)字證書相關(guān)信息

客戶端收到服務(wù)端響應(yīng)

驗(yàn)證證書的合法性

如果證書受信任,生成隨機(jī)數(shù)的密碼

使用約定好的 HASH 算法計(jì)算握手消息,并使用生成的隨機(jī)數(shù)對消息進(jìn)行加密,然后發(fā)送給服務(wù)端

網(wǎng)站接收瀏覽器發(fā)來的密文后

使用私鑰來解密握手消息取出隨機(jī)數(shù)密碼,再用隨機(jī)數(shù)密碼解密,握手消息與 HASH 值,并與傳過來的HASH值做對比確認(rèn)是否一致

使用密碼加密一段握手消息,發(fā)送給瀏覽器

瀏覽器解密并計(jì)算握手消息的 HASH,如果與服務(wù)端發(fā)來的 HASH 一致,此時(shí)握手過程結(jié)束,之后所有的通信數(shù)據(jù),將由之前瀏覽器生成的隨機(jī)密碼,并利用對稱加密算法進(jìn)行加密。

數(shù)字證書都包含那些信息?

證書的版本信息;

證書的序列號,每個(gè)證書都有一個(gè)唯一的證書序列號;

證書所使用的簽名算法;

證書的發(fā)行機(jī)構(gòu)名稱;

證書的有效期;

證書所有人的名稱、公開密鑰;

證書發(fā)行者對證書的簽名

TCP 三次握手的流程

客戶端發(fā)送一個(gè) SYN 標(biāo)志位置 1 的包,指明客戶端要連接服務(wù)器端的接口,發(fā)送完畢后,客戶端進(jìn)入 SYN_SEND 狀態(tài)

服務(wù)器發(fā)回確認(rèn)包 (ACK) 應(yīng)答。即 SYN 標(biāo)志位和 ACK 標(biāo)志位均為1。服務(wù)器端選擇自己 ISN 序列號,放到 Seq 域里,同時(shí)將確認(rèn)序號(Acknowledgement Number)設(shè)置為客戶的 ISN 加1,即X+1。 發(fā)送完畢后,服務(wù)器端進(jìn)入 SYN_RCVD 狀態(tài)。

客戶端再次發(fā)送確認(rèn)包(ACK),SYN 標(biāo)志位為0,ACK 標(biāo)志位為1,并且把服務(wù)器發(fā)來 ACK 的序號字段+1,放在確定字段中發(fā)送給對方,并且在數(shù)據(jù)段放寫ISN的+1

發(fā)送完畢后,客戶端進(jìn)入 ESTABLISHED 狀態(tài),當(dāng)服務(wù)器端接收到這個(gè)包時(shí),也進(jìn)入 ESTABLISHED 狀態(tài),TCP 握手結(jié)束。

什么是 Socket?工作流程是怎樣的?

Socket 又稱網(wǎng)絡(luò)套接字,是一種操作系統(tǒng)提供的進(jìn)程間通信機(jī)制。

工作流程:

服務(wù)端先用 socket 函數(shù)來建立一個(gè)套接字,并調(diào)用 listen 函數(shù),使服務(wù)端的這個(gè)端口和 IP 處于監(jiān)聽狀態(tài),等待客戶端的連接

客戶端用 socket 函數(shù)建立一個(gè)套接字,設(shè)定遠(yuǎn)程 IP 和端口,并調(diào)用 connect 函數(shù)

服務(wù)端用 accept 函數(shù)來接受遠(yuǎn)程計(jì)算機(jī)的連接,建立起與客戶端之間的通信

完成通信以后,最后使用 close 函數(shù)關(guān)閉 socket 連接。

HTTP1.1 與 WebSocket 的區(qū)別?

HTTP 是一個(gè)單鏈接,只能做單向通訊,而 WebSocket 是一個(gè)持久鏈接,可用作雙向通訊。

WebSocket 是基于 HTTP 來建立連接的,但在建立連接之后,真正的數(shù)據(jù)傳輸階段是不需要 HTTP 協(xié)議參與的

WebSocket 的請求的頭部和 HTTP 請求頭部不同

WebSocket 傳輸?shù)臄?shù)據(jù)是二進(jìn)制流,是以幀為單位,HTTP 是明文字符串傳輸

什么是 OAuth2.0 協(xié)議?運(yùn)行流程是怎樣的?

OAuth(Open Authorization) 協(xié)議為用戶資源的授權(quán)提供了一個(gè)安全的、開放而又簡易的標(biāo)準(zhǔn),第三方無需使用用戶的用戶名與密碼,就可以申請獲得該用戶資源的授權(quán)。

運(yùn)行流程:

用戶打開客戶端以后,客戶端要求用戶給予授權(quán)。

用戶同意給予客戶端授權(quán)

客戶端使用上一步獲得的授權(quán),向認(rèn)證服務(wù)器申請令牌。

認(rèn)證服務(wù)器對客戶端進(jìn)行認(rèn)證以后,確認(rèn)無誤,同意發(fā)放令牌。

客戶端使用令牌,向資源服務(wù)器申請獲取資源。

資源服務(wù)器確認(rèn)令牌無誤,同意向客戶端開放資源

OAuth 2.0 定義了四種授權(quán)方式,授權(quán)碼模式、簡化模式、密碼模式、客戶端模式,具體的授權(quán)流程,請看阮一峰老師的文章理解OAuth 2.0。

擴(kuò)展閱讀

https 原理

HTTPS 原理解析

HTTPS 的工作原理

socket

HTTP與WebSocket的區(qū)別

理解OAuth 2.0

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

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/28429.html

相關(guān)文章

  • PHPer面試指南-Web

    摘要:擴(kuò)展閱讀收集的前端面試題和答案前端開發(fā)面試題史上最全的前端面試題匯總及答案前端工程師手冊協(xié)議工作原理協(xié)議運(yùn)行機(jī)制的概述 本書的 GitHub 地址:https://github.com/todayqq/PH... 對于大公司,很少會有全棧工程師這個(gè)崗位,全棧是個(gè)花哨的詞,對于現(xiàn)在比較熱門的技術(shù),不論是 Vue 還是 Laravel,只要智商不差,看著文檔,都能寫出一個(gè) CURD 來,...

    cnio 評論0 收藏0
  • PHPer 面試指南-擴(kuò)展閱讀資源整理

    摘要:前端篇收集的前端面試題和答案前端開發(fā)面試題史上最全的前端面試題匯總及答案前端工程師手冊協(xié)議工作原理協(xié)議運(yùn)行機(jī)制的概述協(xié)議篇原理原理解析的工作原理與的區(qū)別理解后端篇年的面試總結(jié)垃圾回收機(jī)制面向?qū)ο笤O(shè)計(jì)淺談?wù)f清楚是什么和的區(qū)別索引原理及慢查 前端篇 收集的前端面試題和答案 前端開發(fā)面試題 史上最全的web前端面試題匯總及答案 前端工程師手冊 HTTP協(xié)議:工作原理 SSL/TLS協(xié)議運(yùn)行...

    wemall 評論0 收藏0
  • PHPer面試指南-PHP

    摘要:本書的地址篇收集了一些常見的基礎(chǔ)進(jìn)階面試題,基礎(chǔ)的面試題不再作答。如何實(shí)現(xiàn)持久化持久化,將在內(nèi)存中的的狀態(tài)保存到硬盤中,相當(dāng)于備份數(shù)據(jù)庫狀態(tài)。相當(dāng)于備份數(shù)據(jù)庫接收到的命令,所有被寫入的命令都是以的協(xié)議格式來保存的。 本書的 GitHub 地址:https://github.com/todayqq/PH... PHP 篇收集了一些常見的基礎(chǔ)、進(jìn)階面試題,基礎(chǔ)的面試題不再作答。 基礎(chǔ)篇 ...

    stackvoid 評論0 收藏0
  • PHPer面試指南-前言

    摘要:先說一下面試時(shí)的心態(tài),剛?cè)腴T的程序員,技術(shù)實(shí)力不高,又大多不善言談,面試一旦遇到難題,很容易心態(tài)失衡驚慌失措語無倫次,最終丟掉了。其實(shí)大可不必,心態(tài)坦然,是面試必備的一點(diǎn)。 本書的 GitHub 地址:https://github.com/todayqq/PH... 作為一位程序員,面試過多次,也面試過很多人,最近又在找工作,總結(jié)一下面試經(jīng)驗(yàn)和面試題,希望可以幫到正在找工作的小伙伴們...

    includecmath 評論0 收藏0
  • PHPer面試指南-算法

    摘要:快速排序快速排序是對冒泡排序的一種改進(jìn)。獲取中間數(shù)兩值相等,返回元素比目標(biāo)大,查找左部元素比目標(biāo)小,查找右部查找失敗擴(kuò)展閱讀冒泡排序?qū)崿F(xiàn)快速排序?qū)崿F(xiàn)各種經(jīng)典算法常見算法面試篇實(shí)現(xiàn)二分查找法 本書的 GitHub 地址:https://github.com/todayqq/PH... 算法可以說是大廠的必考題,對于算法,一定要理解其中的精髓、原理。 冒泡排序 冒泡排序的原理:一組數(shù)據(jù),...

    SimpleTriangle 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<