Servidor web
Un servidor web o servidor HTTP es un programa informático que procesa una aplicación del lado del servidor, realizando conexiones bidireccionales
o unidireccionales y síncronas o asíncronas con el cliente y generando o cediendo una respuesta en cualquier
lenguaje o Aplicación del lado
del cliente. El código recibido por el cliente es renderizado por un navegador web. Para la transmisión de todos estos
datos suele utilizarse algún protocolo. Generalmente se usa el protocolo HTTP para estas comunicaciones, perteneciente a la capa de aplicación del modelo OSI.
Hypertext
Transfer Protocol o HTTP (en español protocolo de transferencia
de hipertexto) es el protocolo de comunicación que permite las transferencias de
información en la World Wide Web. HTTP define la sintaxis y la semántica que utilizan los
elementos de software de la arquitectura web (clientes, servidores, proxies) para comunicarse. Es un protocolo sin estado, es decir, no guarda ninguna
información sobre conexiones anteriores. El desarrollo de aplicaciones web
necesita frecuentemente mantener estado. Para esto se usan las cookies, que es información que un servidor puede
almacenar en el sistema cliente. Esto le permite a las aplicaciones web
instituir la noción de sesión, y también permite rastrear usuarios ya que las cookies pueden
guardarse en el cliente por tiempo indeterminado.
En nuestro caso vamos a
generar un servidor web con un Arduino y ayudándonos de la shield de Ethernet.
El
Arduino Ethernet Shield permite conectar el Arduino a Internet. Está basado en
el chip Wiznet W5100 con un buffer interno de 16k que es el encargado de dar
una dirección IP al Arduino. Tiene un conector ethernet RJ-45 con una velocidad
de 10/100Mb. Se usa la librería <Ethernet.h> para escribir el
programa. También tiene un slot de tarjetas micro-SD para almacenar datos para
servir a la red. Para esto, se usa la librería <SD.h>. Para
comunicarse con la placa Arduino, utiliza el puerto SPI (pins 10, 11 ,12 y 13)
con la librería <SPI.h>, y el pin 4 si trabaja con una tarjeta
micro-SD. Estos pins no pueden ser usados como entradas o salidas digitales.
También tiene un botón de Reset que resetea tanto la placa Arduino como
el W5100. Gracias a la Ethernet Shield podemos usar el Arduino como servidor
web o como cliente web.
La petición HTTP que envía el cliente al servidor sería algo parecido a lo siguiente:
GET
/ HTTP/1.1
Host:
192.168.1.100 (dirección IP del servidor)
Accept:
text/html
User-Agent:
Mozilla/5.0 (Windows) (Navegador y sistema operativo)
[Línea
en blanco]
HTTP/1.1
200 OK
Date:
Sun, 25 Des 2014 17:42:10 GMT
Content-Type:
text/html
<html>
<!--
código HTML -->
</html>



No hay comentarios:
Publicar un comentario