① Tomcat的Web伺服器連接器支持幾種協議
a)HTTP Connector
此連接器支持HTTP/1.1協議
擁有這個連接器,Tomcat才能成為一個Web伺服器,但還額外可處理 servlet 和 jsp
每個監聽器監聽一個你電腦上的TCP埠(而沒有UDP埠)
一個Service可以配置多個HTTP連接器(配置不同埠即可),每個連接器都可以將請求轉發到與他們同級的一個Engine上讓它處理,並生成相應響應
b)AJP Connector
AJP連接器可以通過AJP協議和一個Web容器進行交互
當你想讓Apache 和 Tomcat結合並且你想讓Apache處理靜態頁面的內容的時候用AJP,或者你想利用Apache的SSL處理能力時.《linux 就該這么學》
特殊於HTTP Connector,AJP還可以與engine元素上的 jvm Route結合來使用負載均衡
c)HTTPS Connector
② 常用的web伺服器有哪些特點
1. Apache:屬於重量級web伺服器(重量級主要是在軟體包的大小上比較大,軟體的耦合度大),但是速度、性能不及其他輕量級web伺服器,並且消費內存較高。使用傳統的select模型,比較穩定的Prefork模式為多進程模式,需要經常派生子進程。所以消耗的cpu等伺服器資源比較大。
2. Lighttpd:輕量級web伺服器,cpu佔用低,效能好,模塊豐富。
3. Tomcat:運行:Servlet和Jsp web的應用軟體的容器,靜態和高並發處理弱。
4. Nginx:輕量級,高性能http和反向代理伺服器。高並發連接達到2-4萬個,內存、cpu等系統資源消耗低。Rewrite重寫規則(根據域名,URL的不同將HTTP請求分到不同的後端伺服器群組),內置的健康檢查功能(Nginx Proxy 後端的某台web伺服器宕機也不會影響前端訪問),節省帶寬(支持GZIP壓縮,可以添加瀏覽器本地緩存的Header頭)。
常用的Web伺服器有IIS、Apache、Tomcat、Jboss、Resin、Weblogic、WebSpher
③ 第五章: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就用於此類重定向。
④ 嵌入式web伺服器支持服務介面開發么
僅支持部分。
為了提高對設備的易操作性,很多設備中提供pc機直接通過瀏覽器操作設備的功能。這就需要在設備中實現web伺服器。現在在嵌入式設備中所使用的web伺服器主要有:boa、thttpd、mini_httpd、shttpd、lighttpd、goaheand、appweb和apache等。
現在的嵌入式linux中CGI程序主要使用C語言。對於編寫C語言的CGI程序,可以編寫好程序之後,在linux操作系統下編譯,用針對硬體平台的linux的交叉編譯工具編譯就可以,寫的html網頁界面在記事本寫即可。我以前寫的CGI程序就是在此環境下寫的。這也是最普遍的開發方法。
⑤ 常用的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等重要功能。
⑥ 在linux下可以使用的web伺服器有哪些
LINUX系統中常見的有:CERN、NCSA、Apache三種方式,一般最常用的方法就是用Apache。
LINUX系統中,還可以使用kangle web伺服器。這是國內研發的web伺服器。
支持跨平台使用(win2000以上系統、LINUX、UNIX等);
支持虛擬主機獨立進程及虛擬主機獨立運行身份;
子進程可以實行CHROOT; Linux學習可參考書籍《Linux就該這么學》。
⑦ 什麼是web服務它的優點是什麼
微軟為Web服務下的定義是通過標準的Web協議可編程訪問的Web組件。「軟體就是服務」,這已經是軟體發展的一個潮流了。未來的軟體廠商就象現在的電信公司一樣,用戶可以按照時間來租用軟體公司的服務。「Web服務」(Web Services)可以說是整個.NET計劃的核心,簡單的說,Web服務就是一種遠程訪問的標准。它的優點首先是跨平台,HTTP和SOAP等已經是互聯網上通用的協議;其次是可以解決防火牆的問題,如果使用DCOM或CORBA來訪問Web組建,將會被擋在防火牆外面,而使用SOAP則不會有防火牆的問題。要發展Web 服務需要更多的軟體廠商來開發Web服務,讓基於Web服務的軟體服務多起來。 這一切,是通過將緊密耦合的、高效的n層計算技術與面向消息的、鬆散耦合的Web概念相結合來實現的。我們將這種計算風格稱為Web服務,它的出現標志著人類已經邁入應用程序開發技術的新紀元。Web服務是一種應用程序,它可以使用標準的互聯網協議,像超文本傳輸協議(HTTP)和XML,將功能綱領性地體現在互聯網和企業內部網上。可將Web服務視作Web上的組件編程。從理論上講,開發人員可通過調用Web應用編程介面(API)(就像調用本地服務一樣),將Web服務集成到應用程序中,不同的是Web API調用可通過互聯網發送給位於遠程系統中的某一服務。 Sun:Web服務是互聯網 架構中可置換的標准零部件 Sun公司董事長、首席執行官Scott McNealy在Sun ONE發布會上說,「智能化Web服務對信息時代有著重大的意義,它的作用就象那些可置換的標准零部件在工業時代所起到的關鍵作用一樣。」 Web服務適用於任何類型的Web環境,無論是在互聯網、Intranet還是在Extranet,重點是在企業對消費者、企業對企業之間的通信。Web服務消費者可以是通過台式或是無線接入服務的個人,也可以是應用程序,還可以是另一個Web服務。Web服務應該具有以下的一些特點:Web服務可以通過Web接入進行訪問;Web服務提供一個XML介面;Web服務使XML信息,通過標准Web協議實現通信。Web服務支持系統間的鬆散耦合連接。 為了能夠讓Web服務具備智能化,它必須能夠識別出接受服務的消費者的身份、與消費者相關的安全方針、與消費者相關的服務策略以及消費者此次服務進行時所用的接入設備,同時智能化Web服務還應該知道與消費者享受此次服務有關的以往歷史記錄。 在SunONE智能Web服務戰略中,XML和Java技術是這種鬆散耦合的可互操作性的關鍵。XML提供了標準的、與平台無關的數據結構,以表示語境信息,而Java技術則通過了一個與平台無關的編程界面標准集,來訪問和利用這些語境信息。不但如此,Sun 正在參與和領導開放智能Web服務的技術開發定義工作,包括Java技術、XML、ebXML、SOAP、UDDI以及更多其他的東西。 IBM:Web服務是電子商務應用的基礎設施 IBM認為:Web服務使交流和相互操作更有效,減少編碼過程和人為干擾。IBM正在發布的動態電子商務策略是現電子商務策略的一個延伸。過去兩年中,IBM參與了Web服務標準的開發,而且已經在好幾個產品中宣布了對Web服務標準的支持。與競爭對手不同的是,IBM對Web服務僅僅提供基礎設施,使企業能夠適應不斷變化的環境。 IBM在Web服務領域投資了幾十億美元,能有效地將兩大競爭對手的產品XML(微軟)和Java (Sun)結合起來。當用戶的Web服務同時需要二者時(Java用於應用程序的開發;XML用於信息傳播),IBM就可以提供獨一無二的解決方案,採用真正開放式的執行標准,而不是專有的標准。多年來,IBM在硬體和軟體方面的技術能力使其能為不同規模的公司解決棘手問題,堅決支持非專有技術的解決方案,從而加強了多平台的兼容性,這在當今電子商務市場上是非常必要的。IBM的動態電子商務將保持在標准方面合作,實施競爭的策略,Web服務只完成了一半,另一半是全功能基礎架構軟體,這種軟體使Web服務可用來進行智能交易,工作流程和業務進程管理的一部分。 補充: BEA:充分發揮分布式業務的潛力 Web服務可以被描述為協議、協定和網路設施,能通過互聯網將業務功能公開給授權方。簡言之,Web服務是具體的業務流程,它能夠:公開和描述自己;Web服務可以定義自己的功能和屬性,以便其它應用能夠了解它,並容易地向其它應用提供這種功能;其它服務能夠在Web上找到它的位置,可以被調用,返回響應。 任何組件或應用都可以作為Web服務,以便被其它組件或應用使用。同樣,BEA WebLogic Server上的任何應用都可以從Web上的任意位置查找和請求Web服務,即使Web服務位於另一個平台也能找到。多個Web服務可集中成一個應用,可以是簡單的Web服務(如查看股票價格),也可以是基於事務處理的復雜供應鏈集成和管理(如卡車負載優化和路由)。 BEA將Web服務分為兩類:簡單Web服務和復雜Web服務。簡單Web服務提供基本的「請求/響應」功能,本質上不屬於事務處理型服務,安全性不高。復雜Web服務將改變行業開展業務的方式,但它將為貿易合作夥伴通過互聯網協作提供一個框架。BEA同時提供簡單Web服務和復雜Web服務,並把它們作為BEA WebLogic E-Business Platform的一部分。另外,BEA還與制定標準的機構密切合作,指導相關Web服務標準的開發。 補充: Web 服務是一種可以用來解決跨網路應用集成問題的開發模式,這種模式為實現「軟體作為服務」提供了技術保障。而「軟體作為服務」實質上是一種提供軟體服務的機制,這種機制可以在網路上暴露可編程介面,並通過這些介面來共享站點開放出來的功能。 Web 服務的主要特點之一是,客戶端訪問Web 服務只需要通過網際網路標准協議,如HTTP或XML,以及SOAP,不需要專門的協議,如RPC或IIOP。
⑧ 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應用,並且伺服器的配置簡單、界面友好。昆明java課程培訓機構http://www.kmbdqn.cn/認為對於那些正在尋求能夠提供Java平台所擁有的一切應用伺服器的用戶來說,WebLogic是一個十分理想的選擇。