수정일: 2025. 12. 7.
HTTP 헤더는 RFC 7230 규격을 따르기 때문에 헤더에 저장되는 문자열은 ASCII 문자열이여야 합니다.
next.js는 비공식 헤더인 x-action-redirect를 사용하여 서버 액션에서의 redirect 위치를 잠시 저장하는 용도로 사용합니다.
만약 next.js를 사용중이고 서버 액션에서
...
redreict(`your-url/hello/world?message=안녕하세요`);
위처럼 사용하게 되면
아래와 같은 에러 메시지를 받을 수 있습니다.
"unexpected response was received from the server."
이는, 올바른 헤더를 전달하지 않았기 때문입니다.
한글은 멀티바이트 문자로 window.ecodeURIComponent로 인코딩을 해준 다음 redirect로 보내줘야 합니다.
브라우저는 브라우저 자체적으로 자동 인코딩을 해주는 브라우저가 많습니다. 다만, 조심하면 좋기 때문에 잘 인코딩해서 보내주도록 합시다.