Sé que con el servidor web las páginas html se transfieren del servidor al cliente, con los servicios web se envía un archivo xml, pero aún así… no las entiendo; Ni siquiera la diferencia entre ellos.
¿Alguien puede explicar estos términos de la manera más simple posible?
Plataforma: java, python, php
Gracias
Respuesta1
Un servidor web es algo que le ofrece contenidos utilizando el protocolo HTTP(S); recibe solicitudes en el formulario "damehttp://some.site.com/some/page?some=parameter" y devuelve una respuesta que puede ser una página HTML o cualquier otra cosa que pueda transferirse a través de HTTP(S); es decir, más o menoscualquier cosa(ver MIME para más detalles).
La mayoría de las veces, las páginas web no serán sólo archivos de texto estáticos, sino que el servidor las generará sobre la marcha utilizando algún código del lado del servidor desarrollado por programadores; cuando un sitio web (o parte de él) se vuelve lo suficientemente complejo, es común definirlo como una "aplicación web"; El término es muy vago y en realidad significa "un sitio web con contenido generado dinámicamente". A veces, el servidor web y el servidor de aplicaciones son en realidad el mismo programa (ver IIS o Apache con módulos); otras veces, el servidor de aplicaciones es un programa completamente diferente (tal vez incluso ejecutándose en una máquina diferente), que se comunica con el servidor web para alimentarlo con contenidos dinámicos mientras el servidor web gestiona las solicitudes HTTP y los contenidos estáticos; esta es la práctica estándar para los sitios web Java.
Un servicio web es una aplicación web que sigue algunos estándares definidos para el intercambio de solicitudes y respuestas utilizando XML; La idea aquí es que el servicio web no será utilizado por humanos, sino que será llamado por otros programas (posiblemente aplicaciones web en sí mismas), por lo que no necesita hacer gráficos sofisticados ni nada más, solo proporcionar la información solicitada de forma estandarizada.
Respuesta2
No existe una definición realmente precisa de estos términos, pero hablando a grandes rasgos:
- aServidor webes un programa que sirve contenidos (HTML, imágenes, etc) a los navegadores, es decir, para ser leídos por humanos
- aservicio webes un servicio al que se puede acceder a través de HTTP (el mismo protocolo que usa un servidor web), generalmente una API para ser utilizada por programas
Entonces, la diferencia es la "audiencia": un servidor web ofrece páginas para que las personas las lean en un navegador; un servicio web proporciona datos a algún programa (que a su vez puede ser un servidor web ;-)).
Para completar la confusión, la mayoría de los servidores web (el programa) se pueden utilizar para implementar un servicio web (ya que la base técnica es la misma). Así que no es realmente una distinción técnica, sino el propósito que tiene el servidor.
Respuesta3
Una forma sencilla es ejecutar un par de escenarios:
Un servidor web tiene los archivos que desea entregar al cliente. (el cliente puede ser un navegador, una aplicación u otro servidor web u otro servidor)
Un servicio web es el mecanismo a través del cual el servidor web comprende una solicitud de un cliente y, a su vez, reacciona a ella. La reacción podría ser entregar los resultados de una consulta, ejecutar un comando interno y otras cosas similares.
Generalmente, cuando escuchas hablar "servicios web" en la web 2.0, como una API, estás hablando de un lenguaje de programación que está escuchando en el servidor web esperando comandos o consultas.
Tomemos por ejemplo Twitter. Twitter en sí cuenta con un servidor web, pero cuando un cliente hace clic en "seguidores", el navegador envía un comando de servicios web al servidor web preguntando quiénes son los seguidores.
Un servidor web sirve archivos por definición, pero debe ejecutar algún tipo de servicio web para poder interactuar con los clientes. Además, en los círculos de administradores de sistemas, un servicio web puede ser cualquier servicio que pueda exponerse en relación con el servidor web. Por ejemplo, si tiene un sitio web con 4 aplicaciones orientadas al cliente (mysql, tomcat, apache, netbeans), podría referirse a ellas como "servicios web", aunque técnicamente son servidores web y servicios de bases de datos, pero esto no es lo que estaba buscando. porque no lo creo. Cíñete a los servicios web en lo que se refiere a las API.
Además, esto debería expandirse bien.http://en.wikipedia.org/wiki/Web_serveryhttp://en.wikipedia.org/wiki/Web_service
HT