㈠ 「WEB伺服器」是什麼
Web伺服器:
一般指網站伺服器,是指駐留於網際網路上某種類型計算機的程序,可以向瀏覽器等Web客戶端提供文檔。
Web伺服器作用:
1、放置網站文件,讓全世界瀏覽;
2、可以放置數據文件,讓全世界下載。
Web伺服器分類:
1、Apache;
2、Nginx;
3、IIS。
Web伺服器工作原理可分為四個步驟:
連接過程、請求過程、應答過程以及關閉連接。
㈡ web伺服器可以提供什麼應用服務
web伺服器也稱為WWW(WORLD WIDE WEB)伺服器,主要功能是提供網上信息瀏覽服務。Web伺服器一般指網站伺服器,可以處理瀏覽器等Web客戶端的請求並返回相應響應,也可以放置網站文件,讓全世界瀏覽;可以放置數據文件,讓全世界下載。
Web伺服器是可以向發出請求的瀏覽器提供文檔的程序。
1、伺服器是一種被動程序:只有當Internet上運行其他計算機中的瀏覽器發出的請求時,伺服器才會響應。
2 、最常用的Web伺服器是Apache和Microsoft的Internet信息伺服器(Internet Information Services,IIS)。
3、Internet上的伺服器也稱為Web伺服器,是一台在Internet上具有獨立IP地址的計算機,可以向Internet上的客戶機提供WWW、Email和FTP等各種Internet服務。
4、Web伺服器是指駐留於網際網路上某種類型計算機的程序。當Web瀏覽器(客戶端)連到伺服器上並請求文件時,伺服器將處理該請求並將文件反饋到該瀏覽器上,附帶的信息會告訴瀏覽器如何查看該文件(即文件類型)。伺服器使用HTTP(超文本傳輸協議)與客戶機瀏覽器進行信息交流,這就是人們常把它們稱為HTTP伺服器的原因。
Web伺服器不僅能夠存儲信息,還能在用戶通過Web瀏覽器提供的信息的基礎上運行腳本和程序。
web伺服器應用比較多的就屬搭建網站了,網站雲伺服器是一種簡單高效、處理能力可彈性伸縮的計算服務, 幫助您快速構建更穩定、安全的應用,提升運維效率,降低IT成本,
㈢ 了解Web伺服器的種類有哪些嗎各自有哪些優缺點
現在的Web伺服器種類繁多,大家在做項目的時候可以根據自己的需求靈活選擇。下面和大家分享一下有哪些Web伺服器,以及它們的優缺點。
操作方法
01街頭流氓
Apache又稱httpd server,是目前應用最廣泛的web伺服器,應用於各種平台。當Apache首次推出時,它有許多缺陷。現在已經修復完善了。如果你是一名web伺服器研究人員,邊肖建議你必須學會使用Apache。
優點:緊湊、靈活、可擴展、穩定。
缺點:軟體是開源的,所以很多漏洞可能很容易被發現。
08碼頭
Jetty是一個專用於Java Web的伺服器。它用於運行Servlet程序,是眾多伺服器中最受限制的。邊肖不建議你掌握這個伺服器。
優點:內容簡單,容易掌握。
㈣ 如何選擇WEB伺服器
大多數Web伺服器主要是為一種操作系統進行優化的,有的只能運行在一種操作系統上,所以選擇Web伺服器時,還需要和操作系統聯系起來考慮。而且一般的品牌Web伺服器都有自己的一套Web伺服器系統軟體,這就要考慮這套軟體所支持的標准、應用(包括資料庫應用)和安全協議等。一般要考慮以下幾個方面1、從本身需求考慮,包括現在實際需求和應用與未來應用擴展需求。有些企業盲目要求高配置,其實這是不正確的。2、性能由於Web伺服器為它的客戶提供的數據類型通常是機密的。所支持的並發用戶數,這是大家最容易想到的。Web伺服器的並發用戶數支持能力是指Web伺服器在同一時刻可以允許的用戶連接數。響應能力-其實這個參數與上面介紹的所能支持的並發用戶數相關,響應速度越快,單位時間內就可以支持越多的訪問量,用戶點擊的響應速度就越快。3、測試的機器應與打算購買的機器一致
有的IDC奸商,將測試的機器是至強機器,帶寬放在100M的線上,用戶測試時感覺的確快,但一轉手到用戶時,可能是普通的機器+普通的帶寬,速度明顯跟不上。要想體驗真實的測試速度,必須確認測試的機器與打算購買的機器一致,也就是說,如果測試可以了,那就直接要這一台機,不用換線,不用換機器,不用下架。
4、簽定託管/租用合同
很多人對於合同之事,不太重視,但一般機房或者一級代理,都提供此服務。有合同在手,一是日後可以有證明資料,一是使託管/租用正規化。5、安全性安全系統方面是否能7X24小時進行全方位機房監控。它主要要考慮兩個方面:一是保護Web伺服器機密信息;二是要防止黑客的攻擊。6、管理的難易程度Web伺服器的管理包含兩種含義:一是管理Web伺服器是否簡單易行;二是利用Web界面進行網路管理。管理
Web伺服器的管理界面一般有命令行、Telnet、HTML和基於窗口的應用程序。從伺服器商的服務體系和技術實力來說,看IDC商是不是正規公司,是否擁有這方面的資深認證可以幫助你免費備案。如果出了問題,不能得到廠商及時、可靠的技術支持,將很可能影響到公司電子商務的正常應用。有沒有專業的技術團隊,後期維護沒有管了。
㈤ Web伺服器是什麼通俗易懂的回答
Web伺服器一般指網站伺服器,是指駐留於網際網路上某種類型計算機的程序,可以向瀏覽器等Web客戶端提供文檔,也可以放置網站文件,讓全世界瀏覽;可以放置數據文件,讓全世界下載。目前最主流的三個Web伺服器是Apache Nginx IIS。
WEB伺服器也稱為WWW(WORLD WIDE WEB)伺服器,主要功能是提供網上信息瀏覽服務。
WWW 是 Internet 的多媒體信息查詢工具,是 Internet 上近年才發展起來的服務,也是發展最快和目前用的最廣泛的服務。正是因為有了WWW工具,才使得近年來 Internet 迅速發展,且用戶數量飛速增長。
(5)web窗口伺服器擴展閱讀:
WEB伺服器特點:
Windows,Linux與Unix這3個操作系統是架設Web伺服器比較常見的操作系統。Linux的安全性能在這3個操作系統中最高,可以支持多個硬體平台,其網路功能比較強大。
總的來說,這兩大優點是其他操作系統不可替代的:
1、可以依據用戶不同的需求來隨意修改、調整與復制各種程序的源碼以及發布在互聯網上;
2、Linux操作系統的市場價格比較便宜,也能夠在互聯網上免費下載源碼。可以說,Linux為架設既高效又安全的Web伺服器的比較理想的操作系統。
3、此外,要讓Web伺服器更具有優越的性能,可以根據伺服器系統之特點與用途作進一步的優化與處理,盡量減少Web伺服器的數據傳輸量以及降低其數據傳輸的頻率。
進而促進網路寬頻的利用率與使用率,以及提高網路客戶端的網頁載入的速度,同時也可以減少Web伺服器各種資源的消耗。
㈥ 如何做web伺服器
如何能讓互聯網上的用戶也可以瀏覽到放在我們自己計算機上的主頁?它的解決就要用到IIS。
IIS是一種Web(網頁)服務組件,其中包括Web伺服器、FTP伺服器、NNTP伺服器和SMTP伺服器,分別用於網頁瀏覽、文件傳輸、新聞服務和郵件發送等方面,它使得在網路(包括互聯網和區域網)上發布信息成了一件很容易的事。
一、IIS的添加
請進入「控制面板」,依次選「添加/刪除程序→添加/刪除Windows組件」,將「Internet信息服務(IIS)」前的小鉤去掉(如有),重新勾選中後按提示操作即可完成IIS組件的添加。用這種方法添加的IIS組件中將包括Web、FTP、NNTP和SMTP等全部四項服務。
二、IIS的運行
當IIS添加成功之後,再進入「開始→程序→管理工具→Internet服務管理器」以打開IIS管理器,對於有「已停止」字樣的服務,均在其上單擊右鍵,選「啟動」來開啟。
三、建立第一個Web站點
比如本機的IP地址為192.168.0.1,自己的網頁放在D:\Wy目錄下,網頁的首頁文件名為Index.htm,現在想根據這些建立好自己的Web伺服器。
對於此Web站點,我們可以用現有的「默認Web站點」來做相應的修改後,就可以輕松實現。請先在「默認Web站點」上單擊右鍵,選「屬性」,以進入名為「默認Web站點屬性」設置界面。
1.修改綁定的IP地址:轉到「Web站點」窗口,再在「IP地址」後的下拉菜單中選擇所需用到的本機IP地址「192.168.0.1」。
2.修改主目錄:轉到「主目錄」窗口,再在「本地路徑」輸入(或用「瀏覽」按鈕選擇)好自己網頁所在的「D:\Wy」目錄。
3.添加首頁文件名:轉到「文檔」窗口,再按「添加」按鈕,根據提示在「默認文檔名」後輸入自己網頁的首頁文件名「Index.htm」。
4.添加虛擬目錄:比如你的主目錄在「D:\Wy」下,而你想輸入「192.168.0.1/test」的格式就可調出「E:\All」中的網頁文件,這裡面的「test」就是虛擬目錄。請在「默認Web站點」上單擊右鍵,選「新建→虛擬目錄」,依次在「別名」處輸入「test」,在「目錄」處輸入「E:\All」後再按提示操作即可添加成功。
5.效果的測試:打開IE瀏覽器,在地址欄輸入「192.168.0.1」之後再按回車鍵,此時就能夠調出你自己網頁的首頁,則說明設置成功!
四、添加更多的Web站點
1.多個IP對應多個Web站點
如果本機已綁定了多個IP地址,想利用不同的IP地址得出不同的Web頁面,則只需在「默認Web站點」處單擊右鍵,選「新建→站點」,然後根據提示在「說明」處輸入任意用於說明它的內容(比如為「我的第二個Web站點」)、在「輸入Web站點使用的IP地址」的下拉菜單處選中需給它綁定的IP地址即可(如圖1);當建立好此Web站點之後,再按上步的方法進行相應設置。
2.一個IP地址對應多個Web站點
當按上步的方法建立好所有的Web站點後,對於做虛擬主機,可以通過給各Web站點設不同的埠號來實現,比如給一個Web站點設為80,一個設為81,一個設為82……(如圖2),則對於埠號是80的Web站點,訪問格式仍然直接是IP地址就可以了,而對於綁定其他埠號的Web站點,訪問時必須在IP地址後面加上相應的埠號,也即使用如「」的格式。
很顯然,改了埠號之後使用起來就麻煩些。如果你已在DNS伺服器中將所有你需要的域名都已經映射到了此惟一的IP地址,則用設不同「主機頭名」的方法,可以讓你直接用域名來完成對不同Web站點的訪問。
比如你本機只有一個IP地址為192.168.0.1,你已經建立(或設置)好了兩個Web站點,一個是「默認Web站點」,一個是「我的第二個Web站點」,現在你想輸入「」可直接訪問前者,輸入「」可直接訪問後者。其操作步驟如下:
1)請確保已先在DNS伺服器中將你這兩個域名都已映射到了那個IP地址上;並確保所有的Web站點的埠號均保持為80這個默認值。
2)再依次選「默認Web站點→右鍵→屬性→Web站點」,單擊「IP地址」右側的「高級」按鈕,在「此站點有多個標識下」雙擊已有的那個IP地址(或單擊選中它後再按「編輯」按鈕),然後在「主機頭名」下輸入「」再按「確定」(如圖3)按鈕保存退出。
3)接著按上步同樣的方法為「我的第二個Web站點」設好新的主機頭名為「」即可。
4)最後,打開你的IE瀏覽器,在地址欄輸入不同的網址,就可以調出不同Web站點的內容了。
3.多個域名對應同個Web站點
你只需先將某個IP地址綁定到Web站點上,再在DNS伺服器中,將所需域名全部映射向你的這個IP地址上,則你在瀏覽器中輸入任何一個域名,都會直接得到所設置好的那個網站的內容。
五、對IIS服務的遠程管理
1.在「管理Web站點」上單擊右鍵,選「屬性」,再進入「Web站點」窗口,選擇好「IP地址」。
2.轉到「目錄安全性」窗口,單擊「IP地址及域名限制」下的「編輯」按鈕,點選中「授權訪問」以能接受客戶端從本機之外的地方對IIS進行管理;最後單擊「確定」按鈕。
3.則在任意計算機的瀏覽器中輸入如「」(3598為其埠號)的格式後,將會出現一個密碼詢問窗口,輸入管理員帳號名(Administrator)和相應密碼之後就可登錄成功,現在就可以在瀏覽器中對IIS進行遠程管理了!在這里可以管理的范圍主要包括對Web站點和FTP站點進行的新建、修改、啟動、停止和刪除等操作。
㈦ web伺服器類型介紹
web應用的運營都是基於web伺服器的存在才能實現的。今天我們就一起來了解一下,目前比較常見的一些web伺服器都有哪些類型。
1、Tomcat伺服器
目前非常流行的Tomcat伺服器是Apache-Jarkarta開源項目中的一個子項目,是一個小型、輕量級的支持JSP和Servlet技術的Web伺服器,也是初學者學習開發JSP應用的選。
2、Resin伺服器
Resin是Caucho公司的產品,是一個非常流行的支持Servlet和JSP的伺服器,速度非常快。Resin本身包含了一個支持HTML的Web伺服器,這使它不僅可以顯示動態內容,而且顯示靜態內容的能力也毫不遜色,因此許多網站都是使用Resin伺服器構建
3、JBoss伺服器
JBoss是一個種遵從JavaEE規范的、開放源代碼的、純Java的EJB伺服器,對於J2EE有很好的支持。JBoss採用JMLAPI實現軟體模塊的集成與管理,其核心服務又是提供EJB伺服器,不包含Servlet和JSP的Web容器,不過它可以和Tomcat完美結合
4、WebSphere伺服器
WebSphere是IBM公司的產品,可進一步細分為WebSpherePerformancePack、CacheManager和WebSphereApplicationServer等系列,其中WebSphereApplicationServer是基於Java的應用環境,可以運行於SunSolaris、WindowsNT等多種操作系統平台,用於建立、部署和管理Internet和IntranetWeb應用程序。
5、WebLogic伺服器
WebLogic是BEA公司的產品(現在已經被Oracle收購),可進一步細分為WebLogicServer、WebLogicEnterprise和WebLogicPortal等系列,其中WebLogicServer的功能特別強大。WebLogic支持企業級的、多層次的和完全分布式的Web應用,並且伺服器的配置簡單、界面友好。IT培訓http://www.kmbdqn.cn/認為對於那些正在尋求能夠提供Java平台所擁有的一切應用伺服器的用戶來說,WebLogic是一個十分理想的選擇。
㈧ 常用的web伺服器有哪些
1.IIS
IIS(Internet信息服務)英文InternetInformationServer的縮寫。它是微軟公司主推的伺服器。IIS的特點具有:安全性,強大,靈活。
2.Tomcat
Tomcat是Apache軟體基金會(ApacheSoftwareFoundation)的Jakarta項目中的一個核心項目,由Apache、Sun和其他一些公司及個人共同開發而成。Tomcat技術先進、性能穩定,而且免費,因而深受Java愛好者的喜愛並得到了部分軟體開發商的認可,成為目前比較流行的Web應用伺服器。
3.Zeus
Zeus是一個運行於Unix下的非常優秀的Web伺服器,據說性能超過Apache,是效率最高的Web伺服器之一。
4.Nginx
Nginx不僅是一個小巧且高效的HTTP伺服器,也可以做一個高效的負載均衡反向代理,通過它接受用戶的請求並分發到多個Mongrel進程可以極大提高Rails應用的並發能力。
5.Apache
Apache是世界使用排名第一的Web伺服器軟體。它幾乎可以運行在所有的計算機平台上。由於Apache是開源免費的,因此有很多人參與到新功能的開發設計,不斷對其進行完善。Apache的特點是簡單、速度快、性能穩定,並可做代理伺服器來使用。
6.Lighttpd
Lighttpd是由德國人JanKneschke領導開發的,基於BSD許可的開源WEB伺服器軟體,其根本的目的是提供一個專門針對高性能網站,安全、快速、兼容性好並且靈活的webserver環境。具有非常低的內存開銷,CPU佔用率低,效能好,以及豐富的模塊等特點。支持FastCGI,CGI,Auth,輸出壓縮(outputcompress),URL重寫,Alias等重要功能。
㈨ web伺服器是什麼
WEB伺服器也稱為WWW(WORLD WIDE WEB)伺服器,主要功能是提供網上信息瀏覽服 務。
(1)應用層使用HTTP協議。
(2)HTML文檔格式。
(3)瀏覽器統一資源定位器(URL)。
WWW代表萬維網的意思
Web伺服器可以解析(handles)HTTP協議。當Web伺服器接收到一個HTTP請求(request),會返回一個HTTP響應(response),例如送回一個HTML頁面。為了處理一個請求(request),Web伺服器可以響應(response)一個靜態頁面或圖片,進行頁面跳轉(redirect),或者把動態響應(dynamic response)的產生委託(delegate)給一些其它的程序例如CGI腳本,JSP(JavaServer Pages)腳本,servlets,ASP(Active Server Pages)腳本,伺服器端(server-side)JavaScript,或者一些其它的伺服器端(server-side)技術。無論它們(譯者註:腳本)的目的如何,這些伺服器端(server-side)的程序通常產生一個HTML的響應(response)來讓瀏覽器可以瀏覽。
要知道,Web伺服器的代理模型(delegation model)非常簡單。當一個請求(request)被送到Web伺服器里來時,它只單純的把請求(request)傳遞給可以很好的處理請求(request)的程序(譯者註:伺服器端腳本)。Web伺服器僅僅提供一個可以執行伺服器端(server-side)程序和返回(程序所產生的)響應(response)的環境,而不會超出職能范圍。伺服器端(server-side)程序通常具有事務處理(transaction processing),資料庫連接(database connectivity)和消息(messaging)等功能。
雖然Web伺服器不支持事務處理或資料庫連接池,但它可以配置(employ)各種策略(strategies)來實現容錯性(fault tolerance)和可擴展性(scalability),例如負載平衡(load balancing),緩沖(caching)。集群特徵(clustering—features)經常被誤認為僅僅是應用程序伺服器專有的特徵。
㈩ 第五章: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就用於此類重定向。