從頭看起學會Linux 1

2021-10-12 07:56:13 字數 2102 閱讀 3809

網路分層協議

參考《**tcp/ip》,如下圖是乙份osi模型圖:

osi參考模型及各層作用

言歸正傳

應用層:負責應用程式間資料溝通。

主要有兩大類協議方式,一是自定製協議,二是知名協議

自定製協議顧名思義就是可以程式設計師自己操作自己定義的協議方式;而知名協議就如http協議;

不管使用那種協議方式,我們都知道資料在網路中的傳輸是0和1,也就是二進位制,協議呢,是對資料進行傳輸或可持久化儲存資料的一種方式,這裡我們引入(序列化/反序列化),能更好的幫我們進行資料管理;

序列化:將資料物件按指定協議進行組織成可持久化儲存資料或資料傳輸的二進位制資料串;

反序列化:將可持久化儲存的資料或資料傳輸的二進位制資料串按照指定協議解析成為各個資料物件;

終於到了http協議

http協議,又稱為超文字傳輸協議,英文名:hypertext transfer protocol;

**,又稱為統一資源定位符(url)「人如其名」,他是為我們操作端找到伺服器而定位的一串字元,可以定位網路中唯一的乙份資源;

https呢,就是http版本的加密版本。

我們隨即拿出乙個url進行分析:

/sem/tbsearch?

spm=a2e0b.20350158.1998559106.8.237c468a5neckv&refpid=mm_26632258_3504122_32538762&keyword=%e5%b9%b3%e6%9d%bf%e7%94%b5%e8%84%91&clk1=f2c63b96b6265dd95479b912f24973a2&upsid=f2c63b96b6265dd95479b912f24973a2&pid=mm_26632258_3504122_32538762&union_lens=recoveryid%3a201_11.170.87.38_22042349_1608211777273%3bprepvid%3a201_11.170.87.38_22042349_1608211777273

來,一步一步分析,

1.打頭的https就是協議方案名,表明我們此次的訪問使用的是https加密協議;

2.//間隔符;

3.uland.taobao.com,即網域名稱,對應的伺服器的ip位址,這是網域名稱解析前的字串資料,其實應該是點分十進位制的二進位制資料,不過這樣的字串更利於更方便我們記憶和使用;

4./s/s是一符號,後跟請求資源在伺服器中的儲存路徑,注意此處並非一定的實體資源(具體的資料),也可能是功能網頁;

5.#ch 查詢字串客戶端提交給服務端的資料,由key-value鍵值對形式組成,鍵值對中間以&符號分隔開;

說到查詢字串,又要提出url編碼,因為我們提供給網路的查詢資料是含有特殊字元組成的字串,如果提交的資料中含有相同的特殊字元組合便會產生歧義。怎麼才是url編碼呢?將每乙個特殊字元每個位元組轉換成16進製制的數字字元,例如+會轉換成2b;但這樣操作編碼之後仍可能存在歧義,但相對為編碼前歧義會降低很多,為了解決後續問題,我們在每乙個位元組轉換後,在字元前加上%,如上+則轉換成%2b,以此來表示經過url編碼。

既然有編碼,那就有解碼,url解碼是如何操作呢?

在得到查詢字串後,如果在key對應的value中看到%,即將他後緊跟的兩個字元反向解碼 -> 將兩個字元轉換為數字%2b -> 2 11 -> 第乙個數字左移四位或者乘以16+後面的數字 -> 2x16+11 = 43 -> 對應 + 號;

預設埠

http伺服器預設的埠號為80/tcp;

https伺服器預設的埠號為443/tcp 443/udp;

Linux(1) 常見用法

1 放大終端,ctrl shift 2 切換目錄,cd 切換到個人家目錄 3 pwd 檢視當前目錄 4 ls 檢視當前目錄的檔案和子目錄 ls a 顯示所有檔案,包括隱藏檔案 5 清屏,clear,或者ctrl l 6 新建資料夾 目錄 mkdir 資料夾名 目錄名 例如 mkdir src 7 編...

Linux 1 基本環境

當前目錄 pwd 手動設定ip位址以後,虛擬機器不能連線到網際網路 清屏 clear 建立使用者 useradd username 設定密碼 passwd username 切換使用者 su username 每建立乙個使用者,都有乙個相應的使用者主目錄 檢視主機名 hostname 臨時設定主機名...

Linux(1)目錄結構

linux目錄結構有 目錄作用 bin存放最常使用的命令 sbin 存放系統管理員的管理程式 home 普通使用者的主目錄,每個使用者一般都有自己的目錄並以使用者名稱命名 root root使用者的主目錄 lib啟動linux時使用的核心檔案 proc 虛擬目錄,系統記憶體的對映,可直接通過訪問該目...