第11章 網路程式設計

2021-10-06 11:33:07 字數 2330 閱讀 3043

伺服器管理某種資源,並且通過操作這種資源來為它的客戶端提供某種服務

乙太網:最流行的區域網技術,通常跨越一些小的區域。

橋接乙太網:使用一些電纜和叫作網橋的小盒子,多個乙太網段跨越連線成較大的區域網,稱為橋接乙太網。

網際網路絡(小寫的internet):多個不相容的區域網通過叫作路由器的特殊計算機連線起來,組成乙個網際網路絡

網際網路絡特性:能由採用完全不同和不相容技術的各種區域網和廣域網組成。

特性的實現:如何在不相容的網路傳輸資料?

●命名機制(從哪發到哪,怎麼標識):定義統一的主機位址格式

●傳送機制(發什麼):定義一種把資料位捆紮成不連續的片(包)的統一方式

資料傳輸步驟:

11.3.1 ip位址

型別:乙個ip位址就是乙個32位無符號整數

不足:將標量位址放在結構中,是套接字介面早期實現的不幸產物,應該再定義乙個標量型別

格式:通常以點分十進位制表示法來表示,可以用hostname來確定自己主機的點分十進位制位址

擴充套件:處理大端小端法、ip和點分十進位制轉換見書

11.3.2網際網路網域名稱11.3.3網際網路連線概念:是一組函式,和unix i/o結合起來,用以建立網路應用

11.5.1 web基礎

http協議:超文字傳輸協議

html:超文字標記語言

11.5.2 web內容

兩種方式:每個伺服器有自己的規則選擇哪種方式

●取磁碟檔案:通過url通用資源定位符來區主機上的檔案,最小的url字尾是「/」字元,代表預設主頁,缺失時瀏覽器自動新增

●執行可執行檔案:url中在檔名後包括程式引數。「?」字元分割檔名和引數,每個引數用「&」隔開

11.5.3 http事務

●http請求

uri是url的字尾,包括檔名和可選的引數

請求行:method uri version

host:www.123.com

請求報頭:header-name:header_data

●http響應

響應行:version status-code status-message

11.5.4 服務動態內容cgi:通用閘道器介面

cgi由來:伺服器和客戶端間動態內容的提供較為複雜,如如何傳參,伺服器如何傳遞給子程序資訊。用cgi解決這些問題

1、客戶端如何將程式引數傳遞給伺服器

在uri中傳遞

2、伺服器如何傳遞引數給子程序

在呼叫execve之前,子程序將cgi環境變數query_string設定為引數,程式在執行時可以用getenv引用

3、伺服器如何將其他資訊傳遞給子程序

4、子程序將它的輸出傳送到**

乙個cgi程式將動態內容傳送到標準輸出,在子程序載入並執行cgi程式之前,它使用dup2函式將標準輸出重定向到客戶端相關聯的已連線描述符,所以cgi寫到標準輸出的內容會直達客戶端。

第14章 網路程式設計

14.1 幾個網路模組 服務端 import socket s socket.socket host socket.gethostname port 8090 s.bind host,port s.listen 5 while true c,addr s.accept print got conne...

第18章 網路程式設計

第18章 網路程式設計 計算機上面可以安裝非常多的應用軟體,那麼如何區分這些軟體?需要通過埠號來區分,埠號,相當與房子中開的們.一 埠號在計算機裡面有2個位元組那麼大,因此埠號的取值範圍 0 65535 共65536個 但是1024以下的埠號,通常是計算機內建軟體埠 類似於現實生活中的短號號碼 12...

第16章 網路程式設計

網路通訊協議 計算機網路中實現通訊必須有一些約定,即通訊協議,對速率 傳輸 結構 傳輸控制步驟 出錯控制等制定標準。通訊協議分層的思想 由於結點之間聯絡很複雜,在制定協議時,把複雜成份分解成一些簡單的成份,再將它們復合起來。最常用的復合方式是層次方式,即同層間可以通訊 上一層可以呼叫下一層,而與再下...