development

GET 요청의 길이에 제한이 있습니까?

big-blog 2020. 6. 17. 07:44
반응형

GET 요청의 길이에 제한이 있습니까? [복제]


이 질문에는 이미 답변이 있습니다.

GET 요청의 길이에 제한이 있습니까?


아니에 RFC , 아니,하지만 실제적인 한계가있다.

HTTP 프로토콜은 URI 길이에 대한 사전 제한을 두지 않습니다. 서버는 서비스를 제공하는 모든 리소스의 URI를 처리 할 수 ​​있어야하며, 이러한 URI를 생성 할 수있는 GET 기반 양식을 제공하는 경우 무제한 길이의 URI를 처리 할 수 ​​있어야합니다. 서버가 처리 할 수있는 것보다 URI가 긴 경우 서버는 414 (Request-URI Too Long) 상태를 반환해야합니다 (섹션 10.4.15 참조).

참고 : 일부 이전 클라이언트 또는 프록시 구현은 이러한 길이를 제대로 지원하지 않을 수 있으므로 서버는 URI 길이가 255 바이트를 초과하는 것에주의해야합니다.


이 기사 는 그것을 잘 요약합니다.

요약 : RFC에 지정된 제한이 없으므로 구현에 따라 다릅니다. 최대 2000 자 (IE 한도)를 사용하는 것이 안전합니다.이 길이에 가까운 곳이라면 URI가 길어야합니다. 대체 디자인이이 문제를 해결할 수있을 것입니다.

데이터를 보내는 데 사용될 때에도 URI를 읽을 수 있어야합니다.


사용자 Erickson이 요청한대로 내 의견을 답변으로 게시합니다.

IE8, IE9, FF14, Opera11, Chrome20 및 Tomcat 6.0.32 (새 설치), 서버 쪽 Jersey 1.13으로 테스트를 더했습니다. jQuery 함수 $ .getJson 및 JSONP를 사용했습니다. 결과 : 모든 브라우저에서 최대 약 5400자를 허용합니다. FF와 IE9는 최대 약 6200 자였습니다. 위의 모든 항목이 "400 잘못된 요청"을 반환했습니다. 나는 400의 책임이 무엇인지 더 조사하지 않았다. 필자는 최대 2000 문자가 필요했기 때문에 내가 찾은 최대 값으로 괜찮았다.


이 사양은 HTTP Get 요청의 길이를 제한하지 않지만 다른 브라우저는 자체 제한을 구현합니다. 예를 들어 Internet Explorer에는 2083 자로 제한이 구현되어 있습니다.


W3C는 이것을 분명히 신화로 부인했다

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


contentLength 매개 변수가있는 setFixedLengthStreamingMode (int)는 HTTP 요청 본문의 고정 길이를 설정할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/266322/is-there-a-limit-to-the-length-of-a-get-request

반응형