URL 인코딩에 대한 간략한 소개

일반적으로 "웹 사이트 주소"라고도하는 웹 사이트의 URL 은 특정 웹 사이트에 액세스하기 위해 누군가가 웹 브라우저에 입력하는 것입니다. URL을 통해 정보를 전달할 때 특정 허용 된 문자 만 사용하는지 확인해야합니다. 허용되는 문자에는 알파벳 문자, 숫자 및 URL 문자열에 의미가있는 몇 가지 특수 문자가 포함됩니다. URL에 추가해야하는 다른 문자는 브라우저의 여행 중에 문제가되지 않도록 찾고 인코딩 된 페이지 및 자원을 찾습니다.

URL 인코딩

URL 문자열에서 가장 일반적으로 인코딩 된 문자는 문자입니다. 이 문자는 URL에 더하기 기호 (+)가 표시 될 때마다 표시됩니다. 이것은 공백 문자를 나타냅니다. 더하기 기호는 URL의 해당 공간을 나타내는 특수 문자 역할을합니다. 가장 보편적 인 방법은 제목을 포함하는 mailto 링크에있는 것입니다. 제목에 공백을 넣으려면 공백으로 인코딩 할 수 있습니다.

mailto : email? subject = this + is + my + subject

인코딩 텍스트의이 비트는 "this is my subject"라는 제목을 전송합니다. 인코딩에서 "+"문자는 브라우저에서 렌더링 될 때 실제 로 대체됩니다.

URL을 인코딩하려면 특수 문자를 해당 인코딩 문자열로 바꾸기 만하면됩니다. 이것은 거의 항상 % 문자로 시작됩니다.

URL 인코딩

엄밀히 말하면 URL에있는 특수 문자는 항상 인코딩해야합니다. 한 가지 중요한 점은,이 모든 이야기 나 인코딩으로 인해 다소 겁이 났을 때 일반적으로 양식 데이터를 제외하고는 정상적인 컨텍스트 외부의 URL에서 특수 문자를 찾지 못한다는 것입니다.

대부분의 URL은 항상 허용되는 단순한 문자를 사용하므로 전혀 인코딩 할 필요가 없습니다.

GET 메소드를 사용하여 CGI 스크립트에 데이터를 제출하는 경우 URL을 통해 전송 될 때 데이터를 인코딩해야합니다. 예를 들어 RSS 피드 를 홍보하기위한 링크를 작성하는 경우 URL을 인코딩하여 스크립트 URL에 추가해야 인코딩 할 수 있습니다.

무엇이 인코딩되어야 하는가?

영문자가 아닌 문자, 숫자 또는 일반 문맥 외에서 사용되는 특수 문자는 페이지에 인코딩되어야합니다. 다음은 URL에서 볼 수있는 공통 문자 및 해당 인코딩에 대한 표입니다.

예약 된 문자 URL 인코딩

캐릭터 URL의 목적 부호화
: 주소와 별도의 프로토콜 (http) % 3B
/ 별도의 도메인 및 디렉토리 % 2F
# 별도의 앵커 % 23
? 별도의 쿼리 문자열 % 3F
& 별도의 쿼리 요소 % 24
@ 도메인과 사용자 이름 및 비밀번호 구분 % 40
% 인코딩 된 문자를 나타냅니다. % 25
+ 공백을 나타냅니다. % 2B
URL에 권장되지 않음 % 20 또는 +

이러한 인코딩 된 예제는 HTML 특수 문자로 찾은 것과 다릅니다. 예를 들어, 앰퍼샌드 (&) 문자로 URL을 인코딩해야한다면 위의 표에 표시된대로 % 24를 사용하십시오. HTML을 작성하고 텍스트에 앰퍼샌드를 추가하려면 % 24을 사용할 수 없습니다. 대신에 "& amp;"; 또는 "& # 38;"이며 둘 다 렌더링 될 때 HTML 페이지에 &를 씁니다. 처음에는 혼란스러워 보일지 모르겠지만 기본적으로 HTML 코드의 일부인 페이지 자체에 나타나는 텍스트와 별도의 엔터티이며 따라서 다른 규칙의 적용을받는 URL 문자열의 차이점입니다.

"&"문자뿐만 아니라 많은 다른 문자가 각각에 나타날 수 있다는 사실은 두 문자의 차이점을 혼동해서는 안됩니다.

Jennifer Krynin의 원본 기사입니다. 제레미 지라드 편집.