HTTP POST에는 전송할 수있는 데이터 크기에 대한 사양 제한이 없다고 들었습니다. 그게 사실인가요, 아니면 정말 상한선인가요?
답변:
편집 (2019) 이 답변은 이제 상당히 중복되지만 더 관련성있는 정보 가있는 또 다른 답변 이 있습니다.
오히려 웹 서버와 웹 브라우저에 따라 다릅니다.
Internet explorer 모든 버전 2GB-1
Mozilla Firefox 모든 버전 2GB-1
IIS 1-5 2GB-1
IIS 6 4GB-1
IIS는 기본적으로 200KB 만 지원하지만이를 늘리려면 메타베이스를 수정해야합니다.
http://www.motobit.com/help/scptutl/pa98.htm
POST 메서드 자체에는 데이터 크기에 대한 제한이 없습니다.
마치 그것이 중요한 유일한 웹 서버 인 것처럼 모든 답변이 IIS에 대해 말하는 방식은 놀랍습니다. 심지어 다시 2010 년에 질문을 질문 할 때, 아파치는 사이 한 60 % 와 시장 점유율의 70 % . 어쨌든,
min(serverMaximumSize, clientMaximumSize)
입니다.다음은 더 많이 사용되는 일부 HTTP 서버의 POST 본문 크기입니다.
HTTP 프로토콜 자체에 따른 제한은 없지만 구현에는 실질적인 상한이 있습니다. POST를 사용하여 4GB를 초과하는 데이터를 Apache에 보냈지 만 일부 서버는 당시 4GB로 제한되었습니다.
LimitRequestBody
지시문에 상한선을 부과하기 시작했을 것 입니다.
POST를 사용하면 임의 길이의 데이터를 서버로 보낼 수 있지만 시간 제한 / 대역폭 등에 따라 제한이 있습니다.
기본적으로 많은 양의 데이터를 보내는 것이 좋지 않다고 가정하는 것이 더 안전하다고 생각합니다 .
이 기사 (현재 삭제됨)에 따르면 서로 다른 IIS 웹 서버가 '헤더'에서 서로 다른 양의 데이터를 처리 할 수 있습니다. http://classicasp.aspfaq.com/forms/what-is-the-limit-on-form/post-parameters.html ;
POST를 통해 전달할 수있는 FORM 요소의 수에는 제한이 없으며 모든 이름 / 값 쌍의 집계 크기에만 제한이 있습니다. GET은 1024 자로 제한되지만 POST 데이터는 IIS 4.0에서 2MB, IIS 5.0에서 128KB로 제한됩니다. 각 이름 / 값은 SGML 사양에 따라 1024 자로 제한됩니다. 물론 이것은 enctype = 'multipart / form-data'를 사용하여 업로드 된 파일에는 적용되지 않습니다. ... IIS 5.0을 사용하여 90-100MB 범위의 파일을 업로드하는 데 문제가 없었습니다. server.scriptTimeout 값을 늘릴 필요가 있습니다. 뿐만 아니라 인내심도!