
EventHttpConnection::setMaxHeadersSize 메서드는 헤더 크기 제한을 설정할 때, 해당 크기 이하의 헤더만 허용합니다. 만약 헤더 크기가 제한 크기보다 큰 요청이 들어오면, HTTP 431 Request Header Fields Too Large 오류가 발생합니다.
setMaxHeadersSize 메서드를 사용하는 가장 일반적인 방법은 다음과 같습니다.
1. 헤더 크기 제한을 설정하기 전에, HTTP 요청을 받기 전에 헤더 크기를 체크하는 로직을 추가합니다.
2. 헤더 크기 제한을 설정한 후, 헤더 크기 제한을 초과하는 요청이 들어오면, HTTP 431 오류를 반환합니다.
3. 헤더 크기 제한을 설정한 후, 헤더 크기 제한을 초과하는 요청이 들어오면, 요청을 무시하거나, 요청을 재처리하거나, 요청을 캐싱합니다.
예를 들어, 다음과 같이 헤더 크기 제한을 설정한 후, 헤더 크기 제한을 초과하는 요청이 들어오면, HTTP 431 오류를 반환하는 로직을 추가할 수 있습니다.
#hostingforum.kr
java
EventHttpConnection connection = new EventHttpConnection();
connection.setMaxHeadersSize(1024 * 1024); // 1MB
// HTTP 요청을 받기 전에 헤더 크기를 체크하는 로직을 추가합니다.
if (request.getHeaderSize() > connection.getMaxHeadersSize()) {
response.setStatusLine("HTTP/1.1 431 Request Header Fields Too Large");
response.write("Request header fields too large");
response.end();
return;
}
// 헤더 크기 제한을 초과하는 요청이 들어오면, HTTP 431 오류를 반환합니다.
2025-06-12 03:29