투고 요청의 크기 제한은 얼마입니까?
죄송합니다. 만약 중복된다면, 저는 그렇게 생각하겠지만 아무것도 찾을 수 없었습니다.
플렉스 어플리케이션이 있어 IE를 통해 데이터를 php/mysql 서버에 다시 게시합니다.저는 아직 아무 문제도 겪지 않았지만, 이것을 미리 알아두면 많은 좌절과 일을 덜 수 있을 거예요.http를 통해 데이터를 게시할 수 있는 크기 제한이 있습니까?
이 기사에서는 '아니오'라고 되어 있습니다.http://www.netlobo.com/ie_form_submit.html
이 토론에서는, 「네」라고 대답합니다.http://bytes.com/topic/php/answers/538226-what-maximum-limit-using-post-method
그리고 내가 온라인에서 찾을 수 있는 모든 것들이 왔다 갔다 한다.따라서 개인 테스트/검증된 수치로 답변을 제한해 주십시오.
꽤 큰 XML 문자열(최대 5MB)을 다시 투고하고 싶습니다.
차이가 있다면 브라우저는 항상 IE(당사 제품이 필요로 함), 게시물은 에서 전송되며 httpService는 플렉스, 웹 서버는 php, DB는 mySql입니다.
서버 구성에 따라 다릅니다.Linux 또는 유사한 환경에서 PHP를 사용하는 경우 다음과 같이 .htaccess 구성 파일을 사용하여 제어할 수 있습니다.
#set max post size
php_value post_max_size 20M
네, 이것이 효과가 있다는 것을 개인적으로 증명할 수 있습니다.
IIS 를 사용하고 있는 경우는, 이 값을 어떻게 설정했는지 알 수 없습니다.
요청의 URL 부분(GET 및 POST)은 브라우저와 서버 모두에 의해 제한될 수 있습니다.일반적으로 더 작은 제한을 사용하는 브라우저나 서버는 거의 없기 때문에 안전 크기는 2KB입니다.
요구의 본문(POST)은, DoS 공격의 타입을 막기 위해서, 통상, 서버에 의해서 바이트 사이즈 베이스로* 제한됩니다(즉, 문자 이스케이프가 본문의 바이트 사이즈를 증가시킬 가능성이 있는 것에 주의해 주세요).가장 일반적인 서버 설정은 10MB이지만, 일반적으로 사용되는 모든 서버는 설정 파일 또는 패널을 통해 이 값을 늘리거나 줄일 수 있습니다.
*구식 휴대전화나 기타 소형 디바이스 브라우저에서는 일부 예외가 존재합니다.이 경우 디바이스 상의 이 목적을 위해 예약된 힙스페이스의 기능에 더 가깝습니다.
또, PHP로.INI 파일에는 다음과 같은 설정이 있습니다.
max_input_vars
5.4.16의 디폴트는 1000입니다.
매뉴얼에서 "입력 변수 수 허용($_GET, $_POST 및 $_COOK에 제한 적용)IE superglobal 별개)
참조: http://www.php.net/manual/en/info.configuration.php#ini.max-input-vars
php변수 php.ini를 할 수 .max_input_vars
이 변수의 기본 크기는 1000이지만 대량의 데이터를 전송하려면 그에 따라 크기를 늘려야 합니다.수 에는 ini_set을 통해 .htaccess
php.ini를 사용합니다.
max_input_vars 2500
memory_limit 256M
David이 지적한 바와 같이, 나는 대부분의 경우 KB로 갈 것이다.
php_value post_max_size 2K
주의: 제 폼은 단순하고 긴 텍스트가 아니라 텍스트 상자 몇 개만 있습니다.
(여기서 설명한 바와 같이 KB의 PHP 줄임말은 K입니다).
기본적으로는 투고 요청의 최대 크기는 8MB입니다.그러나 필요에 따라 수정할 수 있습니다.변경은 php.ini 파일(php 구성 설정)을 열어 실행할 수 있습니다.
검색
post_max_size=8M //for me, that was on line:771
필요에 따라 8을 교체합니다.
이를 위한 최선의 해결책 중 하나는 여러 입력 필드 또는 1,000개 이상의 입력 필드를 사용하지 않는 것입니다.여러 입력에 임의의 특수 문자를 연결할 수 있습니다(예: ex). @
.
다음을 참조하십시오.
<input type='text' name='hs1' id='hs1'>
<input type='text' name='hs2' id='hs2'>
<input type='text' name='hs3' id='hs3'>
<input type='text' name='hs4' id='hs4'>
<input type='text' name='hs5' id='hs5'>
<input type='hidden' name='hd' id='hd'>
임의의 스크립트(JavaScript 또는 JScript)를 사용하여
document.getElementById("hd").value = document.getElementById("hs1").value+"@"+document.getElementById("hs2").value+"@"+document.getElementById("hs3").value+"@"+document.getElementById("hs4").value+"@"+document.getElementById("hs5").value
에요,그러면 안 돼요.max_input_vars
. 만약 당신이 증가한다면max_input_vars
더 하기 때문에 ini가 될 수 .
제한이 있는지 여부는 http 서버에 의해 결정됩니다.작업하고 있는 제품에서는 관리자가 제한을 설정할 수 있습니다.
웹 호스팅 때문에 php 구성을 변경할 수 없는 개발자용입니다.(내 설정 최대 크기 256MB, 최대 변수 1000개)
서브구조를 가진 빅데이터 오브젝트(어소시에이션 어레이) 5개 중 2개만 서버 측에 수신된 것과 같은 문제가 발생하였습니다.
포스트 리퀘스트에서 서브스트럭처 전체가 「평탄화」되고 있는 것을 알 수 있었습니다.즉, 하나의 개체가 수백 개의 문자 그대로 변수가 됩니다.결국 5개의 객체 변수 대신 실제로는 수백 개의 요소 변수를 보내고 있습니다.
이 경우의 해결책은 각 서브구조를 String으로 시리얼화하는 것입니다.그런 다음 서버에서 5 String 변수로 수신됩니다.예를 들어:{variable1:JSON.stringify(myDataObject1),variable2:JSON.stringify(myDataObject2)...}
언급URL : https://stackoverflow.com/questions/2364840/what-is-the-size-limit-of-a-post-request
'programing' 카테고리의 다른 글
try/except를 사용하지 않고 문자열이 int를 나타내는지 확인하려면 어떻게 해야 합니까? (0) | 2022.11.08 |
---|---|
리셋 세트개체로부터의 간격() (0) | 2022.11.08 |
JavaScript를 사용하여 새 페이지를 로드하지 않고 브라우저에서 URL 변경 (0) | 2022.11.08 |
WHERE 절을 사용하여 쿼리에 배열 전달 (0) | 2022.11.08 |
팬더 데이터를 기존 CSV 파일에 추가하려면 어떻게 해야 합니까? (0) | 2022.10.30 |