摘要:或許對于剛接觸協議的同學,或許有些理解不了上面的這句話。這樣,在接受數據方,只要判斷數據的前倆位標識,來解析固定的格式便可,至此,我們的簡陋版的協議就完成了。下節內容帶你深入淺出協議二開始進入的世界
寫作背景
最近在面試一些前端工程師時,我總會問一個問題,"您有了解過HTTP協議嗎?"有一些呢,答著還不錯,有一些呢,回答有些差強人意,而有一些呢,竟然直接和我說身為前端不需要了解這些,這些是后端所需要了解的。在我看來,不管是前端與后端,了解HTTP協議是必要的,畢竟,我們吃的就是這一碗飯,不是嗎?
何為協議?百度詞條中是這樣解釋的:
協議,網絡協議的簡稱,網絡協議是通信計算機雙方必須共同遵從的一組約定。如怎么樣建立連接、怎么樣互相識別等。只有遵守這個約定,計算機之間才能相互通信交流。它的三要素是:語法、語義、時序。
或許對于剛接觸協議的同學,或許有些理解不了上面的這句話。那么協議到底是什么呢?
我們都知道,計算機傳輸數據都是以二進制的形式來傳輸,也就是0,1 那么它是怎么轉換為我們所看到的文字,圖像,視頻的呢? 這里有很重要一個環節就是編碼---解碼
例如:‘東’字的UTF-8編碼轉換為二進制便是 111001001011100010011100,那么我怎樣把這個字發送給你呢?你又怎么知道我發送的是什么呢?所以,協議就是這樣應運而生
繼續上面的問題,比如我現在把‘東’字編碼之后的,發給你之后,你怎么知道我發送的是文字呢?就算是知道我發送的文字,你又以什么編碼格式去解碼我發送的數據呢?所以,我們現在來設計一個協議,解決上面所說的問題。
首先,解決這個問題 ‘你怎么知道我發送的是文字呢?’在計算機世界中,我們接觸到的不僅僅是文本,還有圖像,視頻等等等等。。。所以,我們現在需要定義我們協議的第一個字段
我們把我們的數據類型用我們報文中的第一位標識 ,0表示發送的數據為文本,用1來表示數據為圖片
所以,在我發送我的數據時,我會把‘東’的UTF-8二進制編碼前加入一個0,最后結果為這樣 0111001001011100010011100,在接受到數據的時候,我會把報文的第一位拿來判斷,是文本還是圖像,但是現在又遇到一個問題,我又該以哪種編碼格式解析這一串數據呢?
解決第二個問題你又以什么編碼格式去解碼我發送的數據呢?
既然解決了第一個問題,那么我們的第二個問題就比較好解決了,當數據第一位為0的時候,也就是標識為文本的時候,我在數據第二位再添加一個標識符,來表示我的文本編碼格式 0表示UTF-8
1則表示GBK 所以,現在我所發送的數據變成了這樣 00111001001011100010011100,而當數據第一位為1的時候,也就是標識為圖像的時候,我的數據第二位則用 0表示png,
1表示GIF。
這樣,在接受數據方,只要判斷數據的前倆位標識,來解析固定的格式便可,至此,我們的簡陋版的‘協議’就完成了。
下節內容 帶你深入淺出HTTP協議(二)開始進入HTTP的世界
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/77681.html
摘要:或許對于剛接觸協議的同學,或許有些理解不了上面的這句話。這樣,在接受數據方,只要判斷數據的前倆位標識,來解析固定的格式便可,至此,我們的簡陋版的協議就完成了。下節內容帶你深入淺出協議二開始進入的世界 寫作背景 最近在面試一些前端工程師時,我總會問一個問題,您有了解過HTTP協議嗎?有一些呢,答著還不錯,有一些呢,回答有些差強人意,而有一些呢,竟然直接和我說身為前端不需要了解這些,這些是...
摘要:或許對于剛接觸協議的同學,或許有些理解不了上面的這句話。這樣,在接受數據方,只要判斷數據的前倆位標識,來解析固定的格式便可,至此,我們的簡陋版的協議就完成了。下節內容帶你深入淺出協議二開始進入的世界 寫作背景 最近在面試一些前端工程師時,我總會問一個問題,您有了解過HTTP協議嗎?有一些呢,答著還不錯,有一些呢,回答有些差強人意,而有一些呢,竟然直接和我說身為前端不需要了解這些,這些是...
摘要:咱媽說別亂點鏈接之淺談攻擊閱讀掘金作者馬達編輯迷鹿馬達,精通開發開發,擅長接口設計以及平臺化建設,獨自主導過多個產品。一題目購物應用分環境要求安全學習資料匯總掘金安全學習資料匯總安全學習網站收集 咱媽說別亂點鏈接之淺談 CSRF 攻擊 - 閱讀 - 掘金作者 | 馬達編輯 | 迷鹿 馬達, 精通PHP開發、Web開發,擅長api接口設計以及平臺化建設,獨自主導過多個Web產品。目前就職...
閱讀 1625·2021-09-22 15:25
閱讀 1506·2021-09-07 10:06
閱讀 3183·2019-08-30 15:53
閱讀 1090·2019-08-29 13:12
閱讀 3373·2019-08-29 13:07
閱讀 725·2019-08-28 18:19
閱讀 2269·2019-08-27 10:57
閱讀 982·2019-08-26 13:29