導航:首頁 > 程序命令 > doc命令訪問web伺服器

doc命令訪問web伺服器

發布時間:2023-12-20 23:55:55

A. 第五章:Web伺服器

5.1各種形狀和尺寸的Web伺服器
Web伺服器會對HTTP請求進行處理並提供響應。術語「Web伺服器」可以用來表示Web伺服器的軟體,也可以用來表示提供Web頁面的特定設備或計算機。
Web伺服器有著不同的風格、形狀和尺寸。有普通的10行Perl腳本的Web伺服器、50MB的安全商用引擎以及極小的卡上伺服器。但不管功能有何差異,所有的 Web伺服器都能夠接收請求資源的 HTTP請求,將內容回送給客戶端(參見圖1-5)。
5.1.1Web伺服器的實現
Web伺服器實現了HTTP和相關的TCP連接處理。負責管理Web伺服器提供的資源,以及對Web伺服器的配置、控制及擴展方面的管理。
Web伺服器邏輯實現了HTTP 協議、管理著Web資源,並負責提供Web伺服器的管理功能。Web伺服器邏輯和操作系統共同負責管理TCP連接。底層操作系統負責管理底層計算機系統的硬體細節,並提供了TCP/IP網路支持、負責裝載Web資源的文件系統以及控制當前計算活動的進程管理功能。

5.3實際的Web伺服器會做些什麼
例5-1顯示的 Perl伺服器是一個Web伺服器的小例子。最先進的商用Web伺服器要比它復雜得多,但它們確實執行了幾項同樣的任務,如圖5-3所示。
(1)建立連接一—接受一個客戶端連接,或者如果不希望與這個客戶端建立連接,就
將其關閉。
(2)接收請求——從網路中讀取一條HTTP請求報文。(3)處理請求——對請求報文進行解釋,並採取行動。(4)訪問資源-———訪問報文中指定的資源。
(5)構建響應——創建帶有正確首部的 HTTP響應報文。(6)發送響應——將響應回送給客戶端。
(7)記錄事務處理過程—-將與已完成事務有關的內容記錄在一個日誌文件中。

5.4第一步——接受客戶端連接
如果客戶端已經打開了一條到伺服器的持久連接,可以使用那條連接來發送它的請求。否則,客戶端需要打開一條新的到伺服器的連接(回顧第4章,復習一下HTTP的連接管理技術)。

5.4.1處理新連接
客戶端請求一條到Web伺服器的TCP連接時,Web伺服器會建立連接,判斷連接的另一端是哪個客戶端,從TCP連接中將IP地址解析出來。'一旦新連接建立起來
並被接受,伺服器就會將新連接添加到其現存Web伺服器連接列表中,做好監視連接上數據傳輸的准備。
Web伺服器可以隨意拒絕或立即關閉任意一條連接。有些Web伺服器會因為客戶端IP地址或主機名是未認證的,或者因為它是已知的惡意客戶端而關閉連接。Web伺服器也可以使用其他識別技術。

5.4.2客戶端主機名識別
可以用「反向 DNS」對大部分Web伺服器進行配置,以便將客戶端IP地址轉換成客戶端主機名。Web伺服器可以將客戶端主機名用於詳細的訪問控制和日誌記錄。但要注意的是,主機名查找可能會花費很長時間,這樣會降低Web事務處理的速度。很多大容量Web伺服器要麼會禁止主機名解析,要麼只允許對特定內容進行解析。
可以用配置指令HostnameLookups啟用Apache的主機查找功能。比如,例5-2中的Apache配置指令就只打開了HTML和CGI資源的主機名解析功能。
例5-2配置Apache,為 HTML和CGI資源查找主機名
HostnameLookups off
<Files ~" - 《html |htmlcgi)$">
HostnameLookups on
</Files>

5.5第二步—接收請求報文
連接上有數據到達時,Web伺服器會從網路連接中讀取數據,並將請求報文中的內容解析出來(參見圖5-5)。
解析請求報文時,Web伺服器會:
·解析請求行,查找請求方法、指定的資源標識符(URI)以及版本號,3各項之
間由一個空格分隔,並以一個回車換行(CRLF)序列作為行的結束,「
·讀取以CRLF結尾的報文首部;
檢測到以CRLF結尾的、標識首部結束的空行(如果有的話)﹔
·如果有的話(長度由content-Length首部指定),讀取請求主體。

解析請求報文時,Web伺服器會不定期地從網路上接收輸入數據。網路連接可能隨時都會出現延遲。Web伺服器需要從網路中讀取數據,將部分報文數據臨時存儲在內存中,直到收到足以進行解析的數據並理解其意義為止。
5.5.1 報文的內部表示法
有些Web伺服器還會用便於進行報文操作的內部數據結構來存儲請求報文。比如,數據結構中可能包含有指向請求報文中各個片段的指針及其長度,這樣就可以將這些首部存放在一個快速查詢表中,以便快速訪問特定首部的具體值了(參見圖5-6)。

5.5.2連接的輸入/輸出處理結構
高性能的 Web伺服器能夠同時支持數千條連接。這些連接使得伺服器可以與世界各地的客戶端進行通信,每個客戶端都向伺服器打開了一條或多條連接。某些連接可能在快速地向Web伺服器發送請求,而其他一些連接則可能在慢慢發送,或者不經常發送請求,還有一些可能是空閑的,安靜地等待著將來可能出現的動作。
因為請求可能會在任意時刻到達,所以Web伺服器會不停地觀察有無新的Web請求。不同的Web伺服器結構會以不同的方式為請求服務,如圖5-7所示。
·單線程Web伺服器(參見圖5-7a)
單線程的Web伺服器一次只處理一個請求,直到其完成為止。一個事務處理結束之後,才去處理下一條連接。這種結構易於實現,但在處理過程中,所有其他連接都會被忽略。這樣會造成嚴重的性能問題,只適用於低負荷的伺服器,以及type-o-serve這樣的診斷工具。
·多進程及多線程Web伺服器(參見圖5-7b)
多進程和多線程Web伺服器用多個進程,或更高效的線程同時對請求進行處理。3可以根據需要創建,或者預先創建一些線程/進程。°有些伺服器會為每條連接分配一個線程/進程,但當伺服器同時要處理成百、上千,甚至數以萬計的連接時,需要的進程或線程數量可能會消耗太多的內存或系統資源。因此,很多多線程Web伺服器都會對線程/進程的最大數量進行限制。
·復用I/O的伺服器(參見圖5-7c)
為了支持大量的連接,很多Web伺服器都採用了復用結構。在復用結構中,要同時監視所有連接上的活動。當連接的狀態發生變化時(比如,有數據可用,或出現錯誤時),就對那條連接進行少量的處理,處理結束之後,將連接返回到開放連接列表中,等待下一次狀態變化。只有在有事情可做時才會對連接進行處理,在空閑連接上等待的時候並不會綁定線程和進程。
·復用的多線程Web伺服器(參見圖5-7d)
有些系統會將多線程和復用功能結合在一起,以利用計算機平台上的多個CPU.多個線程(通常是一個物理處理器)中的每一個都在觀察打開的連接(或打開的連接中的一個子集),並對每條連接執行少量的任務。

5.6第三步———處理請求
一旦Web伺服器收到了請求,就可以根據方法、資源、首部和可選的主體部分來對請求進行處理了。
有些方法(比如POST)要求請求報文中必須帶有實體主體部分的數據。其他一些方法(比如OPTIONS)允許有請求的主體部分,也允許沒有。少數方法(比如GET)禁止在請求報文中包含實體的主體數據。
這里我們並不對請求的具體處理方式進行討論,因為本書其餘大多數章節都在討論這個問題。

5.7第四步——-對資源的映射及訪問
Web 伺服器是資源伺服器。它們負責發送預先創建好的內容,比如HTML頁面或JPEG 圖片,以及運行在伺服器上的資源生成程序所產生的動態內容。

5.7.1 docroot
Web伺服器支持各種不同類型的資源映射,但最簡單的資源映射形式就是用請求URI作為名字來訪問Web伺服器文件系統中的文件。通常,Web伺服器的文件系統中會有一個特殊的文件夾專門用於存放Web內容。這個文件夾被稱為文檔的根目錄(document root,或docroot)。Web伺服器從請求報文中獲取URI,並將其附加在文檔根目錄的後面。
在圖5-8中,有一條對/specials/saw-blade.gif 的請求到達。這個例子中Web伺服器的文檔根目錄為/us/local/httpd/files。Web伺服器會返迴文件/usr/local/httpd/files/specials/saw-blade.gif。

在配置文件httpd.conf中添加一個 DocumentRoot行就可以為Apache Web伺服器設置文檔的根目錄了:
DocumentRoot /usr/ local/httpd/files
伺服器要注意,不能讓相對URL退到docroot之外,將文件系統的其餘部分暴露出來。比如,大多數成熟的Web伺服器都不允許這樣的URI看到Joe的五金商店文檔根目錄上一級的文件:
http://www.joes-hardware.com/ ..

5.8.3重定向
Web伺服器有時會返回重定向響應而不是成功的報文。Web伺服器可以將瀏覽器重定向到其他地方來執行請求。重定向響應由返回碼3XX說明。Location響應首部包含了內容的新地址或優選地址的URI。重定向可用於下列情況。
·永久刪除的資源
資源可能已經被移動到了新的位置,或者被重新命名,有了一個新的URL。Web伺服器可以告訴客戶端資源已經被重命名了,這樣客戶端就可以在從新地址獲取資源之前,更新書簽之類的信息了。狀態碼301 Moved Permanently就用於此類重定向。·臨時刪除的資源
如果資源被臨時移走或重命名了,伺服器可能希望將客戶端重定向到新的位置上去。但由於重命名是臨時的,所以伺服器希望客戶端將來還可以回頭去使用老的URL,不要對書簽進行更新。狀態碼303 See Other以及狀態碼307 TemporaryRedirect就用於此類重定向。

B. 電腦web伺服器在哪打開

以Windows10系統為例,web伺服器指的是網站伺服器,可以瀏覽web文檔,也可以放置網站文件,具體web文件的位置打開電腦--開始--控制面板--Internet Information Services後,在展開的節點里就可以看到相應的web程序信息了。

總的來說,web伺服器就是一組提供web訪問頁面的伺服器,Web伺服器是一個程序,運行在物理伺服器上,等待著客戶端發送請求,當收到請求後,它會生成響應返回給客戶端。嚴格意義上Web伺服器只負責處理HTTP協議,只能發送靜態頁面的內容。所以web伺服器一般也被稱為HTTP伺服器。

C. 如何訪問虛擬機中的架設的Web伺服器

第一步:設置虛擬機的網路適配器為橋接模式

這時候在外網的瀏覽器中輸入虛擬機的IP地址,就可以訪問虛擬機的web伺服器了

閱讀全文

與doc命令訪問web伺服器相關的資料

熱點內容
降服主力指標源碼主圖 瀏覽:497
python實用庫 瀏覽:689
電腦默認7個文件夾 瀏覽:9
新唐單片機安裝c51後編譯錯誤 瀏覽:527
紅包源碼引流神器 瀏覽:232
學生初中畢業撕書解壓 瀏覽:745
命令方塊刷銅點教學 瀏覽:688
php郵件訂閱系統 瀏覽:994
柱樑底加密箍間距 瀏覽:29
pythonjavascript對比 瀏覽:740
什麼動漫app是大陸字幕 瀏覽:286
android查看activity棧 瀏覽:918
x86固件編譯 瀏覽:165
安卓下什麼可以看微博動圖 瀏覽:412
永輝生活app注冊有什麼優惠嗎 瀏覽:411
行偏移演算法 瀏覽:240
什麼app也能讓wifi增強 瀏覽:178
雙分錄核演算法反映什麼 瀏覽:210
ubuntuphpaptget 瀏覽:256
安卓手機快充需要什麼數據線 瀏覽:795