成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

每個前端都要了解點網(wǎng)絡(luò)知識

wslongchen / 1184人閱讀

摘要:前端主要關(guān)注于應(yīng)用層的協(xié)議,傳輸層的協(xié)議斷舍離一下,就主要總結(jié)這兩種協(xié)議了。是序號,是確認(rèn)序號。根據(jù)服務(wù)端發(fā)來的返回一個包給服務(wù)端。服務(wù)端接收后進(jìn)入狀態(tài)。并在兩端維護(hù)了索引表,用于記錄出現(xiàn)過的,避免重復(fù)傳輸。

前端主要關(guān)注于應(yīng)用層的 HTTP 協(xié)議,傳輸層的 TCP 協(xié)議,斷舍離一下,就主要總結(jié)這兩種協(xié)議了。
OSI 參考模型 與 TCP/IP 五層模型

我們主要關(guān)注于 TCP/IP 五層模型應(yīng)用層傳輸層 就足夠了。

應(yīng)用層:

作用:為應(yīng)用程序提供服務(wù)。

常見協(xié)議:HTTP、HTTPS、FTP、POP3SMTP等。

傳輸層:

作用:實現(xiàn)應(yīng)用程序之間的數(shù)據(jù)傳輸。

協(xié)議:UDP、TCP

UDP 與 TCP UDP
UDP 是面向無連接的協(xié)議,它只會把數(shù)據(jù)傳遞給接收端,但不會關(guān)注接收端是否已經(jīng)正確接收了數(shù)據(jù),所以有時候 UDP 會被認(rèn)為是不可靠的數(shù)據(jù)報協(xié)議。但這種特性反而適合多播,實時的視頻和音頻傳輸。

優(yōu)點:

無需建立連接(減少了延遲)

實現(xiàn)簡單(效率高)

頭部開銷小( 8 字節(jié))

沒有擁塞控制(更好的控制發(fā)送時間和速率)

缺點:

沒有建立連接(數(shù)據(jù)想發(fā)就發(fā),不可靠)

沒有擁塞控制(網(wǎng)絡(luò)條件不好時會導(dǎo)致丟包)

TCP
TCP 是面向有連接的協(xié)議,在使用 TCP 協(xié)議 傳輸數(shù)據(jù)之前一定需要在發(fā)送方和接收方之間建立連接。建立連接三次握手,斷開連接四次揮手~
TCP 建立連接三次握手

第一次握手:

客戶端服務(wù)端發(fā)送一個 SYN(Seq=X) 包,客戶端進(jìn)入 SYN-SENT 狀態(tài),等待服務(wù)端ACK(Ack=X+1)回復(fù)。
ps: Seq 是序號,Ack 是確認(rèn)序號。

第二次握手:

服務(wù)端根據(jù)接收到客戶端發(fā)來的 SYN(Seq=X) 包后返回一個 ACK(Ack=X+1) 以及 SYN(Seq=Y) 包給客戶端服務(wù)端進(jìn)入 SYN-RECIVED 狀態(tài),等待客戶端ACK(Ack=Y+1) 回復(fù)。

第三次握手:

客戶端接收到 ACK(X+1) 后,進(jìn)入 ESTABLISHED 狀態(tài)。根據(jù)服務(wù)端發(fā)來的 SYN(Y) 返回一個 ACK(Y+1) 包給服務(wù)端
服務(wù)端 接收 ACK(Y+1)后進(jìn)入 ESTABLISHED 狀態(tài)。此時連接建立成功。

這個過程可以用以下三句形象表示:

(客戶端):我想建立連接了,服務(wù)端你準(zhǔn)備好沒有呀?

(服務(wù)端):我準(zhǔn)備好了,你準(zhǔn)備好沒有?

(客戶端):我也準(zhǔn)備好了,開始吧~

TCP 關(guān)閉連接四次揮手

這個過程可以用以下四句句形象表示:

(客戶端):我想關(guān)閉連接了。

(服務(wù)端):我知道了。

(服務(wù)端):我現(xiàn)在準(zhǔn)備關(guān)閉連接了,ok 嗎?

(客戶端):ok,你關(guān)閉吧。

UDP 與 TCP 的區(qū)別

UDP 協(xié)議是面向無連接的,它不能保證數(shù)據(jù)有序且不丟失的傳到對端,但是 UDP 比 TCP 更高效。

TCP 協(xié)議是面向有連接的,建立和斷開連接都需要握手,在傳輸數(shù)據(jù)的過程中,通過滑動窗口(流量控制)、擁塞處理(慢開始,擁塞避免,快速重傳,快速恢復(fù)),能夠正確處理丟包問題,保證接收方能夠收到數(shù)據(jù),與此同時還能夠有效利用網(wǎng)絡(luò)帶寬。

HTTP
HTTP (HyperText Transfer Protocol) 超文本傳輸協(xié)議 是一個基于 TCP (傳輸層) 的應(yīng)用層協(xié)議,是客戶端與服務(wù)端之間請求和響應(yīng)的標(biāo)準(zhǔn)。
主要特點

簡單快速

客戶端向服務(wù)器請求服務(wù)時,只需請求方法和請求路徑。

無狀態(tài)

客戶端再次向服務(wù)器請求服務(wù)時,服務(wù)器并不知道客戶端之前是否請求過。

無連接

每次請求都會建立一個 TCP 連接,請求處理完成后連接斷開。
HTTP 報文

請求行:

GET https://www.baidu.com/ HTTP/1.1 由請求方法、URL、協(xié)議版本組成

響應(yīng)行:

HTTP/1.1 200 OK
協(xié)議版本、狀態(tài)碼、狀態(tài)信息組成
HTTP 請求方法

請求方法分為很多種,最常用的也就是 GETPOST 了。雖然請求方法很多,但更多的是為了傳達(dá)語義。更多的方法的語義描述可以閱讀 文檔 。

GET 和 POST 的區(qū)別

GET

能緩存、請求長度限制、 有歷史記錄

GET 多用于 無副作用(不修改資源)、冪等(請求次數(shù)與資源無關(guān))的場景。

POST

POST 相對 GET 安全一點點,因為 GET 請求發(fā)送的數(shù)據(jù)包含在 URL 里。

兩者詳細(xì)對比:
![GET與POST](https://inknight.cn/pic/note/...
)

狀態(tài)碼
狀態(tài)碼表示了響應(yīng)的狀態(tài),可以讓我們知道這一次的請求是成功還是失敗,如果失敗,是什么原因?qū)е碌摹?/pre>

2XX 成功

200 OK ,請求成功并返回數(shù)據(jù)

204 No Content ,成功但無內(nèi)容

206 Partial Content ,范圍請求

3XX 重定向

301 永久重定向,表示資源已被分配了新的 URL

302 臨時重定向,資源臨時被分配新的 URL

304 資源未修改,可使用緩存

4XX 客戶端錯誤

400 請求語法錯誤

401 要求身份認(rèn)證

403 請求被服務(wù)器拒絕

404 資源不存在

5XX 服務(wù)器錯誤

500 服務(wù)器錯誤

503 服務(wù)器超負(fù)載或停機維護(hù)

HTTPS
更安全的網(wǎng)絡(luò)傳輸協(xié)議

需要安裝證書(公鑰)

經(jīng)過 SSL/TLS 協(xié)議 加密,傳輸?shù)膬?nèi)容是經(jīng)過加密的

使用 443 端口

HTTP/2

多路復(fù)用

在同一個 TCP 連接上傳輸所有的請求數(shù)據(jù),避免 隊頭阻塞(瀏覽器限制同一個域名下的連接數(shù))問題

Header 壓縮

使用了 HPACK 壓縮格式對傳輸?shù)?header 進(jìn)行編碼,減少了 header 的大小。并在兩端維護(hù)了索引表,用于記錄出現(xiàn)過的 header ,避免 header 重復(fù)傳輸。

二進(jìn)制傳輸

在之前的 HTTP 版本中,我們是通過文本的方式傳輸數(shù)據(jù)。在 HTTP/2 中引入了新的編碼機制,所有傳輸?shù)臄?shù)據(jù)都會被分割,并采用二進(jìn)制格式編碼。

服務(wù)端推送

服務(wù)端可以在客戶端的某個請求后,主動推送其他客戶端在之后會用到的資源。省去了客戶端重復(fù)請求的步驟,降低了延遲。

參考資料:

https://juejin.im/post/5c64d15d6fb9a049d37f9c20#heading-49

https://mp.weixin.qq.com/s/GICbiyJpINrHZ41u_4zT-A?

http://www.alloyteam.com/2016/07/httphttp2-0spdyhttps-reading-this-is-enough/

https://juejin.im/book/5bdc715fe51d454e755f75ef/section/5bdc72b151882516f039fce3

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

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/109096.html

相關(guān)文章

  • 精讀《為什么專家不再關(guān)心技術(shù)細(xì)節(jié)》

    摘要:需要說明是的,這里說的專家不再關(guān)心細(xì)節(jié),不代表成為專家后學(xué)不會細(xì)節(jié),也不代表專家不了解細(xì)節(jié)。本文將從三個點去解釋,為什么專家看上去越來越原理技術(shù)細(xì)節(jié)。試想一個不能理解業(yè)務(wù)要做什么的人,即便懂得再多技術(shù)細(xì)節(jié),對業(yè)務(wù)也是沒有價值的。1. 引言 本周的精讀是有感而發(fā)。 筆者接觸前端已有八年,觀察了不少前端大牛的發(fā)展路徑,發(fā)現(xiàn)成功的人都具有相似的經(jīng)歷: 初期技術(shù)熱情極大 -> 大量標(biāo)志性技術(shù)項目 -...

    wangym 評論0 收藏0
  • 帝都寒冬一年經(jīng)驗前端面試總結(jié)

    摘要:不過幸運的是所有面試的公司都給了,在這里總結(jié)下經(jīng)驗吧。這里推薦下我當(dāng)時看的一篇的面經(jīng),木易楊老師寫的大廠高級前端面試題匯總。 前言 本人畢業(yè)一年,最近陸續(xù)面試了頭條、瓜子、360、猿輔導(dǎo)、中信銀行、老虎等公司,由于最近比較寒冬而且招1-3年的并不多,再加上自己對公司規(guī)模和位置有一定要求,所以最后合適的也就這幾家了。不過幸運的是所有面試的公司都給了offer,在這里總結(jié)下經(jīng)驗吧。掘金:h...

    Scott 評論0 收藏0
  • 收藏 | 產(chǎn)品經(jīng)理不可不知的 7 種技術(shù)思維

    摘要:互聯(lián)網(wǎng)的產(chǎn)品人員,可能整個職業(yè)生涯都要與技術(shù)人員打交道。還有開房信息泄露那次,是由于被黑客攻擊。關(guān)于黑客攻擊的問題,作為產(chǎn)品人員甚至普通的開發(fā)人員,都是沒有辦法的事情,要有極其專業(yè)的安全團(tuán)隊才可能應(yīng)付。 我們常說,作為技術(shù)人員要有產(chǎn)品思維,從產(chǎn)品和運營的角度去思考技術(shù)方案。是的,我們也這樣做了。然而,從我多年的需求溝通及項目協(xié)調(diào)的經(jīng)驗來看,產(chǎn)品人員其實也可以有一點技術(shù)思維。 所謂技術(shù)思...

    dmlllll 評論0 收藏0
  • 掘金 AMA:聽《Android進(jìn)階解密》作者--劉望舒聊 Android 開發(fā)、進(jìn)階那些事

    摘要:第二十二期掘金團(tuán)隊請來了進(jìn)階解密作者劉望舒做了為期三天的活動活動已結(jié)束。我們在此精選了一些來自用戶的提問及劉望舒的回答。提醒本期分布式微服務(wù)主題的正在進(jìn)行,歡迎前去提問,傳送門關(guān)于劉望舒進(jìn)階之光進(jìn)階解密的作者,安卓巴士等技術(shù)大會特邀講師。第二十二期 AMA 掘金團(tuán)隊請來了《Android進(jìn)階解密》作者-- 劉望舒做了為期三天的 Ask Me Anything (AMA) 活動(活動已結(jié)束)。...

    wenyiweb 評論0 收藏0
  • 一個普通本科在校生的前端學(xué)習(xí)之路

    摘要:也就正式開始了我的前端之路。在這期間,我還購買并配置了自己的云服務(wù)器,自己的博客系統(tǒng),自己的還學(xué)會了的基本操作。不必說的是高級程序設(shè)計豆瓣鏈接這本書,也就是大家常說的高程,基本上每個合格的前端程序員都要熟讀很多很多次,每次讀都會有新發(fā)現(xiàn)。 原創(chuàng) 西安前端交流會: 卡農(nóng) ovenzeze@qq.com 本文章同步發(fā)表在wdShare西安前端交流會網(wǎng)站、我的個人博客以及segmentF...

    mylxsw 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<