Requêtes/Réponses http
Mad Ant
Messages postés
12
Statut
Membre
-
sebsauvage Messages postés 33284 Date d'inscription Statut Modérateur Dernière intervention -
sebsauvage Messages postés 33284 Date d'inscription Statut Modérateur Dernière intervention -
Salut à tous.
J'aimerais savoir : y a-t-il une séquance de chaines de caractères spéciales à la fin d'une requête ou réponse http, du genre '\r\n\r\n' ?
Je dois programmer un serveur web légér et compacte, et donc je dois pouvoir analyser les requêtes http et renvoyer les réponses.
Tout aide sera le bienvenu.
Mad Ant
J'aimerais savoir : y a-t-il une séquance de chaines de caractères spéciales à la fin d'une requête ou réponse http, du genre '\r\n\r\n' ?
Je dois programmer un serveur web légér et compacte, et donc je dois pouvoir analyser les requêtes http et renvoyer les réponses.
Tout aide sera le bienvenu.
Mad Ant
6 réponses
-
Très interressant comme projet.
As tu été voir la RFC, car c'est le genre de truc qui y sera indiqué.
En plus, t'as du bol, il a été traduit ! http://www.salemioche.com/http/1945tm.php
A+ !
Kalamit,
La nuit, tous les chats sont gris. Pas les poulets ! :@) -
Oui la RFC donnera la réponse.
Pour résumer: la fin de l'entête HTTP est marquée par 2 retours à la ligne.
(attention c'est pas forcément \r\n\r\n, ça peut très bien être \n\n seulement.)
Histoire de ne pas réinventer la roue, pour un serveur web léger et compacts, il y a:
sous Windows: TinyWeb (avec les sources en Delphi): http://www.ritlabs.com/tinyweb/
et pour les Unixs, micro_httpd (avec sources en C): http://www.acme.com/software/micro_httpd/
(150 lignes de code seulement ! :) -
Hi,
Pour un serveur Web léger
(j'ai compilé sans problème sous FreeBSD et Linux)
http://abyss.sourceforge.net/
Johan
The software said "Requires Windows98, Win2000, or better,
So I installed Unix. -
Merci à ceux qui ont répondu.
Concernant le http, je l'ai lu et j'ai vu qu'il fallait 2 retours à la ligne (CRLF) entre l'en-tête et le corps, mais rien pour la fin du corps. Si qqn savait m'indiquer la partie du rfc qui l'indique, ce serait bien aimable.
Mad Ant -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
(c'est marqué dans la RFC, mais bon...)
Soit la taille du corps est indiquée dans l'entête HTTP (Content-Length:), soit c'est à la fermeture de la connexion TCP qu'il faut considérer les données comme terminées.
çà dépend des serveurs. -
Pour compléter:
La best-practice est d'indiquer la taille des données dans l'entête HTTP, mais dans la pratique ça peut devenir compliqué avec les envoi multipart.
Tant que c'est possible, utiliser le content-length. C'est plus sûr, et c'est plus poli envers le client.