HTTP

El http es la base de cualquier de informacion en internet.Este sigue el modelo clienet-servidor en el que el cilente(usuario) envia una solicitud y el servidor responde con datos que solicita el usuario.

Funcionamiento

Opera a nivel de capa de aplicación sobre tcp/ip y se caracteriza por ser un protocolo que no recuerda peticiones anteriores y por ser de conexion efimera.

  • conexion:El cliente estable conexion con el servidor.
  • Petición:Envia una petición HTTP al servidor donde especifica la accion deseada y el recurso(URL/URI).
  • Procesamiento::Una vez que el servidor reciba la petición, la procesa y busca el recurso para dar una respeusta.
  • Respuesta:El servidor envia una respuesta al cliente donde incluye un codigo de estado y si este es exitoso, el recurso solicitado.
  • Cierre:La conexion TCP puede cerrarse o se mantiene abierta para petciones futuras.
  • Estructura basica.

    Linea inicial

  • Petcion:Incluye el Método, la URI del recurso y la Versión HTTP. (Ej: GET /index.html HTTP/1.1)
  • Respuesta:Incluye la Versión HTTP, el Código de Estado y el Mensaje de Estado asociado. (Ej: HTTP/1.1 200 OK)
  • Cabecera

  • Peticion:Metadatos sobre la petición (Ej: Host, User-Agent, Accept-Language)
  • Respuesta:Metadatos sobre la respuesta y el servidor (Ej: Date, Server, Content-Type).
  • Cuerpo

  • Peticion:Contenido de datos enviado al servidor (Opcional, usado con métodos como POST o PUT).
  • Respuesta:Contenido del recurso solicitado (Ej: código HTML, imagen, JSON).
  • Metodos de petición

  • GET:Es el mas comun y solo debe obtener datos
  • POST:Envia datos al servidor para que lo procese que seguido crea un nuevo recurso.
  • PUT:Reemplaza todas las representaciones actuales del recurso de destino con el contenido de la petición.
  • DELETE:Elimina recursos en especifico.
  • HEAD:Solicita una respuesta igual a get pero sin el cuerpo de el mensaje, es util para verificar el tamaño y existencia del recurso.
  • PATCH:Aplica modificaciones parciales a un recurso.
  • OPTIONS:Describe las opciones de comunicacion en un recurso de destino.
  • Codigos de respuesta

    Son numeros de 3 digitos que el servidor envia en linea principal para indicar la respuesta.

  • 1xx(100-199):Este es informativo,indica si se recibio la peticion y si continua el proces.
  • 2xx(200-299):La accion fue recibida,entendida y aceptada.
  • 3xx(300-399):Redireccion,se necesita realizar una accion adicional para poder completar la peticion.
  • 4xx(400-499):Error de cliente,la peticion es incorrecta o no puede ser cumplida.
  • 5xx(500-599):Error de servidor,el servidor fallo cuando quiso cumplir una valida.