반응형
톰캣의 특정 버전부터는 RFC 7230, RFC 3986에 의해 특수문자를 URI에 허용하지 않는다.
따라서 GET으로 던지던 많은 파라미터에서 문제가 생길 수 있다.
회사에서 되던게 집에서는 안되길래 크롬 개발자도구 네트워크 탭을 보니, URL Encoded 된 Query String에서 [ ] 등의 특수문자가 보였다. 400오류가 발생했고, 서버 콘솔에는 rfc 7230 and rfc 3986 관련 메시지가 떠있었다.
파라미터를 encodeURI 해서 던지거나 톰캣의 server.xml 옵션을 수정해주어야 한다.
나는 회사에서 잡은 개발환경에 맞추기 위해 후자를 택했다.
톰캣 conf/server.xml의 Connector에 다음 부분을 relaxedQueryChars 옵션을 추가해주면 된다.
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"
relaxedQueryChars="[,]"/>
반응형
'프로그래밍 > 이것저것 일하면서' 카테고리의 다른 글
크롬 브라우저 비밀번호 자동완성 방지 (autocomplete 불가 시) (0) | 2019.05.09 |
---|---|
게시판 내용에서 HTML 태그 제외하고 검색하기 (0) | 2019.04.01 |
윈도10 Bash에서 C드라이브 접근하기 (0) | 2018.09.19 |
React 공식 사이트, 문서, 튜토리얼 한글 번역 (React, React.js, React korea) (0) | 2018.09.17 |
MySQL / You can't specify target table 'TABLE' for update in FROM clause (0) | 2018.09.03 |