파닥이

Error parsing HTTP request header 에러 (RFC 7230) 본문

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




Comments