1. 程式人生 > >DHCP服務和http服務

DHCP服務和http服務

zl

(一)、DHCP服務

DHCP:Dynamic Host Configuration Protocol,動態主機配置協議 <-- bootp


TCP/IP

IPADDR

NETMASK

GATEWAY

DNS


廣播租用:

Client--> DHCPDISCOVER

DHCPOFFER <--Server

Client--> DHCPREQUEST

DHCPACK <--Server

單播續租:

Client--> DHCPREQUEST

DHCPACK <--Server


# dhclient (顯示獲取DHCP地址時的詳細信息,需# killall dhclient才可再次使用)

# dhclient -d (工作在前臺,用Ctrl+C來使之停止)



(二)、http服務

HTTP:HyperText Transfer Protocol,超文本傳輸協議

超鏈接

Web:

http:僅純文本(超鏈接);ASCII

HTML:HyperText Mark Language,超文本標記語言

Browser:客戶端

URI:Uniform Resource Indentifier,統一資源標示符;全局範圍內

統一:路徑格式上的統一

URL:Uniform Resource Locator,統一資源定位符;是URI的子集

protocol://HOST:port/path/to/file

Web資源:能夠通過URI標記並讓客戶端可以訪問的資源,多個資源很可能被整合為一個html文檔

MIME:Multipurpose Internet Mail Extension,多用途互聯網郵件擴展

SMTP:Simple Mail Transmission Protocol,簡單郵件傳輸協議;純文本

MIME:將非文本數據在傳輸前重新編碼為文本格式,接收方能夠用相反的方式將其重新還原為原來的格式,還能夠調用相應的程序來打開此文件

動態效果:Java,Applet,JRE

動態網頁:服務器端存儲的文檔非HTML格式,而是編程語言開發的腳本,腳本接受參數之後在服務器運行一次,完成之後會生成HTML文檔,並把生成的文檔發至客戶端;包含靜態內容和動態內容(動態內容部分才需運行)

緩存:


IP:

Source IP + Destination IP

TCP:

Source Port + Destination Port

http首部(HTTP報文):請求報文,響應報文

Host:www.***.com(虛擬主機)

請求報文語法:

<method> <request-URL> <version>

<headers>

<entity-body>

響應報文語法:

<version> <status> <reason-phrase>

<headers>

<entity-body>

狀態代碼:

1xx:純信息

2xx:“成功”類的信息

3xx:重定向類的信息

4xx:客戶端錯誤類的信息

5xx:服務器端錯誤類的信息


Web服務器的主要操作:

建立連接--接受或拒絕客戶端連接請求

接受請求--通過網絡讀取HTTP請求報文

處理請求--解析請求報文並做出相應動作

訪問資源--訪問請求報文中相應的資源

構建響應--使用正確的首部生成HTTP響應報文

發送響應--向客戶端發送生成的響應報文

記錄日誌--將已經完成的HTTP事務記錄進日誌文件


C/S:

Client:IE,Firefox,Chrome,Opera,Safari

Server:Apache-->httpd,IIS,nginx,lighttpd,thttpd(www.netcraft.com)

應用程序服務器:

IIS,tomcat(apache,JSP,open source),Websphere(IBM,JSP,commodity),Weblogic(Oracle,JSP,commodity),JBoss(RedHat)



httpd:

事先創建進程

按需維持適當的進程

模塊化設計,核心比較小,各種功能都由模塊添加(包括PHP)

支持運行配置,支持單獨編譯模塊

支持多種方式的虛擬主機配置

Socket IP:Port

虛擬主機:

基於IP的虛擬主機

基於端口的虛擬主機

基於域名的虛擬主機

支持https協議(mod_ssl)

支持用戶認證

支持基於IP或主機名的訪問控制機制ACL

支持每目錄的訪問控制

支持URL重寫

httpd安裝配置方式:

rpm包

源碼編譯

httpd:

/usr/sbin/httpd(MPM:prefork)

httpd:root,root(master process)

httpd:apache,apache(worker process)

/etc/httpd:工作根目錄,相當於程序安裝目錄

/etc/httpd/modules:模塊目錄

/etc/httpd/conf:配置文件目錄

主配置文件:httpd.conf(include /etc/httpd/conf.d/*.conf,/etc/httpd/conf.modules.d/*.conf)

/etc/httpd/logs --> /var/log/httpd:日誌目錄

日誌文件有兩類,訪問日誌access_log,錯誤日誌error_log

/var/www:頁面路徑

html:靜態頁面路徑

cgi_bin:動態頁面路徑

cgi:Common Gateway Interface,通用網關接口

Client --> httpd(index.cgi) --> Spawn Process(index.cgi) --> httpd --> Client

MPM:Multi Path Module

mpm_winnt

prefork(一個請求用一個進程響應)

worker(一個請求用一個線程響應)

event(一個進程處理多個請求)


URL路徑跟本地文件系統路徑不是一碼事兒,URL是相對於DocumentRoot的路徑而言的


Options:

None:不支持任何選項

Indexes:允許索引目錄

FollowSynLinks:允許訪問符號鏈接指向的源文件

Includes:允許執行服務端包含(SSI)

ExexCGI:允許允許CGI腳本

ALL:支持所有選項

Order:用於定義基於主機的訪問控制功能的,可實現基於IP、網絡地址或主機定義訪問控制機制

Order allow,deny

allow from

deny from

# httpd -t (測試語法正確性)

# elinks URL (交互式的顯示一個,純文本界面的瀏覽器,需安裝elinks純文本瀏覽器,yum install elinks)

-dump:顯示網頁後立即退出交互式界面

-source:顯示網頁的源代碼



apache虛擬主機:

apache:服務器 Host:物理主機

虛擬主機:

apache服務:服務於多個不同的站點

apache:

中心主機

虛擬主機

基於IP IP1:80 IP2:80

基於端口 IP:80 IP:8080

基於域名 IP:80 主機名不同(www.**.com,www.**.org,www.**.net)


先取消中心主機,註釋中心主機的DocumentRoot即可。

虛擬主機的定義:

<VirtualHost HOST>

基於IP:

HOST

IP1:80

IP2:80

基於端口:

HOST

IP:80

IP:8080

基於域名:

HOST

*:80(ServerName不同)

</VirtualHost>













DHCP服務和http服務