Web伺服器有硬體伺服器和軟體伺服器,現在硬體伺服器多以雲的方式為用戶提供服務。

Apache、nginx屬於軟體伺服器,軟體伺服器是架設在服務端為Web應用提供系統級支撐服務,除了題目中提到的兩個伺服器,還有微軟的IIS伺服器也有比較多的應用,可以說是目前應用最為廣泛的三大伺服器。

以下描述的是Web Server的用戶請求處理過程(以CGI為例):

通常Web Server還要與資料庫伺服器聯合使用。

下面通過Java Web伺服器來解釋Web Server的作用,首先我們看一下Web Server在內部提供的服務:

Web Server包含了httpd和Web Container,其中httpd伺服器是apache為靜態頁面提供的響應伺服器,而Web Container則提供了動態內容的處理,為瞭解釋Web Container的概念,我們看一下官方給出的定義:

官方定義只有兩點:

  1. 協調servlet與httpd進程之間的交互。
  2. 一個實現了servlet API的Java虛擬機。

第一點比較好理解,如果是靜態頁面則交由httpd負責處理,如果是動態請求則傳遞到Web container中進行處理。

第二點是理解Web Container的重點,實現了servlet API的Java虛擬機則涵蓋了很多內容。簡單的概括一下,可以包含如下內容:

1.web組件的配置、部署。

2.web組件的生命週期管理、對象的創建、運行、銷毀。

3.服務組件之間的信息共享。

4.會話管理。

5.安全管理、異常處理等。

我們通過一個請求處理的時序圖看一下Web Container的作用:

可以說Web Container就是Web組件的運行支撐環境,Web組件的一切任務都在Web Container中完成,同時Web Container提供了系統級的支撐,用戶的Web組件(比如servlet)只需要專註於業務邏輯的實現就可以了,為開發人員提供了很大的便利。

由於Linux在安全性上要明顯好於Windows和Unix,通常Web Server部署在Linux伺服器上比較常見。同時Linux伺服器的穩定性表現也比較突出,所以一般大型Web服務都選擇部署在Linux系統上。

關注我,瞭解更多關於Web開發的內容,我是悟空問答的簽約作者,致力於為頭條的網友提供專業的科技類問題解答。


謝邀~

按照我自己的理解,和大家說說什麼是Web伺服器,再說一下什麼的應用伺服器,如果有理解不對的地方,請大家留言指正。

訪問網站的流程

先想一想,我們訪問一個網站,完整的流程是什麼呢?

  • 在瀏覽器輸入網址;

  • 瀏覽器把這個網址送到DNS伺服器,解析獲得對應的IP地址;

  • 發送HTTP Request到這個IP的伺服器;

  • 返回HTTP Response回去;

  • 瀏覽器拿到響應內容進行渲染後,把頁面展示給我們。

Web伺服器

【這個IP的伺服器】,做接收Request,返回HTTP Response工作的,就是Web伺服器。

Web伺服器是一個程序,運行在物理伺服器上,等待著客戶端(如瀏覽器)發送請求,當收到請求後,它會生成響應返回給客戶端。

嚴格意義上Web伺服器只負責處理HTTP協議,只能發送靜態頁面的內容。

所以web伺服器一般也被稱為HTTP伺服器。

應用伺服器

上面說到,Web伺服器接收到Request之後,返回的Response大多數不會只是靜態頁面,那麼就需要一個程序去根據Request動態地生成Response,這個程序就是應用伺服器。

  • 應用伺服器會有一些業務邏輯,可能會對資料庫進行增刪查改的操作,也可能會訪問其他的應用伺服器進行數據的查詢或處理。

  • 相對於web伺服器只能返回靜態頁面,而JSP,ASP,PHP等動態頁面需要通過CGI、FastCGI、ISAPI等介面,交給應用伺服器去處理。

  • 一般來說,應用伺服器從web伺服器接受請求,處理後的把響應返回再給web伺服器,由web伺服器再把響應返回給客戶端。

我將持續分享Java開發、架構設計、程序員職業發展等方面的見解,希望能得到你的關注。


web伺服器就是一組提供web訪問頁面的伺服器,比如你在瀏覽器輸入百度的域名時,會展現一個百度的搜索頁面,這個頁面可以成為是一種web服務,這種頁面需要有硬體設備存放,所以伺服器的用處就是開啟web服務,讓你屬於域名的時候可以訪問到這個網站。

以上就是比較大白話的說明瞭,不涉及任何技術語言,接下來詳細解釋下題主的問題設計到的問題。

01 什麼是伺服器

就是類似家庭的電腦一樣,一個硬體,然後上面跑著系統,可以理解為電腦超強版,因為要承載企業的業務,所以硬體性能方面肯定強出很多倍。系統也不是大家電腦裏常使用的windows 7這些,大部分還是使用linux系統,比如CenOS 6.5之類的,當然也有使用windows 2008企業版的,相比linux還是在少數,因為linux有很多針對企業伺服器的優勢。

02 什麼是web服務

web伺服器分為Apache和nginx,現在可能使用nginx的多一些,不過也看相應的場景,沒有什麼絕對的好壞。nginx的優勢就是佔用的資源相對來說較少,因為架構的不同nginx抗並發的能力也要強一些。還有高度模塊化的設計,編寫模塊相對來說簡單一些。


美國高防伺服器,價格實惠,先到先得,量大還可以享受折上折,有需要的趕快來諮詢我吧!

I3-4130/2核4線程/4G/1000G/30M/2IP /DDOS防禦20G單機/優惠價600元

E3-1230V2/2核4線程/8G/1000G/100M/2IP/ DDOS防禦20G單機/優惠價1099元

E3-1230/4核8線程/16G/1000G/100M/2IP/ DDOS防禦20G單機/優惠價1299元

滿足你所有需求,為你特別定製屬於你的專屬伺服器!詳情資訊請諮詢QQ428140675手機13271845533


1.web伺服器,簡單的理解,就是提供web服務的伺服器,就是我們常說的網站的伺服器。

比如我們在電腦上打開網頁看今日頭條,我們就是訪問的今日頭條的web伺服器。web伺服器的服務就是你在瀏覽器打開網頁的時候提供頁面給你看。提供的內容主要以文字和圖片居多,也有視頻。

2.Apache,nginx這是兩款伺服器軟體,在伺服器上面安裝了這兩個軟體之一(或者都安裝),伺服器才能提供web服務。早期的web伺服器多採用Apache,但是這十年來nginx成為使用最多用的web伺服器軟體。最大的原因是nginx比Apache能支持更大的訪問量。國內所有的大網站,比如網易、天涯、搜狐、知乎等等都是用的nginx

其實你理解的也不錯,伺服器可以為一臺電腦服務,也可以為多臺電腦服務。但是多臺伺服器也可以為一臺電腦服務。只是大部分伺服器都服務多臺電腦,因為服務區的硬體配置比普通的家用電腦要高的多的多。


感謝邀請,其實如果你願意,你也可以讓你的個人電腦充當伺服器,那麼如何把自己的電腦做成web伺服器,讓別人能夠訪問自己的電腦,只需兩步,就可以了!

一、【IIS 組件】、用來發布自己的網站

二、【花生殼】、動態域名解析(DDNS)服務軟體 如何讓別人來訪問自己的網站,況且又是在自己的電腦上呢,這時就需要【花生殼】了,花生殼是完全免費的動態域名解析(DDNS)服務軟體,下載並成功安裝動態域名客戶端,然後憑您已註冊的Oray護照成功登錄,那麼護照下所有激活花生殼服務的域名將與機器的公網IP綁定。您可以利用花生殼動態域名建立主機的遠程接入應用,讓互聯網用戶隨時隨地都可以通過域名找到您的機器的網路地址。

1) 為了測試,需要安裝IIS ,如果還沒安裝的話,繼續完成安裝

2) 安裝好了IIS後, 如果你還沒網頁的話可以自己做一個頁面作為測試,如果自已有的話, 就 不用做了。自己做個頁面,步驟如下: a)在桌面上,新建一個文本文件 b)在裡面隨便寫點字,並保存。 c)用滑鼠右擊選擇【重命名】。將文件的名字改成【index.htm】,文件將會變成IE瀏覽器的圖標一樣。 d)把文件複製到,【IIS的安裝目錄】,默認是C:Inetpubwwwroot,根據自身的情況而定。

3) 打開瀏覽器,在地址欄數http://localhost/ 如果看都剛剛輸入的文字的內容,則表示 IIS 安裝成功。

4)在瀏覽器地址欄輸入http:// 加上 你的免費域名。也會看到同樣的效果,則表示花生殼可以正常使用了,注意:域名前要加http://纔可以訪問 注意:如果你的電腦安裝有【殺毒軟體】【防火牆】等防護軟體的話,你把你的域名地址發給別人訪問的時候,別人會打不開你的網頁,這時候你需要把所有的防護軟體【關閉】,就可以讓別人來訪問了。 當然前提是,你的花生殼客戶端要【保持開啟】,如果關閉同樣也【無法訪問】。


謝邀,可以簡單理解伺服器就是提供各種服務的電腦,但電腦硬體只是基礎,真正決定伺服器功能的是伺服器的軟體。比如web伺服器是指搭建網站服務的伺服器,而網站搭建是靠軟體實現的,比如Apache,Nginx就是最有名的web服務軟體,還有ftp伺服器就是靠ftp服務軟體搭建的,視頻伺服器等。


首先你的理解是沒有問題的,伺服器確實是一臺機器,可以是配置較高的多核大內存伺服器也可以用個人電腦當做伺服器,在開發學習時可以用個人電腦當做伺服器。

但是伺服器只有硬體還不能叫做伺服器,關鍵是要能夠提供服務,Apache,Nginx是伺服器類軟體,可以對其他電腦或手機提供訪問服務。

一臺伺服器不僅要有硬體還要有軟體,現在一般說的web伺服器都是指軟體伺服器,對應的程序可以部署在硬體廠商哪裡,如一些雲伺服器。


從客觀上來說伺服器本身就是一臺電腦,從區別上來說,伺服器不管是在外觀/大小/以及運行要求都和普通電腦有很大的區別,不是是矩陣式還是刀片式伺服器都是機櫃式的,同是伺服器運行系統是專用的,如:2012Windows Server 並,不是普通windows系統。

當然普通電腦是伺服器一樣配置Web運行環境之後也能運行Web,如Windows自帶的Asp/net伺服器/ftp。So,Web伺服器一臺能提供Web運行環境以及服務的電腦。


伺服器是一個比較泛的概念,對於web伺服器,運行web程序,硬體層面的伺服器是指運行程序的電腦設備,比如IBM、HP等公司的伺服器設備,提供網路訪問的整套系統可以統稱web伺服器,比如淘寶的web伺服器,其上的web服務提供程序也可稱為web伺服器,比如題主提到的apache,nginx等提供web服務軟體系統。


推薦閱讀:
相關文章