IT/Spring
Error parsing HTTP request header 에러 (RFC 7230)
알라이또
2017. 9. 7. 22:53
반응형
회사에서 내가맡은 부분을 다해 커밋을 하였는데, 과장님이 내가 한부분이 안된다고 하여 커밋을 잘못햇나 햇는데
보니 tomcat버전이 내꺼는 8.0이거 과장님꺼는 8.5버전이였다.
해당 발생한 오류의 내용은 아래와 같다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | 정보: Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level. java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986 at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:458) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:380) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:796) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1366) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Unknown Source) | cs |
구글링 해보니 파라미터 인코딩 문제였다.
스크립트에서 기존 파라미터(특수문자,공백 포함)를 넘길때, encodeURI로 감싸주면 된다.
1 2 | location.href="./test?params="+params; //기존 location.href="./test?params="+encodeURI(params); //변경 | cs |