90 likes | 455 Views
PROTOCOLO HTTP. ALGUNAS DEF.- *HTTP (HyperText Transfer Protocol) protocolo de transferencia de hipertexto es un conjunto de reglas que rigen la transferencia de datos en una comunicación Web.
E N D
PROTOCOLO HTTP ALGUNAS DEF.- *HTTP (HyperText Transfer Protocol) protocolo de transferencia de hipertexto es un conjunto de reglas que rigen la transferencia de datos en una comunicación Web. *Es un protocolo cliente-servidor que articula los intercambios de información entre los clientes Web y los servidores http. *HTTP define la sintaxis y la semántica que utilizan los elementos software de la arquitectura Web (cliente-servidor, proxies) para comunicarse.
Su finalidad es la transferencia de hipertexto o texto con componentes y enlaces a otros textos pero en la actualidad es utilizado tanto para la transferencia de hipertexto como para la transferencia de ficheros (carga y descarga), datos y trafico de red. Se usa tanto para que el navegador pida una pagina a un servidor como para que este envíe la pagina solicitada al navegador. Esta basado en el envío de comandos y respuestas en texto ASCII. Al que hace la petición se le llama “user agent” (agente usuario). A la información transmitida se le llama “recurso” puede ser archivo, resultado de ejecución, etc.
Una transacción HTTP consiste básicamente en: • Conexión.- establecimiento de una conexión cliente-servidor. Por el puerto TCP/IP 80 es el más conocido pero se pueden usar otros no reservados. • Solicitud.- envío por parte del cliente de un mensaje de solicitud al servidor. • Respuesta.- envío por parte del servidor de una respuesta al cliente. • Cierre.- fin de la conexión por parte del cliente y el servidor. HTTP es un protocolo sin estado es decir que no guarda ninguna información sobre conexiones anteriores.
El desarrollo de aplicaciones Web necesita frecuentemente mantener estado. Para esto se usan los “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 los “cookies” pueden guardarse en el cliente por tiempo indeterminado.
FUNCIONAMIENTO DEL PROTOCOLO HTTP A continuación se muestra una petición HTTP típica, de una pagina Web: GET / HTTP/1.1 • Host: www.24x7linux.com • User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2b) Gecko/20021016 • Accept:text/xml,application/xml,application/xhtml+xml,text/html;q=0.9, text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2, text/css,*/*;q=0.1 • Accept-Language: es-es, en-us;q=0.66, en;q=0.33 • Accept-Encoding: gzip, deflate, compress;q=0.9 • Accept-Charset: ISO-8859-15, utf-8;q=0.66, *;q=0.66 • Keep-Alive: 300 • Connection: keep-alive
RESPUESTA DEL SERVIDOR HTTP/1.1 200 OK • Date: Sun, 10 Nov 2002 22:50:55 GMT • Server: Apache/1.3.26 (Unix) mod_bwlimited/1.0 PHP/4.2.2 mod_log_bytes/0.3 FrontPage/5.0.2.2510 mod_ssl/2.8.9 OpenSSL/0.9.6b • Content-Type: text/html • Age: 130 • Connection: close • <-- archivo index.html que contiene la página principal del sitio -->
Si en lugar de pedir una pagina en formato HTML se solicita un recurso binario, como por ejemplo un archivo gráfico, la respuesta será de la forma siguiente: HTTP/1.1 200 OK • Date:Sun, 10 Nov 2002 23:15:31 GMT • Server: Apache/1.3.26 (Unix) mod_bwlimited/1.0 PHP/4.2.2 mod_log_bytes/0.3 FrontPage/5.0.2.2510 mod_ssl/2.8.9 OpenSSL/0.9.6b • Last-Modified:Fri, 01 Nov 2002 12:23:38 GMT • ETag:"23c32f-171cb-3dc2724a" • Accept-Ranges:bytes • Content-Length:94667 • Content-Type:image/png • Age:131
EL SERVIDOR PUEDE TENER ALGUNA DE LAS SIGUIENTES RESPUESTAS: 100 Continua 101 Cambio de protocolo 200 OK 201 Creado 202 Aceptado 203 Información no oficial 204 Sin Contenido 205 Contenido para reset 206 Contenido parcial 300 Múltiples posibilidades 301 Mudado permanentemente 302 Encontrado 303 Vea otros 304 No modificado 305 Utilice un proxy 307 Redirección temporal 400 Solicitud incorrecta 401 No autorizado 402 Pago requerido 403 Prohibido
404 No encontrado 405 Método no permitido 406 No aceptable 407 Proxy requerido 408 Tiempo de espera agotado 409 Conflicto 410 No mapas disponible 411 Requiere longitud 412 Falló precondición 413 Entidad de solicitud demasiado larga 414 URI de solicitud demasiado largo 415 Tipo de medio no soportado 416 Rango solicitado no disponible 417 Falló expectativa 500 Error interno 501 No implementado 502 Pasarela incorrecta 503 Servicio no disponible 504 Tiempo de espera de la pasarela agotado 505 Versión de HTTP no soportada