Su desafío es escribir un servidor HTTP de código de golf que acepte solicitudes GET. Obviamente, no tiene que tener todas las funciones, pero debe servir archivos desde un directorio.
Reglas:
- El servidor HTTP debe escuchar en el puerto TCP 36895 (0x901F)
- Debe servir archivos de
/var/wwwsistemas * NIX (por ejemplo, Linux) oC:\hgolfWindows. - Puede ignorar todos los encabezados HTTP entrantes, excepto el
GETpropio. - Si el método HTTP no es GET, debe enviar un código de estado de "405 No admitido" y un cuerpo de "405 No admitido".
- Si el archivo no existe, debe devolver un código de estado de "Archivo 404 no encontrado" y un cuerpo de "Archivo 404 no encontrado".
- Si el archivo existe pero no se pudo leer por alguna razón, debe devolver un código de estado de "Error de servidor 500" y un cuerpo de "Error de servidor 500".
- Si el usuario lo solicita
/o cualquier otra raíz de directorio existente (por ejemplo,/foo/dondefooexiste un directorio/var/www/), responda con una página en blanco. - Su respuesta debe contener al menos los encabezados mínimos para permitir que el contenido se muestre en Firefox 8.0 e Internet Explorer 8.0
- Debe responder con el
Content-Typeconjunto de encabezado, pero solo debe admitir extensioneshtml => text/htmlytxt => text/plain. Para cualquier otra extensión de archivo, Enviarapplication/octet-streamcomo tipo de contenido. - Su código debe poder transferir tanto datos ASCII como binarios, aunque no tiene que distinguir explícitamente entre los dos.
- No puede usar bibliotecas de terceros.
- No puede usar clases integradas o características diseñadas para procesar solicitudes HTTP (por ejemplo,
HttpListeneren C #) - Si su código solo funcionará en un sistema operativo específico debido a las API de socket que ha utilizado, indíquelo.
Las soluciones deben incluir una imagen que muestre que sirve una página HTML a un navegador.
Si tiene alguna pregunta, no dude en preguntar. :)
httpmódulo en Node.js?












..la ruta como una forma de salir de la raíz del documento definido).