Creando un servidor HTTP
El método principal para crear un servidor es http.createServer(). Este método devuelve un servidor que puede escuchar solicitudes entrantes.
HTTP (Hypertext Transfer Protocol) es el protocolo utilizado por la World Wide Web para la transferencia de información entre un cliente (como un navegador web) y un servidor. HTTP define cómo deben formatearse y transmitirse los mensajes, y cómo los servidores y navegadores deben responder a varios comandos.
El método principal para crear un servidor es http.createServer(). Este método devuelve un servidor que puede escuchar solicitudes entrantes.
Las solicitudes HTTP son mensajes enviados por el cliente al servidor para solicitar algún recurso o realizar una acción. Una solicitud HTTP tiene varios componentes importantes:
Define la acción a realizar. Los métodos más comunes son:
Contiene datos que proporciona información adicional sobre la solicitud o sobre el cliente.
Utilizado principalmente en solicitudes POST y PUT para enviar datos adicionales al servidor (como formularios, JSON, etc.).
Las respuestas HTTP son mensajes enviados por el servidor al cliente en respuesta a una solicitud HTTP. Una respuesta HTTP tiene varios componentes importantes:
Un número que indica el resultado de la solicitud.
Clase | Código | Significado |
Informativos | 100 | El servidor ha recibido los encabezados de la solicitud y el cliente puede proceder a enviar el cuerpo de la solicitud. |
101 | Cambio de protocolos. | |
102 | Procesando. | |
103 | Punto de control. | |
Exitosos | 200 | La solicitud ha tenido éxito. |
201 | La solicitud ha tenido éxito y se ha creado un nuevo recurso. | |
202 | El recurso se ha aceptado. | |
203 | Información no autorizada. | |
204 | No hay contenido para mostrar. | |
205 | Contenido reestablecido. | |
206 | Contenido parcial. | |
207 | Estado múltiple. | |
208 | Ya reportado. | |
Redirección | 300 | Opciones múltiples. |
301 | El recurso solicitado se ha movido permanentemente a una nueva URL. | |
302 | El recurso solicitado se ha encontrado temporalmente en una URL diferente. | |
303 | Ver otros. | |
304 | Sin modificaciones | |
305 | Uso de proxy. | |
306 | Cambio de proxy. | |
307 | Redirección temporal. | |
308 | Redirección permanente. | |
Errores del cliente | 400 | La solicitud no se puede procesar debido a un error del cliente. |
401 | La autenticación es necesaria y ha fallado o no se ha proporcionado. | |
402 | Pago requerido. | |
403 | El cliente no tiene permisos para acceder al recurso. | |
404 | El recurso solicitado no se ha encontrado. | |
405 | Método no autorizado. | |
406 | Solicitud no aceptada. | |
407 | Autenticación proxy requerida. | |
408 | Exceso de demora en la petición. | |
409 | Conflicto. | |
410 | El recurso se ha ido. | |
411 | Longitud requerida. | |
412 | Condición previa fallida. | |
413 | Entidad solicitante muy extensa. | |
414 | petición URI muy larga. | |
415 | Multimedia no soportada. | |
416 | Rango no satisfactorio. | |
417 | La expectativa fracasó. | |
423 | Bloqueado. | |
424 | Dependencia fallida. | |
425 | Colección desordenada. | |
426 | Se requiere actualización. | |
428 | Condición previa requerida. | |
429 | Exceso de peticiones. | |
431 | Datos del header muy extensos. | |
450 | Bloqueo parental. | |
451 | No disponible por legales. | |
Errores de servidor | 500 | Ha ocurrido un error interno en el servidor. |
501 | No implementado. | |
502 | Error en puerta de acceso. | |
503 | El servidor no está disponible temporalmente. | |
504 | Exceso de demora en la puerta de acceso. | |
505 | Versión HTTP no soportada. | |
507 | Espacio insuficiente. | |
508 | Bucle detectado. | |
509 | Exceso de ancho de banda. | |
510 | No extendido. | |
511 | Autenticación requerida. |
Proporcionan información adicional sobre la respuesta.
El contenido real solicitado por el cliente (por ejemplo, el HTML de una página web, una imagen, datos JSON, etc.).
El módulo HTTP proporciona varios métodos para interactuar con el servidor y las solicitudes y respuestas HTTP. Algunos de los métodos más comunes son: