Eu sei que com servidor web as páginas html são transferidas de servidor para cliente, com web services é enviado um arquivo xml, mas mesmo assim ... não entendo; nem mesmo a diferença entre eles.
Alguém pode explicar esses termos da forma mais simples possível?
Plataforma: java,python,php
Obrigado
Responder1
Um servidor web é algo que fornece conteúdo usando o protocolo HTTP(S); recebe solicitações no formato "me dêhttp://some.site.com/some/page?some=parameter" e envia de volta uma resposta que pode ser uma página HTML ou qualquer outra coisa que possa ser transferida por HTTP(S); ou seja, praticamentequalquer coisa(veja MIME para detalhes).
Na maioria das vezes, as páginas da web não serão apenas arquivos de texto estáticos, mas serão geradas dinamicamente pelo servidor usando algum código do lado do servidor desenvolvido por programadores; quando um site (ou parte dele) se torna complexo o suficiente, é comum defini-lo como uma “aplicação web”; o termo é muito vago e na verdade significa "um site com conteúdo gerado de forma dinâmica". Às vezes, o servidor web e o servidor de aplicativos são, na verdade, o mesmo programa (consulte IIS ou Apache com módulos); outras vezes, o servidor de aplicativos é um programa totalmente diferente (talvez até executado em uma máquina diferente), que se comunica com o servidor web para alimentá-lo com conteúdos dinâmicos enquanto o servidor web gerencia solicitações HTTP e conteúdos estáticos; esta é a prática padrão para sites Java.
Um serviço web é uma aplicação web que segue alguns padrões definidos para troca de solicitações e respostas utilizando XML; a ideia aqui é que o serviço web não será usado por humanos, mas será chamado por outros programas (possivelmente sendo eles próprios aplicativos web) e portanto não precisa fazer gráficos sofisticados ou qualquer outra coisa, mas apenas fornecer as informações solicitadas de forma padronizada.
Responder2
Não existe uma definição realmente precisa desses termos, mas falando de maneira muito aproximada:
- aservidor webé um programa que fornece conteúdo (HTML, imagens, etc.) para navegadores, ou seja, para ser lido por humanos
- aserviço de interneté um serviço que pode ser acessado via HTTP (o mesmo protocolo usado por um servidor web), normalmente uma API a ser usada por programas
Então a diferença é o “público”: um servidor web serve páginas para as pessoas lerem em um navegador; um serviço web fornece dados para algum programa (que pode ser um servidor web ;-)).
Para completar a confusão, a maioria dos servidores web (o programa) pode ser usada para implementar um serviço web (já que a base técnica é a mesma). Portanto, não é realmente uma distinção técnica, mas uma das finalidades do servidor.
Responder3
Uma maneira simples é percorrer alguns cenários:
Um servidor web contém os arquivos que você deseja fornecer ao cliente. (o cliente pode ser um navegador, um aplicativo ou outro servidor web ou outro servidor)
Um serviço web é o mecanismo através do qual o servidor web entende uma solicitação de um cliente e, por sua vez, reage a ela. A reação poderia ser apresentar os resultados de uma consulta, executar um comando interno e outros itens semelhantes.
Geralmente, quando você ouve "webservices" na web 2.0 falar, como uma API, você está falando sobre uma linguagem de programação que está escutando no servidor web aguardando comandos ou consultas.
Tomemos por exemplo o Twitter. O próprio Twitter é servido por um servidor web, mas quando um cliente clica em “seguidores”, o navegador envia um comando de serviços web ao servidor perguntando quem são os seguidores.
Um servidor web serve arquivos por definição, mas deve executar algum tipo de serviço web para poder interagir com os clientes. Além disso, nos círculos de administração de sistemas, um webservice pode ser qualquer serviço que possa ser exposto no que se refere ao servidor web. Por exemplo, se você tiver um site com 4 aplicativos voltados para o cliente (mysql, tomcat, apache, netbeans), poderá se referir a eles como "serviços da web", embora tecnicamente sejam servidores da web e serviços de banco de dados, mas não é isso que você estava procurando pois eu não acho. Atenha-se aos serviços da web no que se refere às APIs.
Além disso, isso deve se expandir bem -http://en.wikipedia.org/wiki/Web_serverehttp://en.wikipedia.org/wiki/Web_service
HTH