무료 URL 인코더 & 디코더 | OneStepToRank

URL 인코더 & 디코더

특수 문자를 인코딩하여 URL 및 쿼리 문자열에서 안전하게 사용하거나, 퍼센트 인코딩된 문자열을 읽을 수 있는 텍스트로 디코딩합니다. 완전히 브라우저에서 실행됩니다.

URL 인코딩 / 디코딩

Common URL-Encoded Characters

CharacterEncodedDescription
(space)%20Space character
!%21Exclamation mark
#%23Hash / fragment
$%24Dollar sign
&%26Ampersand
'%27Apostrophe
+%2BPlus sign
/%2FForward slash
=%3DEquals sign
?%3FQuestion mark
@%40At sign

지배 로컬 검색

개발자 도구는 시작에 불과합니다. OneStepToRank는 전체 서비스 지역에서 Google 순위를 24시간 모니터링하고 전략을 자동으로 조정하여 최상위에 유지합니다.

무료 시작하기

URL 인코딩이란?

URL 인코딩, 공식적으로 퍼센트 인코딩이라 불리는 이 과정은 URL에서 허용되지 않거나 특수 의미를 가진 문자를 퍼센트 기호와 두 개의 16진수 숫자로 안전하게 변환하는 것입니다. 이 메커니즘은 RFC 3986 (Uniform Resource Identifier) 에 의해 정의되며 URL이 인터넷을 통해 올바르게 전송되도록 보장합니다. 예를 들어, 공백 문자는 %20으로 인코딩되고, 앰퍼샌드는 %26, 물음표는 %3F 로 변환됩니다. URL 인코딩이 없으면 브라우저와 서버가 이러한 문자를 구조적 URL 구성 요소로 오해하게 됩니다.

RFC 3986 및 예약 문자

RFC 3986은 URL에서 문자를 두 가지 범주로 정의합니다. 예약되지 않은 문자 — 알파벳(A-Z, a-z), 숫자(0-9), 하이픈, 언더스코어, 마침표, 물결표(~) — 는 인코딩 없이 URL에 사용할 수 있습니다. 예약 문자: / ? # [ ] @ ! $ & ' ( ) * + , ; =와 같이 URI 구문에서 특별한 구조적 의미를 가집니다. 이러한 예약 문자를 URL 구성 요소(예: 쿼리 매개변수 값) 안에서 문자 그대로 사용해야 할 경우 퍼센트 인코딩해야 합니다. 인코딩 과정은 문자 UTF-8 표현의 각 바이트를 %HH 형식으로 변환하는데, HH는 해당 바이트의 16진수 값입니다. 악센트가 있는 문자나 이모지와 같은 다바이트 UTF-8 문자들은 여러 개의 퍼센트 인코딩 삼중항을 생성합니다.

웹 개발에서의 URL 인코딩

주요 프로그래밍 언어마다 URL 인코딩을 위한 내장 함수를 제공합니다. JavaScript에서는 encodeURIComponent()가 URI 구성 요소로 사용할 문자열을 인코딩하고, encodeURI()는 구조 문자을 유지하면서 전체 URI를 인코딩합니다. Python은 urllib.parse.quote()urllib.parse.urlencode()를 제공합니다. PHP에는 urlencode()rawurlencode()가 있습니다. 언제, 어떻게 URL 인코딩을 적용해야 하는지를 이해하는 것은 안전한 웹 애플리케이션 구축에 필수적이며, 인코딩이 잘못되면 버그의 흔한 원인이 되고, 사용자 입력을 정제 없이 URL에 직접 삽입할 경우 인젝션 취약점으로 이어질 수 있습니다.

자주 묻는 질문

URL 인코딩이란?
URL 인코딩(퍼센트 인코딩)은 URL에 허용되지 않는 문자를 퍼센트 기호(%)와 두 개의 16진수 숫자로 구성된 안전한 형식으로 변환합니다. 예를 들어, 공백은 %20으로, 앰퍼샌드는 %26으로 변환됩니다. 이는 RFC 3986에 정의되어 있으며 URL이 인터넷을 통해 올바르게 전송되도록 보장합니다.
문자열을 언제 URL 인코딩해야 하나요?
URL 쿼리 매개변수 값으로 사용할 모든 문자열을 인코딩하세요, 특히 공백, 앰퍼샌드, 등호, 물음표 또는 비ASCII 문자를 포함하는 경우에 그렇습니다. 일반적인 상황으로는 API 요청 URL을 구성할 때, 리디렉션 URL을 만들 때, GET 요청으로 폼 데이터를 전달할 때, 다른 URL 안에 URL을 삽입할 때 등이 있습니다.
encodeURI와 encodeURIComponent의 차이점은 무엇인가요?
encodeURI()는 콜론, 슬래시, 물음표, 앰퍼샌드와 같이 URL에서 특수 의미를 갖는 문자를 그대로 유지합니다. encodeURIComponent()는 알파벳, 숫자, 하이픈, 언더스코어, 마침표, 물결표를 제외한 모든 문자를 인코딩합니다. 쿼리 매개변수 값에는 encodeURIComponent()를 사용하고, 전체 URL을 구조를 유지하면서 인코딩할 때만 encodeURI()를 사용하세요. 이 도구는 encodeURIComponent()를 사용합니다.
인코딩 없이 URL에서 안전하게 사용할 수 있는 문자는 무엇인가요?
RFC 3986에 따르면, 인코딩이 전혀 필요 없는 예약되지 않은 문자는 다음과 같습니다: A-Z, a-z, 0-9, 하이픈(-), 언더스코어(_), 마침표(.), 물결표(~). 그 외의 모든 문자—공백, 앰퍼샌드, 등호, 슬래시 및 비ASCII 문자 등—는 쿼리 매개변수 값과 같은 URL 구성 요소에 사용할 때 퍼센트 인코딩해야 합니다.