web-dev-qa-db-ja.com

誰かがアプリサーバー/ウェブサーバー/ウェブサービスの違いを説明できますか?

Webサーバーでは、htmlページがサーバーからクライアントに転送され、Webサービスでは、xmlファイルが送信されることを知っていますが、それでも...わかりません。それらの間の違いさえありません。

誰かがこの用語をできるだけ簡単に説明できますか?

プラットフォーム:Java、python、php

ありがとうございました

4
Horatiu Jeflea

Webサーバーは、HTTP(S)プロトコルを使用してコンテンツを提供するものです。 「giveme http://some.site.com/some/page?some=parameter "」の形式でリクエストを受信し、HTMLページまたはその他の可能な回答を返信します。 HTTP(S)を介して転送されます。つまり、ほとんどanythingです(詳細については、MIMEを参照してください)。

多くの場合、Webページは静的なテキストファイルであるだけでなく、プログラマーによって開発されたサーバー側のコードを使用してサーバーによってオンザフライで生成されます。 Webサイト(またはその一部)が十分に複雑になると、それを「Webアプリケーション」として定義するのが一般的です。この用語は非常にあいまいで、実際には「動的に生成されたコンテンツを含むWebサイト」を意味します。 Webサーバーとアプリケーションサーバーが実際には同じプログラムである場合があります(IIS、またはモジュール付きのApacheを参照)。また、アプリケーションサーバーは本格的な別のプログラム(別のマシンで実行されている場合もあります)であり、Webサーバーと通信して動的コンテンツをフィードし、WebサーバーがHTTP要求と静的コンテンツを管理します。これは、Java Webサイトの標準的な方法です。

Webサービスは、XMLを使用して要求と応答を交換するために定義されたいくつかの標準に従うWebアプリケーションです。ここでの考え方は、Webサービスは人間によって使用されることはなく、他のプログラム(おそらく、Webアプリケーション自体)によって呼び出されるため、派手なグラフィックスなどを行う必要はなく、提供するだけであるということです。標準化された方法で要求された情報。

2
Massimo

これらの用語の正確な定義はありませんが、大まかに言えば次のようになります。

  • ウェブサーバーは、コンテンツ(HTML、画像など)をブラウザに提供するプログラムです。つまり、人間が読むことができます。
  • a WebサービスはHTTP(Webサーバーが使用するのと同じプロトコル)を介してアクセスできるサービスであり、通常はプログラムが使用するAPIです。

したがって、違いは「オーディエンス」です。Webサーバーは、人々がブラウザーで読むためのページを提供します。 Webサービスは、あるプログラム(それ自体がWebサーバーである可能性があります;-))にデータを提供します。

混乱を完全にするために、ほとんどのWebサーバー(プログラム)を使用してWebサービスを実装できます(技術的な基礎は同じです)。したがって、これは実際には技術的な違いではありませんが、サーバーの目的の1つです。

4
sleske

簡単な方法は、いくつかのシナリオを実行することです。

Webサーバーには、クライアントに提供するファイルがあります。 (クライアントは、ブラウザー、アプリケーション、別のWebサーバー、または別のサーバーにすることができます)

Webサービスは、Webサーバーがクライアントからの要求を理解し、それに応答するためのメカニズムです。反応は、クエリの結果を提供し、内部コマンドや他の同様の項目を実行する可能性があります。

一般に、APIのように、Web 2.0で「Webサービス」が話すのを聞くときは、コマンドまたはクエリを待機しているWebサーバーでリッスンしているプログラミング言語について話していることになります。

Twitterを例にとってみましょう。 Twitter自体はWebサーバーによって提供されますが、クライアントが「フォロワー」をクリックすると、ブラウザーはWebサービスコマンドをWebサーバーに送信して、フォロワーが誰であるかを尋ねます。

Webサーバーは定義上ファイルを提供しますが、クライアントと対話するには、何らかのタイプのWebサービスを実行する必要があります。また、sysadminサークルでは、Webサービスは、Webサーバーに関連するときに公開できる任意のサービスにすることができます。たとえば、4つの顧客向けアプリケーション(mysql、Tomcat、Apache、netbeans)を備えたWebサイトがある場合、それらは技術的にはWebサーバーおよびデータベースサービスですが、大まかに「Webサービス」と呼ぶことができますが、これはあなたが探していたものではありません私は思いません。 APIに関連するものについては、Webサービスに固執してください。

また、これはうまく拡張するはずです http://en.wikipedia.org/wiki/Web_server および http://en.wikipedia.org/wiki/Web_service

HTH

0
Oscar Gonzalez