You are on page 1of 18

Unidad 2.

Del 0 al 1023.
Manejo del protocolo HTTP.
Reservados para el sistema operativo
y los protocolos más utilizados como,
por ejemplo, el 21 para FTP,
el 25 para el SMTP o el 80 para HTTP.

Del 1024 al 49151.


Estos son los puertos que se utilizan
para la mayoría de aplicaciones
y por norma general utilizaremos
este rango a la hora de configurar nuestras conexiones.

Del 49152 al 65535.


Son los reservados a las aplicaciones
que necesitan conectarse a un servidor
y, por lo tanto, los que utilizaremos
en algunas de nuestras aplicaciones.
2.1. Funcionamiento y estructura.
HTTP hace referencia al Protocolo de
Transferencia de Hipertexto que es un
protocolo Cliente/servidor para gestionar
los intercambios de información entre
Servidores Web HTTP y Clientes Web.
•Se rige por el sistema de petición y
respuesta (Cliente/Servidor).
•El navegador solicita una información
mediante una URL (Uniform Resource
Locator).
URL(Uniform Resource Locator)
Un puerto es el valor que se usa,
en el modelo de la capa de transporte,
para distinguir entre las múltiples aplicaciones
que se pueden conectar al mismo host, o puesto de trabajo.

Es una identificación en forma de cadena de


caracteres, esta cadena de caracteres le asigna una
dirección única a un objeto en internet.
El URL incluye:
➢La ubicación en los directorios de almacenamiento.
➢Nombre del recurso o del archivo.
➢Protocolo. Protocolo : como se comunican

El formato estándar es el siguiente:


RUTA

El servicio://Maquina.dominio:Puerto/Camino/Fichero
Puerto : es una interfaz de comunicacion a través de la cual se pueden enviar y recibir los diferentes tipos de
datos.
Ejemplos de esquemas:
Esquema Descripción

http 80 Objetos de http.

https 443 Objetos de https sobre protocolo criptográficos SSL.

ftp 21 Para transferencia de archivos entre sistemas que trabajan


con TCP.
mailto Para direcciones de correo electrónico.

news Para grupos de noticias.

telnet Protocolo de telnet para manejo remoto de equipos.

Data Esquema para insertar trozos de contenido en los objetos.

Muchos navegadores han omitido la necesidad de introducir


el esquema http debido a que es el protocolo más común,
incluso también omiten las www aunque pueden aparecer
conflictos.
Evolución del HTTP.
2.2 Descripción de peticiones o
Request Methods.
Secuencia de pasos de una petición de un cliente a un servidor:

1. Se introduce la URL en el Navegador Web.


2. El cliente Web interpreta la URL (Protocolo de Acceso, Dirección
DNS o IP, puerto, objeto.
3. Se abre la conexión TCP/IP con el servidor y se llama al puerto
TCP. TCP para crear “conexiones” entre sí a través de las cuales puede enviarse un flujo de datos
4. Se envía la petición. Para ello se comunica el comando, la
dirección del objeto, la versión del HTTP y un conjunto de
información.
5. El servidor responde al cliente. Envía un código de estado, el tipo
de dato en MIME del objeto solicitado, seguido por la propia
información.
6. Se finaliza la conexión TCP. (Con el método HTTP Keep Alive no
finaliza la conexión).
TCP para crear “conexiones” entre sí a través de las cuales puede enviarse un flujo de datos
Ejemplo de diálogo HTTP
Para obtener un recurso con el URL
http://www.example.com/index.html
1. Se abre una conexión en el puerto 80 del host www.example.com
.El puerto 80 es el puerto predefinido para HTTP. Si se quisiera
utilizar el puerto XXXX habría que codificarlo en la URL de la forma
http://www.example.com:XXXX/index.html
2. Se envía un mensaje en el estilo siguiente:

GET /index.html HTTP/1.1


Host: www.example.com
Referer: www.google.com Identifica quien me ha ofrecido la consulta del recurso (buscador)
puede acceder directamente al recurso
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0)Connection:
keep-alive no cerrar la comunicación
[Línea en blanco]
RESPONSE HEADER

La respuesta del servidor está formada por encabezados


seguidos del recurso solicitado, en el caso de una página
web:

HTTP/1.1 200 OK
Date: Fri, 31 Dec 2003 23:59:59 GMT
Content-Type: text/html
Content-Length: 1221

<html lang="es">
<head>
<meta charset="utf-8">
<title>Título del sitio</title>
</head>
<body>
<h1>Página principal de tuHost</h1> (
Contenido) . . .
2.3 Códigos de estado.

El código de estado es un código que transmite


el servidor e indica el estado de la operación.
Para cada transacción con servidor HTTP,
devuelve un código de estado que informa
sobre el resultado de la consulta.
Estos códigos en ocasiones se muestran en la
propia interfaz de usuario.
Están clasificados por categorías.
Códigos de estado. Categorías
➢1XX: Mensaje de respuesta informativo. Indican una respuesta
provisional y requiere acción del usuario para continuar.
➢2XX: Mensaje de petición correcta. Indican que la petición fue
recibida, procesada y aceptada.
➢3XX: Mensaje de redirección. El cliente tiene que tomar una
acción para completar la petición (puede ser llevada a cabo sin
necesidad de interacción con el usuario).
➢4XX: Mensaje de errores de cliente. Se ha producido un error
cuyo responsable es el navegador.
➢5XX: Mensaje de errores de Servidor. Se ha producido un error
cuyo responsable es el Servidor.
2.4 Cabeceras(Headers).
Las Cabeceras HTTP son los parámetros que se envían
en una petición o respuesta HTTP al cliente o al
servidor para proporcionar información esencial sobre
la transacción en curso. Estas cabeceras proporcionan
información mediante la sintaxis 'Cabecera: Valor' y
son enviadas automáticamente por el navegador o el
servidor Web.
Ejemplos de cabeceras.
Cabecera Descripción Ejemplo

Accept Content-Types (tipos de Accept: text/plain


contenido) que se
aceptan.
Accept-Charset Conjunto de caracteres Accept-Charset: utf-8
que se aceptan.

Accept-Encoding Lista de codificaciones que Accept-Encoding: gzip,


se aceptan. deflate

Accept-Language Idiomas que se aceptan. Accept-Language: es-ES

Content-Type El tipo de contenido de la Content-Type:


petición en POST o PUT application/x-www-form-
urlencoded
Ejemplos de cabeceras.
Cabecera Descripción Ejemplo

Host El nombre de dominio o Host:


dirección IP (puede incluir en.wikipedia.org:8080
número de puerto). El uso Para redirigir los host virtuales
que tienen el mismo dominio
de la cabecera es para un recursos distintos
obligatorio a partir de
HTTP 1.1
Max-Forwards Limita el número de veces Max-Forwards: 10
que un mensaje viaja a
través de los proxies.
User-Agent Contiene la información User-Agent: Mozilla/5.0
de la petición, como el (X11; Linux x86_64;
navegador, el sistema rv:12.0)
operativo, etc.
servidor web - misma dirección tiene varias paginas y por medio del host redirige la dirección mediante el host virtual
-Servidor tiene una dirección con varias paginas que se redirige por medio del host de la cabecera
2.5 Codificación del contenido. Páginas
de códigos.
¿Qué es la codificación de caracteres?
Una codificación de caracteres (o un conjunto de caracteres)
puede ser considerado como una tabla de traducción, donde
cada grupo de bits está relacionado a un único carácter. Por
ejemplo, una codificación de caracteres de 8 bits podría
representar a la secuencia "10010101" como la letra "a", a la
secuencia "01101100" como el símbolo "&", y así
sucesivamente.

Ejemplo de codificación UTF-8:

UTF-8 utiliza de uno hasta 4 bytes por cada punto de código y,


siendo relativamente compacto (para la escritura basada en
caracteres latinos) y compatible con ASCII. Proporciona la
codificación estándar para el intercambio de texto en Unicode.
¿Dónde aparece la información sobre
la codificación?
La información Content-Type del encabezado HTTP tiene la
capacidad de incluir información sobre la codificación de
caracteres del documento. De este modo el navegador web sabe
como interpretar ese documento (página web).

Hay diferentes formas de hacer que un servidor envíe la


información con una codificación de contenido correcta:

1. Configuramos el servidor web ( Apache, IIS, etc… ) con el


Charset (codificación de caracteres) predeterminado para todo
el servidor.
2. Cuando se crea un página web hay que indicar su codificación.
Cuando se programa una página web hay una
sección donde se incluyen las cabeceras.

Código html:
<!Doctype html>

<HTML>
<HEAD> codificación de cabecera para el servidor
<meta charset="UTF-8">
<TITLE>Un Titulo para el Browser de turno
</TITLE>
</HEAD>
<BODY>
2.6 Realización de peticiones HTTP en
Internet mediante, LivehttpHeaders y
análisis del resultado.
Para ver las cabeceras y el trafico HTTP en directo podemos utilizar varias
herramientas, por ejemplo para Mozilla Firefox podemos utilizar el siguiente:

https://addons.mozilla.org/es/firefox/addon/http-header-live/

You might also like