Есть ли разница между веб-сервером и веб-сервисом? - PullRequest
30 голосов
/ 05 февраля 2010

Для меня эти термины звучат очень похоже. Есть ли разница на самом деле?

Ответы [ 16 ]

33 голосов
/ 05 февраля 2010

Веб-служба будет работать на веб-сервере.

A веб-сервер - это часть программного обеспечения, предназначенная для обслуживания веб-страниц / веб-сайтов / веб-служб.Примерами являются IIS, Apache и многие другие.Название также может относиться к оборудованию, на котором работает это программное обеспечение.

Поскольку веб-служба будет работать внутри веб-сервера - обычно обслуживая XML или выполняя некоторые действия в ответ на ввод.*

Из википедии:

Сегодня веб-службы часто представляют собой просто интерфейсы прикладного программирования (API) или веб-API, к которым можно обращаться по сети

17 голосов
/ 17 мая 2010

Веб-служба - это приложение, которое запускается веб-сервером и которое приводит к серии URL-адресов, которые будут возвращать свои данные в формате, предназначенном для анализа «обычной» компьютерной программой, а не браузером. , В результате веб-службы могут использовать любой формат данных, который они хотят (если обе стороны согласны), но обычно используется что-то вроде XML (в частности, SOAP или около того) или JSON.

16 голосов
/ 20 ноября 2011

Различия между «веб-сервером» и «веб-службой» заключаются в следующем:

Веб-сервер:

  • - это программное обеспечение, которое работает на физической или виртуальной машине и предназначено для обслуживания веб-страниц / веб-сайтов / веб-служб.
  • транспортный канал, используемый веб-сервером, обязательно должен быть протоколом HTTP.
  • принимать HTTP-запросы и отвечать, давая HTTP-ответы.

Веб-сервисы:

  • - это приложение, запускаемое веб-сервером, которое выполняет задачи и возвращает структурированные данные вызывающей программе, а не HTML для браузера.

  • по этой причине он может использовать любой формат данных, который они пожелают - например, XML, SOAP или JSON.

  • транспортный канал, используемый веб-службами, не обязательно должен быть протоколом HTTP.
  • В основном существует два типа веб-сервисов (на земле Microsoft): WCF и ASMX. Службы WCF «размещаются» в IIS, а веб-службы ASMX работают в IIS.
7 голосов
/ 17 мая 2010

Многие из этих ответов неверны.

Хотя веб-сервер обязательно является HTTP-сервером, веб-служба - это просто служба, доступная через сеть. Поскольку протокол не может быть HTTP, вы можете предоставлять веб-сервисы по почте или другим протоколам, и вам не нужен веб-сервер для этого.

Транспортный канал, используемый веб-службами, не обязательно должен быть протоколом HTTP.

Термин «веб-службы» также используется для обозначения стандарта SOAP xml, который является стандартным способом кодирования информации в вызовах веб-службы.

6 голосов
/ 05 февраля 2010

Определение Веб-сервер

Определение WebService

Под веб-сервером обычно понимается программное обеспечение, работающее на физической или виртуальной машине, которое обрабатывает веб-запросы (например, возвращает страницы в браузеры и выполняет вызовы веб-служб)

Веб-служба работает на веб-сервере, выполняя задачи и (обычно) возвращая структурированные данные вызывающей программе, а не HTML для браузера.

3 голосов
/ 05 февраля 2010

Чтобы добавить к данным ответам, было бы более целесообразно задать вопрос: "В чем разница между веб-службой и веб-страницей, создаваемой сервером".

Технически нет ни одного. Они оба выводят что-то в формате XML после запроса.

3 голосов
/ 05 февраля 2010

Я надеюсь, что вам будет полезно сказать, что:

  • «Веб-сервер» - это серверное приложение (например, Microsoft IIS или Apache), которое используется для компиляции и запуска веб-сайтов.или «веб-приложение».«Веб-сервер» также может содержать некоторые «веб-службы».

  • «Веб-служба» - это компонент, установленный поверх «веб-сервера».Эти компоненты могут вызываться веб-сайтом или «веб-приложением» с использованием HTTP-запросов.

Если вам нужна дополнительная информация об этом, обратитесь к MSDN, выполнив поиск в строке «веб-сервис»

Пока

3 голосов
/ 05 февраля 2010

Может быть, с точки зрения лежащей в основе технологии, нет большой разницы (запрос-ответ идет по каналу), но цель разнообразит смысл:

  • Веб-сервер обычно относится к доставке контента веб-страницы для пользователя.
  • Веб-сервис - это API, доступный через стандартные веб-протоколы.

Конечно, в наше время с появлением Web 3.5 границы между фразами становятся размытыми;)

3 голосов
/ 05 февраля 2010

В двух словах:

Веб-служба - это приложение, доступ к которому можно получить по сети, например через Интернет. Веб-сервер - это программа, которая доставляет контент по HTTP.

Итак, если вы хотите, чтобы ваш веб-сервис был доступен через Интернет, вы настроите его на веб-сервере.

Должны ли мы пойти слишком технически?

2 голосов
/ 04 февраля 2017

Точной дифференциации как таковой нет, но в контексте использования этих терминов они означают:

  • Термин Веб-серверы используется для части программного обеспечения, которая написана для связи с браузерами и из них и в конечном итоге предоставляет читаемый человеком контент через браузер (HTML / JS / Images / Video).
  • Веб-сервисы , с другой стороны, предназначены для связи между компьютерами (люди не потребляют конечный результат, а не компьютеры), например, родными мобильными / настольными приложениями, Single Sign Ons. Обычно они выводят документы в формате JSON или XML.

Упрощение этого с точки зрения разработчика. Если вы генерируете HTML как ответ, это веб-сервер. Если ваш ответ представляет собой файл JSON или XML, то это веб-служба.

...