2016-10-20 31 views
-2

經過幾個小時搜索谷歌的免費「網絡服務器」和「網絡框架」的頂級名單,我意識到我不知道我在看什麼。讓網站在網上運行是絕對必要的?

讓我們幾個例子軟件的我也碰到過:

  • IIS
  • 的Apache HTTP服務器
  • 的Apache Tomcat
  • Socket.io
  • Node.js的
  • 的Django

問題:

  1. 請在同一範圍內的所有這些工作/做同樣的事情?

  2. 如果不是,那麼絕對有必要讓我的「helloworld.html」可以從任何地方通過互聯網進行訪問?讓我們考慮我已經有一個專門的服務器和一個域

  3. 如果不是,這些工作是如何共同/讚美海誓山盟?

每次這個軟件已經在其網站不同的描述爲它做什麼,它是什麼,誰應該使用它,它確實令人困惑,當你試圖找到什麼是「新鮮」,有什麼時尚的年輕人使用

+1

socket.io並不真正屬於該列表。其餘的是用於java,python,php和javascript的框架或服務器。所以,問題是,你喜歡用哪種語言進行編碼? –

+0

@Pamblam Lua,Python,Javascript,按照相似的順序:) – Mojimi

+0

如果你進入python查找支持django的主機。然而,如果你只是想快速啓動並運行,apache幾乎是標準配置,因此最便宜的價格最容易找到。 –

回答

1

IIS阿帕奇是支持多種不同的技術用於插入代碼到web服務器的Web服務器。因此,如果您正在使用這些Web服務器之一,則還可以使用其他框架和語言運行時插入它們。

Apache Tomcat是一個基於Java的Web應用程序的服務器框架。在wikipedia頁面上:「Apache Tomcat,通常被稱爲Tomcat,是Apache Software Foundation(ASF)開發的一個開源Java Servlet容器.Tomcat實現了幾個Java EE規範,包括Java Servlet,JavaServer Pages(JSP),Java EL和WebSocket,並提供了Java代碼可運行的「純Java」HTTP Web服務器環境。「它可以獨立於Apache Web服務器使用。名稱中的「Apache」與它作爲Apache開源組織的一部分有關。所以,如果你想用Java編程你的服務器,這是你的選擇之一。

node.js是一個基於Javascript的框架,既是一個框架,也是它自己的Web服務器。所以,如果你想用Javascript編程你的web服務器,這是你的主要選擇。還有一些額外的框架可以用於node.js,例如Express,以使您的Web服務器編程更簡單。

Django是一個基於python的框架。如果你想用Python編程你的Web服務器,這是你的選擇之一。

socket.io真的不像其他任何人。插座。io是一個位於webSockets之上的圖層,通過webSockets爲您提供了一大堆附加功能。這將運行在您已經使用的任何服務器端語言和框架中,您將不得不選擇與您的服務器技術兼容的socket.io庫。您可以在這裏看到socket.io在webSocket上添加的功能列表:Moving from socket.io to raw websockets?。 webSockets本身用於服務器和客戶端之間的連續通信(比重複的Ajax調用更有效)以及從服務器到客戶端的推送通知。


因此,如果您希望從頭開始選擇技術,您可以通過多種不同的方式開始您的選擇過程。

  1. 如果你有一個首選語言(使用Java,Python,JavaScript中,紅寶石,C#等)您可能已經知道或想了解,那麼你可以看看,支持你的語言的框架和從那裏開始。該框架將指示您是否需要配套的Web服務器或者是否已經是框架的一部分。

  2. 如果你有一個現有的託管公司,你可能需要了解他們支持哪些技術,所以你不會選擇一些需要你更改託管公司的東西。並不是所有的託管公司都支持所有的技術,有些是一些技術方面更好的專家。

  3. 如果您有特定的第三方代碼或庫要使用,您可能想調查哪些語言/框架可以更容易地使用它。

什麼是清新時尚的年輕人是相當經常使用的是什麼變化。我會建議這是一個糟糕的標準。更有意義的是瞭解哪些技術和框架在加速增長和豐富的開發社區方面做得很好,哪些可能會失寵。我還沒有做過任何類型的總體調查,以提供任何有關上升和做得好的事情的列表,以及更糟糕的事情。

我個人偏向於node.js和龐大的NPM庫,它們可以從中獲取開源代碼和兼容代碼,並且可以爲前端和後端使用一種語言。它當然是其中一個迅速增長的選擇,並且擁有一個充滿活力的發展社區。但是,這不是唯一符合這些資格的選擇。

+0

關於tomcat的回答並不完全正確。 Apache Tomcat不是一個框架,它是一個servlet容器/引擎。 Tomcat可以提供Java servlet,但也可以在有或沒有Apache服務器的情況下用作網絡服務器。事實上,除了作爲Aapche項目的一部分之外,它與Apache服務器無關。一些tomcat實例在Aapche後面運行,但最近個人運行單獨的tomcat,或者在另一個代理之後運行。 – adamM

+0

@adamM - 我在編寫Tomcat描述。如果您可以改進,請隨時提出修改建議。 – jfriend00

+0

對我很好 – adamM