Buradaki zorluk, GET isteklerini kabul eden bir kod golfü HTTP sunucusu yazmaktır. Açıkçası, tam özellikli olmak zorunda değildir, ancak bir dizinden dosya sunması gerekir.
Kurallar:
- HTTP sunucusu 36895 numaralı TCP bağlantı noktasını dinlemelidir (0x901F)
/var/www* NIX sistemlerinde (örneğin Linux) veyaC:\hgolfWindows'ta dosya sunmalıdır .GETKendisi dışında gelen tüm HTTP başlıklarını yok sayabilirsiniz .- HTTP yöntemi GET değilse, "405 Desteklenmeyen" durum kodunu ve "405 Desteklenmeyen" gövde kodunu geri göndermelisiniz.
- Dosya yoksa, "404 Dosya Bulunamadı" durum kodunu ve "404 Dosya Bulunamadı" ifadesini geri göndermelisiniz.
- Dosya varsa, ancak bir nedenden ötürü okunamadıysa, "500 Sunucu Hatası" durum kodunu ve "500 Sunucu Hatası" ifadesini geri göndermelisiniz.
- Kullanıcı isterse
/veya mevcut başka bir dizin kökü isterse (örneğin/foo/, bir dizininfoobulunduğu yer/var/www/), boş bir sayfa ile yanıt verin. - Yanıtınız, içeriğin Firefox 8.0 ve Internet Explorer 8.0’da gösterilmesine izin vermek için en azından minimum başlıkları içermelidir.
- Sen ile cevap vermeliyiz
Content-Typebaşlık seti, ancak yalnızca destek uzantıları varhtml => text/htmlvetxt => text/plain. Başka bir dosya uzantısı için,application/octet-streamiçerik türü olarak gönder . - Kodunuz hem ASCII hem de ikili verileri aktarabilmelidir, ancak ikisini birbirinden ayırt etmeniz gerekmez.
- 3. parti kütüphaneleri kullanamazsınız.
- HTTP isteklerini işlemek için tasarlanmış yerleşik sınıfları veya özellikleri kullanamazsınız (örneğin
HttpListener, C #) - Kodunuz, kullandığınız soket API'leri nedeniyle yalnızca belirli bir işletim sisteminde çalışacaksa, lütfen bunu belirtin.
Çözümler, bir tarayıcıya HTML sayfası sunduğunu gösteren bir resim içermelidir.
Herhangi bir sorunuz varsa, lütfen sormaya çekinmeyin! :)
http.js içindeki modül tamam mı?












.., tanımlanan belge kökünden ayrılmanın bir yolu olarak yolda izin vermesini bekliyorum ).