const urlHash = Buffer.from(url).toString("base64");
- URL 주소에는 Redis나 다른 시스템에서 특별한 의미를 가질 수 있는 문자들(
/,?,&,=)이 포함되어 있음. 이런 문자들을 그대로 키로 사용하면 예기치 않은 문제를 일으킬 수 있음
- → Base64 인코딩은 어떤 문자열이든 영어 대소문자, 숫자, 그리고 몇몇 특수 기호(
+,/)만으로 이루어진 안전한 문자열로 바꿔주는 방법
Buffer.from(url)을 통해 URL 문자열을 바이트(byte) 배열로 변환한 뒤,toString("base64")를 통해 이 바이트들을 Base64 형식의 문자열로 변환
예시)
- 원본 URL:
https://example.com/search?q=뉴스
- Base64 인코딩 후 (
urlHash):aHR0cHM6Ly9leGFtcGxlLmNvbS9zZWFyY2g/cT3rhbzthZA=
이렇게 하면 원래 URL이 무엇이었든 상관없이 항상 안전한 형태의 문자열을 얻을 수 있음