URL 인코딩 완벽 가이드
URL 인코딩에 관한 모든 것을 알아보세요. URL 인코딩이란 무엇이고 왜 중요한지, 퍼센트 인코딩은 어떻게 동작하는지, 그리고 URL에서 특수 문자를 다루는 모범 사례까지 다룹니다.
URL 인코딩과 웹 개발을 위한 팁, 가이드, 모범 사례를 소개합니다.
URL 인코딩에 관한 모든 것을 알아보세요. URL 인코딩이란 무엇이고 왜 중요한지, 퍼센트 인코딩은 어떻게 동작하는지, 그리고 URL에서 특수 문자를 다루는 모범 사례까지 다룹니다.
자바스크립트의 encodeURIComponent()와 encodeURI() 함수를 예제와 모범 사례를 통해 자세히 비교합니다.
JavaScript에서 흔히 발생하는 "URIError: URI malformed" 오류를 실용적인 해결책으로 진단하고 수정하는 방법을 알아봅니다.
공백, 앰퍼샌드, 유니코드 등 특수 문자의 URL 인코딩을 다루는 종합 레퍼런스입니다.
REST API 개발에서 URL 인코딩을 완벽하게 익혀 보세요. 쿼리 파라미터와 경로 세그먼트를 올바르게 인코딩하고 안정적인 API를 구축하는 방법을 배웁니다.
encodeURI는 /, ?, # 같은 구조적 문자를 그대로 유지하면서 전체 URL을 인코딩합니다. encodeURIComponent는 단일 URI 구성 요소를 인코딩하며 /, ?, & 를 포함한 모든 특수 문자를 인코딩합니다. 쿼리 파라미터 값에는 encodeURIComponent를, 완전한 URL에는 encodeURI를 사용하세요.
URL 인코딩(퍼센트 인코딩)은 RFC 3986에 따라 URL 내 특수 문자를 %XX 형식으로 변환합니다. Base64 인코딩은 RFC 4648에 따라 64개의 ASCII 문자를 사용해 바이너리 데이터를 텍스트 문자열로 변환합니다. 두 방식은 목적이 서로 다르며 상호 호환되지 않습니다.
URL 인코딩 문자 전체 참조 표입니다. 출력 가능한 모든 ASCII 문자(32-126), 자주 쓰이는 유니코드 문자, 그리고 `RFC 3986`에 정의된 퍼센트 인코딩 값을 다룹니다.
Python의 URL 인코딩은 문자열을 percent-encoding하는 urllib.parse.quote()와 딕셔너리를 쿼리 문자열로 인코딩하는 urllib.parse.urlencode()를 사용합니다. 이 가이드에서는 quote(), unquote(), urlencode(), parse_qs()를 실용적인 예제와 함께 다룹니다.
퍼센트 인코딩은 RFC 3986에 정의된 메커니즘으로, URI의 특수 문자를 퍼센트 기호(%)와 두 자리 16진수로 치환하여 인코딩합니다. 이를 통해 URL이 인터넷에서 안전하게 전송될 수 있는 유효한 ASCII 문자만 포함하도록 보장합니다.
%20은 공백 문자를 나타내는 RFC 3986 표준 퍼센트 인코딩으로, URL 경로를 비롯한 대부분의 상황에서 사용해야 합니다. + 기호는 HTML 폼 전송과 일부 쿼리 문자열에 쓰이는 application/x-www-form-urlencoded 형식에서만 공백을 의미합니다.
JavaScript는 개별 URI 구성 요소를 디코딩하는 decodeURIComponent()와 완전한 URI를 디코딩하는 decodeURI()를 제공합니다. 잘못된 형식의 URI는 try-catch로 처리하세요. URL과 URLSearchParams API는 URL 파싱을 위한 더 안전한 대안을 제공합니다.
REST API 쿼리 파라미터는 &, =, 공백, 유니코드 같은 특수 문자를 안전하게 포함하기 위해 RFC 3986에 따라 percent-encoding되어야 합니다. JavaScript에서는 encodeURIComponent(), Python에서는 urllib.parse.quote(), Java에서는 URLEncoder.encode()를 사용하세요.
HTML 엔티티 인코딩은 `<`, `>`, `&`, `"` 같은 문자를 HTML 엔티티(`<`, `>`, `&`, `"`)로 변환하여 웹 페이지에서 안전하게 표시되도록 합니다. URL 인코딩은 문자를 `%XX` 형식으로 변환하여 URL에서 안전하게 전송되도록 합니다. 두 방식은 서로 다른 유형의 공격을 방어하며 서로 다른 맥락에서 사용됩니다.
Node.js의 ERR_INVALID_URL 오류는 URL 생성자나 url.parse()에 유효하지 않은 URL 문자열이 전달될 때 발생합니다. 주요 원인으로는 프로토콜 누락, 인코딩되지 않은 특수 문자, 잘못된 형식의 percent-encoding 등이 있습니다. 파싱하기 전에 입력값을 검증하고 특수 문자를 인코딩하여 해결할 수 있습니다.