Başlığın dediği gibi, bir HTTP sunucusu yazmak istiyorum. Sorum şu, bunu nasıl yaparım? Bu ÇOK genel ve çok "yüksek seviye" geliyor biliyorum, ama benim delilik için bir yöntem var. Bu soruya bir cevap, bence dil agnostik olmalıdır; yani, hangi dili kullanırsam kullanın (örneğin, C, C ++, Java, vb.) cevap aynı olmalıdır. Bunun nasıl çalışması gerektiği konusunda genel bir fikrim var:
- 80 numaralı bağlantı noktasında bir soket açın.
- Bir istemcinin istek yapmasını bekleyin.
- İsteği okuyun (yani, bu kişi "contact-us.html" sayfasını istiyor).
- "Contact-us.html" dosyasını bulun ve okuyun.
- Bir html başlığı gönderin, ardından "contact-us.html" içeriğini gönderin
- Bitti
Dediğim gibi, bunun süreç olduğuna inanıyorum, ama% 100 emin değilim. Bu beni sorumun kalbine götürüyor. Bir kişi bu bilgiyi nasıl veya nerede öğrenir?
Yalnızca bir HTTP sunucusu yazmak istemiyorsam, bir FTP sunucusu, bir sohbet sunucusu, bir resim görüntüleyici vb. Yazmak istersem ne olur? Bir kişi, çalışan bir HTTP sunucusu oluşturmak için gereken tam adımları / süreci nasıl bulur?
Bir iş arkadaşı bana html başlığından bahsetti, bu yüzden bunu onsuz ASLA bilemezdim. Ayrıca her talebi yeni bir konuya sunmakla ilgili bir şeyler söyledi. İşlerin nasıl işlediğine dair büyük bir kitap var mı? HTTP sunucusu olmak için gerekenlere dair bir kılavuz var mı?
"Bir HTTP sunucusu nasıl çalışır" diye çalışmayı denedim, ancak bulabildiğim tek yanıt, bir HTTP sunucusu programlamak isteyen bir kişiye değil, ortalama Joe'nuza yönelikti.