[TOMCAT]POST 파라미터 전송 제한 해제

지규·2023년 6월 29일
0

개발일기

목록 보기
5/6

HTTP 에서 데이터 전송을 하는 메소드로 대표적으로 GET 방식과 POST 방식이 있다.

GET 방식

GET 방식은 URL에 파라미터를 길게 붙여서 전송하는 방식으로 URL 길이를 무한정 늘릴 수 없기 때문에 당연히 GET 방식에는 대량의 데이터를 전송을 하기에 제한이 있다.

POST 방식

이에 반해 POST 방식은 GET 방식과는 달리 body영역에 데이터를 실어 보낸다. Body에 데이터를 실어 보내기 때문에 데이터 전송양에 길이 제한이 없으며 대용량 데이터를 보내는데 적합하다.

POST 방식으로도 데이터 전체가 넘어가지 않는 문제

대량의 대이터를 전송하기 위해 POST 방식으로 데이터를 넘겼는데, 서버단에서 확인해보니 데이터가 제대로 넘어가지 않아서 자꾸 오류가 발생하였다.

데이터 전송 방식에만 집착하여 조금 헤맸는데, 알고보니 Tomcat 의 설정 문제였고, Tomcat의 maxPostSize, maxParameterCount 설정을 변경하여 문제를 해결하였다.

maxPostSize ?

tomcat 에서 Post 방식으로 전송할 데이터의 크기를 2MB를 기본으로 설정하고 있다. 이 이상의 데이터를 전송하기 위해선 server.xml에서 maxPostSize의 속성을 변경하여 비활성화 할 수 있다.

<Connector port="8080" protocol="HTTP/1.1" redirectPort="8443" maxPostSize="-1"/>

maxParameterCount ?

tomcat 에선 전송할 파라미터의 개수를 최대 10,000개로 제한을 두고 있다. 이 이상의 파라미터를 전송하기 위해선 server.xml에서 maxParameterCount 의 속성을 변경하여 비활성화 할 수 있다.

<Connector port="8080" protocol="HTTP/1.1" redirectPort="8443" maxParameterCount="-1"/>

0개의 댓글