html의 숨겨진 입력 길이에 최대 크기가 있습니까?


92

다시 말해:

<input type="hidden" value="Can I put as much as I want in here, or is there a limit?" />

그렇다면 무엇입니까?


6
내가 본 최고의 질문 방법.
안드레스 모랄레스

답변:


59

양식을 보내는 방법에 따라 다릅니다.

GET을 사용하면 브라우저 및 서버 제한에 따라 일반적으로 약 1-2KB의 제한이 있습니다.

POST를 사용하면 브라우저에 기술적 제한이 없지만 일반적으로 서버 측에 제한이 있습니다. 예를 들어 Apache LimitRequestBody, PHP 등을 참조하십시오 post_max_size.


텍스트 입력 필드에 대해 아래 @naugtur가 지적한 문제에주의하십시오. 적어도 다른 브라우저에 의해 부과되는 기술적 한계가있는 경우에는 유의하십시오.
Oliver

나는 현재의 3 가지 브라우저 (IE9, FF 10 ESR, Chrome 24)에서 몇 가지 테스트를 실행했으며 모두 문제없이 100KB의 숨겨진 입력 값을 제출했습니다. 따라서 텍스트 입력 문제는 여기에 적용되지 않는 것 같습니다.
Oliver

방법 textarea의?
Francisco Corrales Morales

이 입력 필드를 입력 중요하지 않습니다 @FranciscoCorralesMorales입니다 - 최종 결과, 전체의 합계 데이터 당신이 보내는 어떤 계산이다
페카

Safari가 숨겨진 입력을 잘랐습니다. 텍스트 영역을 사용하면 문제가 해결되었습니다.
Brendon Muir

29

경고! <input type="text">텍스트가 65535 (최대 부호있는 정수 크기)보다 길 때 문제가 발생했습니다.

텍스트를 붙여 넣으면 내용이 이상하게 넘쳐나는 것 같습니다. 웹킷에서 발견되었습니다.

[편집하다]

GET 요청의 크기는 Pekka가 작성한 방식으로 정확히 제한되지 않습니다. Internet Explorer에서만 전체 GET 쿼리 문자열 address?params에 대해 2083 바이트의 제한이 있습니다 . 다른 브라우저에서는 거의 제한이 없습니다. 예를 들어 FireFox는 100KB가 넘는 GET 쿼리를 보냅니다. 분명히 서버는이를 허용해야합니다.

문서에서 다루지 않으므로 다른 브라우저의 한계를 알기 위해 테스트해야합니다. IE : http://support.microsoft.com/kb/208427


8
+1 입력 값을 매우 긴 문자열로 설정할 때 어떤 일이 발생하는지 테스트하기 위해이 jsFiddle을 만들었습니다. jsfiddle.net/3TVPL/6 65537 자 길이의 문자열을 사용했습니다. 내 테스트에서 Windows 용 Crome 24.0.1312 및 Safari 5.1.7은 값을 해당 문자열로 설정 한 후 입력 상자가 비어있는 것으로 표시합니다. 문자열을 65536 자로 줄이면 Chrome은 비어 있지 않은 적절한 값을 표시합니다. 다른 브라우저 (Firefox 17, IE8, IE9, IE10, Opera 12.12)는 훨씬 더 긴 문자열로도 문제가 없었습니다 (약 1.2 Mb 문자열까지 올라갔습니다)
beluga 2013 년

@beluga 훌륭합니다. 성능에 대한 생각은? 내 약한 기계에서는 오래 기다렸습니다. 그것이 웹킷이 그것을 렌더링하지 않는 이유라고 생각합니다.
naugtur

아마도 좋은 지적입니다. 지금은 성능 테스트를하지 않았습니다. 나는 직장에서 꽤 강화 된 컴퓨터를 가지고 있으며 어떤 브라우저에서도 지연을 느끼지 못했습니다.
beluga

그것은 내 FF를 5 분 동안 사용할 수 없게 만들었습니다. 양식 필드에이 정도를 넣는 것은 어쨌든 좋은 생각이 아닙니다. :)
naugtur

모바일 브라우저와 프록시는 잘라 내기 필드 숨길 수
조지 Filippakos을
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.