엑셀 다운 기능을 구현하다가 엑셀 다운 버튼을 누르면 404가 뜨는 오류가 났다.
크롬에서는 문제없이 되는데 익플에서만 404가 떴다.
org.apache.coyote.http11.AbstractHttp11Processor process
정보: 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.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:194)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1049)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
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)
이클립스 콘솔을 보니 위와 같은 오류가 나왔다.
검색해보니, 크롬이나 파이어폭스는 URL을 자동으로 인코딩해서 전송해주지만, IE는 문자나 한글을 자동적으로 인코딩이 안되기때문에 발생하는 오류였다.
param을 보낼 때, encodeURI(param)을 해줘서 인코딩해서 보내주니까 해결되었다.