URL 인코딩(퍼센트 인코딩이라고도 함)은 특수 문자를 URL에서 안전하게 사용할 수 있는 형식으로 변환하는 프로세스입니다. URL에 허용되지 않는 문자(공백, 구두점, 비 ASCII 문자 등)를 퍼센트 기호(%)와 그 뒤에 해당 문자의 ASCII 코드를 나타내는 두 개의 16진수로 대체합니다.
예를 들어, 공백은 %20으로 인코딩되고 콜론(:)은 %3A로 인코딩될 수 있습니다.
URL의 특수 문자(공백, 물음표, 슬래시, 앰퍼샌드 등)가 URL 구조를 손상시키지 않고 올바르게 표현되도록 합니다.
ASCII만 지원하는 시스템과의 호환성을 보장하기 위해 비 ASCII 문자(악센트 부호가 있는 문자 또는 라틴 알파벳이 아닌 문자 등)를 인코딩합니다.
URL의 쿼리 매개변수를 인코딩하여 웹 서버와 브라우저에서 올바르게 구문 분석되도록 합니다.
잠재적으로 위험한 문자를 인코딩하여 URL의 악의적인 데이터 조작을 방지합니다.
URL 인코딩은 대부분의 프로그래밍 언어에서 내장 함수를 사용하여 수행됩니다.
JavaScript에서는 encodeURIComponent() 또는 encodeURI()를 사용할 수 있습니다.
Python에서는 urllib.parse.quote() 또는 urllib.parse.quote_plus()를 사용할 수 있습니다.
URL 인코딩은 다음과 같은 문자를 대체합니다. URL에 공백, &, =, # 등의 특수 문자와 해당 인코딩 값을 사용하는 것은 안전하지 않습니다.
예:
encodeURIComponent("Hello World!")는 "Hello%20World%21"을 반환합니다.
HTTP GET 요청과 같이 URL에 쿼리 매개변수 또는 양식 데이터를 인코딩하는 경우
공백, 슬래시 또는 ASCII가 아닌 문자와 같은 특수 문자를 URL에 포함하는 경우, 특히 API 또는 웹 서비스와 상호 작용할 때
URL을 수동으로 구성하고 =, &, ?와 같은 문자가 URL 구조에 영향을 미치지 않도록 합니다.
읽기 쉽고 안전한 형식으로 공유해야 하는 짧은 URL 또는 인코딩된 링크를 만들 때.