Apuntes HTTP


Buenos Muchach@s estos son algunos apuntes que tengo sobre el protcolo http (estos apuntes lo hice cuando me di la tarea de empezar a profundizar sobre los procolos de red así que empece con el HTTP y siempre me a gustado documentar lo que aprendo así que lo comparto con ustedes) no es mucha cosa pero a alguien le servirá :)


Http ===> protocolo de transferencia de hipertexto
Puerto ===> 80
Última version ===> HTTP 1.2
Protocolo ===> Aplicación | http


Versiones:

0.9 ===> Obsoleta, soporta un solo comando GET, no soporta cabeceras, este version no soporta post el cliente no puede enviarle mucha información al servidor.

HTTP/1.1 ===> Primera revisión que especifica su versión en las comunicaciones, se usa usualmente en servidores proxy

HTTP/1.1 ===> Versión actual, las conexiones persistentes están activadas por defecto, funciona bien con los proxies, También permite al cliente enviar múltiples peticiones a la vez (pipelining) lo que hace es posible eliminar el tiempo de delay de cada petición.

HTTP/1.2 ===> Más avanzada


Dialogo HTTP

Envía cliente:
GET /index.html HTTP/1.1
Host: www.abc.com
User-Agent: nombre-cliente

La respuesta sera
HTTP/1.1 200 OK
DATE: Fri, 31 Dec 2010 24:12:21 GMT
Content-Type: text/html
Content-Length: 1221



(contenido)
.
.
.


Métodos de petición:

Verbos ===> 8 , indican la acción que se va a realizar en el recurso indicado.

[*] HEAD ===> Pide la respuesta idéntica a la que correspondería la peticion GET, pero sin el cuerpo de la respuesta, esto es útil para la recuperación de metainformacon escrita en los encabezados de respuesta, sin tener que transportar todo el contenido.

[*] GET ===> Pide una representación del recurso especificado. Por seguridad no debería ser usado por aplicaciones que causen efecto ya que transmite información a través de la URI agregando parámetros a la URL.

[*] POST ===> somete los datos a que sean procesados para el recurso identificado. los datos se incluirán en el cuerpo de la petición. Esto puede resultar en al creación de un nuevo recurso o de las actualizaciones de los recursos existentes o ambas cosas.

[*] PUT ===> Sube, carga o realiza un upload de una de un recurso especificado (archivo), es el camino mas eficiente para subir archivos aun servidor, esto es por que el post utiliza un mensaje multioarte y,el mensaje decodificado por el servidor. en contraste, el método PUT te permite escribir un archivo en una conexión socket establecida con el servidor. la desventaja de put es que los servidores hosting compartido no lo tiene habilitado.

PUT /path/filename.html HTTP/1.1

[*] DELETE ===> borra el recurso especificado

[*] TRACE ===> este método solicita al servidor que envía de vuelta un mensaje de respuesta, en la sección de entidad toda la data que reciba del mensaje de solicitud, Se utiliza con fines de comprobación y diagnostico.

[*] OPTIONS


Códigos de respuesta:

1xx Mensajes
#100 - Conexión rechazada
111 Conexión Rechazada

2xx Operación Exitosa
200 OK
201-203 Información no oficial
204 Sin contenido
205 Contenido para recargar
206 Contenido parcial

3xx Redirección Hacia otro URL
300 Múltiples posibilidades
301 Mudado permanentemente
302 Encontrando
303 vea otros
304 No modificado
305 Utilice un proxy
307 Redirección Temporal

4xx Error por parte del cliente
400 Solicitud incorrecta
401 No autorizado
402 Pago requerido
404 No encontrado
405 Método no permitido
406 No aceptable
407 Autentificación requerida
408 Tiempo de espera agotado
409 Conflicto
410 Ya no disponible
411 Requiere longitud
412 Fallo de precondición
413 Entidad de solicitud demasiado larga
414 URL de solicitud demasiado larga
415 Tipo de medio no soportado
416 Rango de solicitado no disponible
417 Fallo expectiva

5xx Error por parte del servidor
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

Información extraída de:
http://charsecurity.blogspot.com/

Entradas populares de este blog

Trinity Rescue Kit: Tutorial para eliminar la contraseña de administrador en Windows

Cómo extraer el handshake WPA/WPA2 de archivos de captura grandes