Comme le titre l'indique, je voudrais écrire un serveur HTTP. Ma question est la suivante, comment dois-je procéder? Je sais que cela semble TRÈS général et trop "de haut niveau", mais il y a une méthode à ma folie. Une réponse à cette question devrait être, je crois, indépendante du langage; ce qui signifie, quel que soit le langage que j'utilise (par exemple, C, C ++, Java, etc.), la réponse doit être la même. J'ai une idée générale de la façon dont cela est censé fonctionner:
- Ouvrez une prise sur le port 80.
- Attendez qu'un client fasse une demande.
- Lisez la demande (c.-à-d., Cette personne veut la page "contactez-nous.html").
- Recherchez et lisez "contact-us.html".
- Envoyez un en-tête html, puis envoyez le contenu de "contact-us.html"
- Terminé
Comme je l'ai dit, je crois que c'est le processus, mais je ne suis pas sûr à 100%. Cela m'amène au cœur de ma question. Comment ou où une personne trouve-t-elle ces informations?
Et si je ne voulais pas écrire uniquement un serveur HTTP, et si je voulais écrire un serveur FTP, un serveur de chat, une visionneuse d'images, etc.? Comment une personne découvre-t-elle les étapes / processus exacts nécessaires pour créer un serveur HTTP fonctionnel?
Un collègue m'a parlé de l'en-tête html, donc je n'aurais JAMAIS su cela sans lui. Il a également dit quelque chose sur la remise de chaque demande à un nouveau fil. Y a-t-il un gros livre sur la façon dont les choses fonctionnent? Existe-t-il un manuel de ce qu'il faut pour être un serveur HTTP?
J'ai essayé de googler "comment fonctionne un serveur HTTP", mais les seules réponses que j'ai pu trouver étaient destinées à votre Joe moyen, et non à une personne souhaitant programmer un serveur HTTP.