我知道使用Web伺服器,html頁面從伺服器傳輸到客戶端,使用Web服務,發送xml文件,但仍然......我不明白它們;甚至沒有它們之間的差異。
有人可以盡可能簡單地解釋這個術語嗎?
平台:java、python、php
謝謝
答案1
Web 伺服器是使用 HTTP(S) 協定為您提供內容的伺服器;它收到“給我http://some.site.com/some/page?some=parameter」並發回一個答案,可以是 HTML 頁面或任何其他可以透過 HTTP(S) 傳輸的內容;也就是說,幾乎任何事物(有關詳細信息,請參閱 MIME)。
通常,網頁不僅僅是靜態文字文件,而是由伺服器使用程式設計師開發的一些伺服器端程式碼動態產生的;當網站(或其一部分)變得足夠複雜時,通常將其定義為「Web 應用程式」;這個術語非常模糊,實際上意味著「具有動態生成內容的網站」。有時,Web 伺服器和應用程式伺服器實際上是同一個程式(請參閱 IIS 或帶有模組的 Apache);有時,應用程式伺服器是一個成熟的不同程式(甚至可能運行在不同的機器上),它與 Web 伺服器通訊以向其提供動態內容,而 Web 伺服器則管理 HTTP 請求和靜態內容;這是 Java 網站的標準做法。
Web 服務是一種 Web 應用程序,它遵循一些為使用 XML 交換請求和回應而定義的標準;這裡的想法是,Web 服務不會被人類使用,而是由其他程式(可能是 Web 應用程式本身)調用,因此它不需要做花哨的圖形或其他任何東西,而只是提供以標準化方式提供所請求的訊息。
答案2
這些術語沒有真正精確的定義,但非常粗略地說:
- A網路伺服器是一個向瀏覽器提供內容(HTML、圖像等)的程序,即供人類閱讀
- A網路服務是一種可以透過 HTTP(與 Web 伺服器使用的協定相同)存取的服務,通常是程式使用的 API
所以差別在於「受眾」:網頁伺服器提供頁面供人們在瀏覽器中閱讀; Web 服務向某個程式提供資料(程式本身可能是 Web 伺服器;-))。
為了避免混淆,大多數 Web 伺服器(程式)都可以用來實現 Web 服務(因為技術基礎是相同的)。因此,這並不是真正的技術區別,而是伺服器的目的之一。
答案3
一個簡單的方法是運行幾個場景:
網頁伺服器擁有您想要提供給客戶端的檔案。 (客戶端可以是瀏覽器、應用程式或另一個 Web 伺服器或另一個伺服器)
Web 服務是 Web 伺服器瞭解用戶端請求並對其做出反應的機制。反應可能是提供查詢結果、執行內部命令和其他類似的項目。
一般來說,當您聽到 Web 2.0 中的「Web 服務」(例如 API)時,您指的是一種正在偵聽 Web 伺服器以等待命令或查詢的程式語言。
以推特為例。 Twitter 本身由網頁伺服器提供服務,但當用戶端點擊「追蹤者」時,瀏覽器會向網頁伺服器發送網路服務命令,詢問追蹤者是誰。
根據定義,Web 伺服器提供檔案服務,但它必須執行某種類型的 Web 服務才能與用戶端互動。此外,在系統管理員圈中,Web 服務可以是與 Web 伺服器相關的任何可以公開的服務。例如,如果您有一個包含4 個面向客戶的應用程式(mysql、tomcat、apache、netbeans)的網站,您可以將它們寬鬆地稱為“webservices”,即使它們在技術上是Web 伺服器和資料庫服務,但這不是您想要的因為我不認為。堅持使用與 API 相關的 Web 服務。
這也應該很好地擴展 -http://en.wikipedia.org/wiki/Web_server和http://en.wikipedia.org/wiki/Web_service
華泰