Est-il une limite à la longueur d'une requête GET? [dupliquer]

cette question a déjà une réponse ici:

  • longueur maximale de la requête HTTP GET? 7 réponses

y a-t-il une limite à la longueur d'une demande GET?

142
demandé sur Cole Johnson 2008-11-05 22:40:34

6 réponses

Pas dans le RFC , non, mais il existe des limites pratiques.

le protocole HTTP n'impose pas de limite a priori à la longueur de URI. Les serveurs doivent être capables de gérer L'URI de n'importe quelle ressource servir, et devrait être capable de manipuler des URIs de longueur illimitée si elles fournir des formulaires GET-based qui pourraient générer de tels URI. Serveur Doit retourner le statut 414 (URI de la demande trop Long) si un URI est plus long que le serveur peut gérer (voir la section 10.4.15).

Note: les serveurs doivent être prudents en fonction de la longueur des URI au-dessus de 255 octets, parce que certaines implémentations client ou proxy plus anciennes peut ne pas supporter correctement ces longueurs.

74
répondu Ed Guiness 2008-11-05 19:43:56

cet article résume assez bien

résumé: il est dépendant de la mise en œuvre, car il n'y a pas de limite spécifiée dans la RFC. Il serait sûr d'utiliser jusqu'à 2000 caractères (limite de IE. Si vous êtes près de cette longueur, vous devriez vous assurer que vous avez vraiment besoin URIs que long, peut-être un design alternatif pourrait obtenir autour de cela.

URIs doit être lisible, même lorsqu'il est utilisé pour envoyer des données.

53
répondu Vinko Vrsalovic 2012-12-26 05:05:36

comme demandé par L'utilisateur Erickson, je poste mon commentaire comme réponse:

j'ai fait plus de tests avec IE8, IE9, FF14, Opera11, Chrome20 et Tomcat 6.0.32 (nouvelle installation), Jersey 1.13 côté serveur. J'ai utilisé la fonction jQuery $.getJson et JSONP. Résultats: Tous les Navigateurs autorisés jusqu'à environ 5400 caractères. FF et IE9 ont fait jusqu'à environ 6200 chars. Tout ce qui précède a retourné "400 Bad request". Je n'ai pas cherché plus loin ce qui était responsable des 400. Je était d'accord avec le maximum que j'ai trouvé, parce que j'avais besoin d'environ 2000 chars dans mon cas.

18
répondu OneWorld 2013-07-14 01:38:17

la spécification ne limite pas la longueur D'une requête HTTP Get mais les différents navigateurs implémentent leurs propres limitations. Par exemple Internet Explorer a une limitation implémentée à 2083 caractères.

17
répondu Joakim Karlsson 2008-11-05 19:46:29

W3C décline catégoriquement cette idée comme un mythe ici

http://www.w3.org/2001/tag/doc/get7#myths

12
répondu Oluwabusayo 2011-12-09 16:59:48

setFixedLengthStreamingMode(int) avec contentLength paramètres de définir la longueur fixe d'un corps de requête HTTP.

0
répondu wurde 2012-01-05 16:41:25