Tema 02: HTTP y URI Flashcards
¿Qué es el WWW – World Wide Web?
Es una red de recursos de información basada en los siguientes mecanismos:
• Un esquema uniforme de nombres para localizar recursos en la web (p.e. URIs).
• Protocolos para acceder a estos recursos (p.e. HTTP).
• Hipertexto para navegar fácilmente entre recursos (p.e. HTML).
Dirección de los recursos disponibles en la web. Normalmente se componen de tres partes:
- El esquema de nombres del mecanismo usado para acceder al recurso.
- El nombre de la máquina que aloja al recurso.
- El nombre del recurso en forma de ruta de acceso (path).
¿Qué esquemas URI existen?
► FTP: File Transfer Protocol. ► HTTP: Hypertext Transfer Protocol. ► mailto: Electronic mail adress. ► news: USENET news. ► NNTP: USENET news mediante NNTP. ► File: Nombre de archivo.
¿Qué es un URIs relativo?
Un URI relativo no contiene información sobre el esquema de nombres. Su ruta de acceso se refiere generalmente a un recurso que está en la misma máquina que el documento actual.
• Pueden contener indicadores relativos de ruta.
• Pueden contener identificadores de fragmento.
¿Qué es el protocolo HTTP?
Un sencillo protocolo cliente – servidor que articula los intercambios de información entre los cliente web y los servidores HTTP.
– Soportado sobre los servicios de conexión TCP/IP.
– Un proceso servidor escucha por un puerto (80 por defecto) y espera solicitudes de los clientes.
¿Qués es un Socket?
– Canal de comunicación síncrono entre las máquinas cliente y servidor.
– Se identifica mediante una dirección IP y un número de puerto.
Una característica del protocolo HTTP
La comunicación se realiza de caracteres de 8 bits.
¿Cuáles son los verbos básicos del protocolo HTTP?
- GET para recoger un objeto (por su URL).
- POST para enviar información al servidor.
- HEAD para solicitar las características de un objeto (p.e. la fecha de modificación de un documento HTML).
- PUT: permite actualizar información sobre un objeto del servidor.
- DELETE: permite eliminar el documento especificado del servidor.
- OPTIONS: retorna las opciones del servidor.
¿Cuáles son las etapas de una transacción HTTP?
- Un usuario accede a una URL
- El cliente web descodifica la URL, separando sus diferentes partes
- Se abre una conexión TCP/IP con el servidor, llamando al puerto TCP correspondiente
- Se realiza la petición, constituida por:
• Un verbo (GET, PUT o HEAD).
• La dirección del objeto requerido (parte de la URL que sigue a la dirección del servidor).
• La versión del protocolo HTTP empleada (p.e., HTTP/1.0).
• Un conjunto variable de información (datos sobre las capacidades del navegador, datos opcionales para el servidor, etc.) - El servidor devuelve la respuesta al cliente, constituida por:
• Un código de estado.
• El tipo de dato MIME de la información de retorno.
• La información requerida. - Se cierra la conexión HTTP
Generalmente hablando, ¿Cuáles son los códigos de estado?
- 1xx: mensajes informativos.
- 2xx: mensajes asociados con operaciones realizadas correctamente.
- 3xx: mensajes de redirección, que informan de operaciones complementarias que se deben realizar para finalizar la operación.
- 4xx: errores del cliente; el requerimiento contiene algún error o no puede ser realizado.
- 5xx: errores del servidor, que no se puede llevar a cabo una solicitud.
Cabeceras comunes para peticiones y respuestas:
• Content-Type:
– Descripción MIME de la información contenida en este mensaje.
• Content-Lenght:
– Longitud en bytes de los datos enviados, expresados en base decimal.
• Content-Enconding:
– Formato de codificación de los datos enviados en este mensaje. Permite, por ejemplo, enviar datos comprimidos (x-gzip o x-compress) o encriptados.
• Date:
– Fecha local de la operación, que debe incluir la zona horaria en que reside el sistema que genera la operación.
• Pragma:
– Permite incluir información variada relacionada con el protocolo HTTP en el enriquecimiento o respuesta que se está realizando.
Cabeceras para peticiones del cliente:
- Accept: campo opcional que contiene una lista de tipos MIME aceptados por el cliente.
- Authorization: clave de acceso que envía un cliente para acceder a un recurso de uso protegido o limitado.
- From: campo opcional que contiene la dirección de correo electrónico del usuario del cliente web que realiza el acceso.
- If-Modified-Since: permite realizar operación GET condicionales, en función de si la fecha de modificación del objeto requerido es anterior o posterior a la fecha proporcionada.
- Referer: contiene la URL del documento desde donde se ha activado este enlace.
- User-agent: cadena que identifica el tipo y versión del cliente que realiza la petición.
Cabeceras para respuestas del servidor:
- Allow: informa de los comandos HTTP opcionales que se pueden aplicar sobre el objeto al que se refiere esta respuesta.
- Expires: fecha de expiración del objeto enviado.
- Last-modified: fecha local de modificación del objeto devuelto.
- Location: informa sobre la dirección exacta del recurso al que se ha accedido.
- Server: cadena que identifica el tipo y versión del servidor HTTP.
- WWW-Autenticate: cuando se accede a un recurso protegido o de acceso restringido, el servidor devuelve un código de estado 401 y utiliza este campo.
¿Qué son Cookies?
Las cookies son la parte del nuevo estándar HTTP/1.1
– Son pequeños ficheros de texto que se intercambian los clientes y servidores
HTTP para mantener el estado entre transacciones.
– Presentan problemas si los clientes las desactivan al objeto de incrementar la seguridad.
¿Qué son variables de sesión?
Las variables de sesión son variables del servidor que tienen la misma finalidad que las cookies, pero carecen de los inconvenientes de éstos.
– En este caso también se utilizan pequeños ficheros de texto pero, a diferencia del caso anterior, no se intercambian y residen en el servidor.