HTTP 302
Le code de réponse HTTP 302 Found est une maniÚre classique de réaliser des Redirections d'URL non permanentes.
Une rĂ©ponse avec ce code donne en plus une URL dans le champ d'entĂȘte location (en). Le User-Agent (c.Ă .d le navigateur web) est invitĂ© par la rĂ©ponse contenant ce code Ă refaire une nouvelle requĂȘte Ă l'URL spĂ©cifiĂ©e dans le champ location. Beaucoup de navigateurs webs implĂ©mentent ce code d'une maniĂšre qui viole les standards, en changeant le type de la nouvelle requĂȘte vers GET, sans tenir compte du type de la requĂȘte originale (c'est-Ă -dire POST)[1]. C'est pour cette raison que deux nouveaux statuts ont Ă©tĂ© crĂ©Ă©s : HTTP 303 et HTTP 307 pour distinguer les deux comportements, avec 303 changeant le type de la requĂȘte vers GET et 307 conservant le type de la requĂȘte originelle. MalgrĂ© ces deux codes bien distincts, le code 302 est toujours employĂ© dans les frameworks web pour prĂ©server la compatibilitĂ© avec les navigateurs n'implĂ©mentant pas le HTTP/1.1[2].
L'amĂ©lioration de RFC 2616[3] a changĂ© la dĂ©finition pour autoriser les User-Agents Ă transformer une requĂȘte POST en requĂȘte GET[4].
Exemple
RequĂȘte client:
GET /index.html HTTP/1.1 Host: www.example.com
RĂ©ponse serveur:
HTTP/1.1 302 Found Location: http://www.iana.org/domains/example/
Voir aussi
- Liste des codes HTTP
- HTTP 301 - Redirection permanente
Références
- Eric Lawrence, « HTTP Methods and Redirect Status Codes », EricLaw's IEInternals blog (consulté le )
- « Request and response objects | Django documentation | Django », Docs.djangoproject.com (consulté le )
- (en) Request for comments no 2616.
- « draft-ietf-httpbis-p2-semantics-26 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content », Tools.ietf.org (consulté le )
- (en) Request for comments no 1945.