text/common

POST 길이, 용량 제한

hoonzii 2022. 11. 25. 09:26
반응형

php 문법을 보다가 POST 부분에

출처 : http://www.tcpschool.com/php/php_form_handling

php는 이렇다고 해서 갑자기 궁금해진 건데 과연 post 요청은 제한이 없나? (그렇다고 알고 있는데 진짜 그런가?)

 

현재 주로 사용중인 사항은 java+tomcat 8.0(로컬, 테스트) / 8.5 (본 서버)인데

톰캣은 설정을 통해 post 요청 한계를 변경 가능하다.

출처 : https://tomcat.apache.org/tomcat-8.0-doc/config/http.html#HTTP/1.1_and_HTTP/1.0_Support

maxParameterCount ⇒ 파라미터 개수 (-1로 설정 시 no limit)

maxPostSize ⇒ 값의 크기 지정 (-1로 설정시 no limit)

 

실제로 설정 변경 시 적용이 되는지 아래의 블로그를 통해 확인할 수 있다.

기존 10000개가 넘는 파라미터 송신 시 마지막이 잘리는 걸 확인하고,

파라미터 변경 ( maxParameterCount 변경) 후 값이 제대로 넘어가는 걸 확인한다.

https://shxrecord.tistory.com/183

 

[WAS]POST 방식에서 파라미터 개수 제한

GET 방식에서의 URL 글자수 제한이 있는 것은 흔한 사실(IE 기준)이며, POST 방식에서는 제한 없이 보낼 수 있는 것으로알고 있습니다. 이 생각에 사로잡혀서 조금 헤맸던 적이 있습니다. 한번은 Tomca

shxrecord.tistory.com

 

톰캣은 설정 변경을 통해 지원한다 하는데

과연 HTTP 1.1 은 POST 요청에 한계가 없을까?

출처 https://stackoverflow.com/questions/2880722/can-http-post-be-limitless

나랑 같은 생각을 한 사람이 있군 (근데 답변 날짜… 12년 전이다.)

 

답변을 번역해보자

  • HTTP 프로토콜은 제한을 딱히 명세하지 않았다.
  • POST는 GET(URL의 길이 제한 { 대략 2KB } ) 보다 많이 보낼 수 있다.
  • HTTP 서버에 따라 달라지는데 보통 1MB ~ 2GB 정도
  • HTTP 클라이언트 (브라우저나 user-agent 머 postman 같은?) 들은 자기만의 제한이 있기 때문에 maximum POST body request는 min(serverMaximumSize, clientMaximumSize)로 정해진다.

그럼 톰캣을 사용해 서비스하는 입장에서 post 사이즈의 제한을 풀어도

클라이언트 단에서 제한이 걸릴 수도 있다는 얘기?

클라이언트의 스펙은 다음과 같다고 한다.

출처 https://serverfault.com/questions/151090/is-there-a-maximum-size-for-content-of-an-http-post

 

다른 서버들의 스펙은 대략 아래와 같다고 한다.

 

스택 오버 플로우 검색 시 역시 HTTP 프로토콜은 제한은 없고,

server configuration, browser limitation에 의해 좌우된다고 찾을 수 있다.

정확히는 min(serverMaximumSize, clientMaximumSize)
https://stackoverflow.com/questions/2364840/what-is-the-size-limit-of-a-post-request

 

What is the size limit of a post request?

Sorry if this is duplicate,I would think it would be but couldn't find anything. I have a flex application that I am posting data back to a php/mysql server via IE. I haven't run into any problems...

stackoverflow.com

 

그렇지만 POST limit에 막힐 정도로 큰 파일을 주고받다니 무섭다…

출처 https://okky.kr/articles/307144

이런 문제점이 있기 때문에 서버 기본 설정을 건드리기보단… POST 보낼 때 방식을 바꾸는 게 좋아 보인다.

반응형