2010-03-09 4 views
4

J'écris du code qui analyse les requêtes HTTP et les réponses, mais il peut ne pas voir les deux côtés de chaque conversation.Méthode HTTP HEAD et pipelining

Le HTTP RFC indique qu'une requête HEAD doit provoquer exactement la même réponse que GET, sauf qu'un corps de message n'est pas envoyé. Cela semble impliquer qu'un en-tête Content-Length serait inclus.

Si HTTP Pipelining est utilisé, je ne vois pas comment vous pouvez analyser de façon fiable une réponse pipeline à un HEAD sans avoir vu la demande; les en-têtes n'indiqueraient pas correctement la longueur de la réponse, il n'y a pas de Transfer-Encoding, et la connexion ne serait pas nécessairement fermée à la fin.

Des idées? Quelqu'un peut-il voir d'autres types de réponses qui ne peuvent être analysées sans voir la demande?

Répondre

3

Je suis d'accord. Il n'est pas possible de savoir que la réponse à la requête n'a pas de corps d'entité, même si l'en-tête ContentLength semble impliquer le contraire. Toutes les implémentations doivent prendre en compte la méthode de requête pour cette raison.