閱讀本章,對體會比較深刻的句子做一個記錄萝挤。很早就開始讀了正压,但是只是零碎的思考和批注馋贤。從此以后,閱讀的技術書籍都要寫博客滤馍。
title: 2018-2-27《深入理解計算機系統(tǒng)》
tags: 服務器編程
十一章岛琼,網絡編程
所有的網絡模型都是基于相同的基本編程模型,有相似的邏輯結構巢株,依賴相同的編程接口槐瑞。
客戶端-服務器編程模型:一個服務器進程和一到多個客戶端進程組成。服務器管理某種資源阁苞,并且通過操作某種資源為客戶端提供某種服務困檩。
客戶端處理的基本信息是事務。和數據庫事務有什么區(qū)別呢那槽?
以太網的每個主機都能看到其他窗看。網段能保證網橋不會丟失同一個網段的幀。幀頭的作用是尋址到路由器倦炒。因此显沈,不同網段的幀的幀頭是不一樣的。TCP是提供了進程間的可靠的全雙工的連接逢唤。
網絡字節(jié)序是大端字節(jié)序拉讯。
gethostbyname 函數返回和域名name相關的主機條目。gethostbyaddr函數返回和IP地址相關的主機條目鳖藕。是從DNS數據庫中檢索的主機條目魔慷。
hostname可以確定本地主機的實際域名。
etc/services 查看固定的服務應用著恩。
只有在一端close的時候院尔,另外的一端才會接受到結束的字符蜻展?
從linux內核的角度來看,一個套接字就是一個通信的端點邀摆。從unix的程序上來看纵顾,一個套接字就是有相應描述符的文件。
套接字有各種類型栋盹,英特網的套接字類型有后綴_in
.有一個通用的套接字類型施逾。也有一個因特網的套接字類型。這些套接字和I/O函數一起例获,構成一些網絡應用汉额。
監(jiān)聽描述符:它被創(chuàng)建一次,并存在與服務器的整個生命周期榨汤。
connect連接建立起來之后蠕搜,就返回了。如果有上萬個連接收壕,一臺服務器是怎么處理的讥脐?
EOF條件,并不是字符啼器。
本章中的echo服務器的主程序旬渠。
HTML的強大之處,是可以包含指針端壳。就是所謂的萬維網告丢。
萬維網的最開始的那個'/',不是Unix目錄。相反损谦,它是內容類型的主目錄岖免。
重點是服務的動態(tài)內容。CGI通用網關接口照捡。
有四個過程:
1颅湘,客戶端怎么把程序參數傳遞給服務器。
2栗精,服務器如何將參數傳遞給子進程闯参。
3,服務器如何將其他信息傳遞給子進程悲立。大量的環(huán)境變量
4鹿寨,子進程將它的輸出發(fā)送到哪里?子進程加載CGI程序之前把標準輸出重定向到和客戶端相關聯(lián)的描述符薪夕。