IT story

게시 요청의 크기 제한은 무엇입니까?

hot-time 2020. 4. 4. 11:02
반응형

게시 요청의 크기 제한은 무엇입니까?


이것이 중복되면 죄송합니다. 그렇지만 아무것도 찾을 수 없다고 생각합니다.

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입니다 (우리 제품에는 필요).


서버 구성에 따라 다릅니다. Linux 또는 이와 유사한 환경에서 PHP로 작업하는 경우 다음과 같이 .htaccess 구성 파일을 사용하여 PHP를 제어 할 수 있습니다.

#set max post size
php_value post_max_size 20M

그리고 네, 개인적으로 이것이 작동한다는 사실을 증명할 수 있습니다 :)

IIS를 사용하는 경우이 특정 값을 어떻게 설정했는지 전혀 모릅니다.


요청의 URL 부분 (GET 및 POST)은 브라우저와 서버 모두에 의해 제한 될 수 있습니다. 일반적으로 더 작은 제한을 사용하는 브라우저 나 서버가 거의 없으므로 안전한 크기는 2KB입니다.

요청 본문 (POST)은 일반적으로 서버에 의해 DoS 공격 유형을 방지하기 위해 바이트 크기별로 제한됩니다 (이는 문자 이스케이프가 본문의 바이트 크기를 늘릴 수 있음을 의미합니다). 가장 일반적인 서버 설정은 10MB이지만 모든 인기있는 서버는 설정 파일 또는 패널을 통해이를 늘리거나 줄일 수 있습니다.

* 구형 휴대 전화 나 기타 소형 장치 브라우저에는 예외가 있습니다.이 경우 장치에서이 용도로 예약 된 힙 공간의 기능보다 더 중요합니다.


또한 PHP.INI 파일에는 다음과 같은 설정이 있습니다.

max_input_vars

내 버전의 PHP : 5.4.16의 기본값은 1000입니다.

매뉴얼에서 : "몇 개의 입력 변수가 허용 될 수 있습니까 (한도는 $ _GET, $ _POST 및 $ _COOKIE superglobal에 별도로 적용됩니다)"

참조 : http://www.php.net/manual/en/info.configuration.php#ini.max-input-vars


php.ini 변수를 설정하여 많은 양의 데이터를 게시 할 수 있습니다 : max_input_vars이 변수의 기본 크기는 1000이지만 많은 양의 데이터를 보내려면 그에 따라 크기를 늘려야합니다. ini_set에서 크기를 설정할 수 없다면 htaccessphp.ini 파일을 직접 변경하거나 변경해야합니다.

max_input_vars  2500
memory_limit    256M

David가 지적했듯이 대부분의 경우 KB를 사용합니다.

php_value post_max_size 2KB

참고 : 내 양식은 간단하지만 긴 텍스트가 아닌 몇 개의 텍스트 상자입니다.


한계가 있는지 결정하는 것은 http 서버에 달려 있습니다. 내가 작업하는 제품을 통해 관리자는 제한을 구성 할 수 있습니다.


기본적으로 사후 요청의 최대 크기는 8mb입니다. 그러나 요구 사항에 따라 수정할 수 있습니다. php.ini 파일 (php 구성 설정)을 열어서 수정할 수 있습니다.

찾기

post_max_size=8M  //for me, that was on line:771

요구 사항에 따라 8을 교체하십시오.


이를위한 최상의 솔루션 중 하나는 여러 입력 필드를 1,000 개 이상 사용하지 않는 것입니다. 예를 들어, 특수 문자를 사용하여 여러 입력을 연결할 수 있습니다. @.

이것 좀 봐:

<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_varsphp.ini 파일 을 늘리면 더 많은 서버 캐시 메모리를 사용하기 때문에 서버에 해로운 영향을 미치며 때로는 서버에 충돌을 일으킬 수 있습니다.

참고 URL : https://stackoverflow.com/questions/2364840/what-is-the-size-limit-of-a-post-request

반응형