Я знаю, что с помощью веб-сервера html-страницы передаются с сервера на клиент, с помощью веб-сервисов отправляется xml-файл, но все равно... я их не понимаю; даже не вижу разницы между ними.
Может ли кто-нибудь объяснить этот термин максимально просто?
Платформа: Java, Python, PHP
Спасибо
решение1
Веб-сервер — это то, что предоставляет вам контент с использованием протокола HTTP(S); он получает запросы в форме «дайте мнеhttp://some.site.com/some/page?some=параметр" и отправляет обратно ответ, который может быть HTML-страницей или чем-то еще, что может быть передано по HTTP(S); то есть, по сути,что-либо(подробности см. в MIME).
Чаще всего веб-страницы будут не только статическими текстовыми файлами, но и будут генерироваться сервером «на лету» с использованием некоторого серверного кода, разработанного программистами; когда веб-сайт (или его часть) становится достаточно сложным, его обычно определяют как «веб-приложение»; этот термин очень расплывчат и на самом деле означает «веб-сайт с динамически генерируемым содержимым». Иногда веб-сервер и сервер приложений на самом деле являются одной и той же программой (см. IIS или Apache с модулями); в других случаях сервер приложений представляет собой полноценную другую программу (возможно, даже работающую на другой машине), которая взаимодействует с веб-сервером для передачи ему динамического содержимого, в то время как веб-сервер управляет HTTP-запросами и статическим содержимым; это стандартная практика для веб-сайтов Java.
Веб-сервис — это веб-приложение, которое следует некоторым стандартам, определенным для обмена запросами и ответами с использованием XML. Идея здесь заключается в том, что веб-сервис не будет использоваться людьми, но будет вызываться другими программами (возможно, являющимися самими веб-приложениями), поэтому ему не нужно создавать сложную графику или что-то еще, а нужно просто предоставлять запрошенную информацию стандартизированным образом.
решение2
Точного определения этих терминов не существует, но если говорить очень приблизительно, то:
- авеб серверэто программа, которая предоставляет контент (HTML, изображения и т. д.) браузерам, т. е. для чтения людьми
- авеб-сервисэто служба, доступ к которой можно получить через HTTP (тот же протокол, который использует веб-сервер), обычно API, используемый программами
Итак, разница заключается в «аудитории»: веб-сервер предоставляет страницы для чтения в браузере; веб-сервис предоставляет данные некоторой программе (которая сама может быть веб-сервером ;-)).
Чтобы сделать путаницу полной, большинство веб-серверов (программ) можно использовать для реализации веб-сервиса (поскольку техническая основа та же самая). Так что это не совсем техническое различие, а одно из назначений сервера.
решение3
Простой способ — проработать несколько сценариев:
Веб-сервер содержит файлы, которые вы хотите передать клиенту. (клиентом может быть браузер, приложение или другой веб-сервер, или другой сервер)
Веб-сервис — это механизм, посредством которого веб-сервер понимает запрос клиента и в свою очередь реагирует на него. Реакцией может быть предоставление результатов запроса, выполнение внутренней команды и другие подобные действия.
Обычно, когда вы слышите «веб-сервисы» в терминологии Web 2.0, например API, вы говорите о языке программирования, который прослушивает веб-сервер в ожидании команд или запросов.
Возьмем, к примеру, Twitter. Сам Twitter обслуживается веб-сервером, но когда клиент нажимает на «подписчики», браузер отправляет веб-сервисную команду веб-серверу с вопросом, кто является подписчиками.
Веб-сервер обслуживает файлы по определению, но он должен запустить какой-то тип веб-сервиса, чтобы взаимодействовать с клиентами. Кроме того, в кругах системных администраторов веб-сервисом может быть любой сервис, который может быть представлен, поскольку он связан с веб-сервером. Например, если у вас есть веб-сайт с 4 клиентскими приложениями (mysql, tomcat, apache, netbeans), вы можете свободно называть их «веб-сервисами», даже если технически они являются веб-серверами и службами баз данных, но я не думаю, что это то, что вы искали. Придерживайтесь веб-сервисов, поскольку это связано с API.
Также это должно хорошо расширяться -http://en.wikipedia.org/wiki/Веб_сервериhttp://en.wikipedia.org/wiki/Веб_сервис
НТН