伺服器管理某種資源,並且通過操作這種資源來為它的客戶端提供某種服務
乙太網:最流行的區域網技術,通常跨越一些小的區域。
橋接乙太網:使用一些電纜和叫作網橋的小盒子,多個乙太網段跨越連線成較大的區域網,稱為橋接乙太網。
網際網路絡(小寫的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章 網路程式設計
網路通訊協議 計算機網路中實現通訊必須有一些約定,即通訊協議,對速率 傳輸 結構 傳輸控制步驟 出錯控制等制定標準。通訊協議分層的思想 由於結點之間聯絡很複雜,在制定協議時,把複雜成份分解成一些簡單的成份,再將它們復合起來。最常用的復合方式是層次方式,即同層間可以通訊 上一層可以呼叫下一層,而與再下...