웹 주소 한글 이름 깨지는 이유, 퍼센트 인코딩 / URL 인코딩, 디코딩

한글로 되어있는 웹 주소를 복사해서 다른 곳에 붙여 넣으면 한글로 나오지 않고 %ec%95%84%ec%9d” 이런 퍼센트 형식으로 깨져 나옵니다. 이거 왜 그럴까요? 오늘의 이야기는 퍼센트 인코딩 혹은 URL 인코딩 이라 불리는 것에 대한 내용 입니다.

URL 인코딩 / 디코딩

아래는 제 블로그의 한 포스팅 주소 입니다.

본래 주소 :
https://www.sabujak.org/2024/06/03/아이오닉5-에어컨-냄새-제거-셀프-에바-크리닝-청소/

변형된 주소 :
https://www.sabujak.org/2024/06/03/%ec%95%84%ec%9d%b4%ec%98%a4%eb%8b%895-%ec%97%90%ec%96%b4%ec%bb%a8-%eb%83%84%ec%83%88-%ec%a0%9c%ea%b1%b0-%ec%85%80%ed%94%84-%ec%97%90%eb%b0%94-%ed%81%ac%eb%a6%ac%eb%8b%9d-%ec%b2%ad%ec%86%8c/

이렇게 퍼센트 형식으로 깨져 나오는 이유는 다음과 같습니다.

첫 번째 이유는 인터넷 웹에서 주고 받는 메세지가 한글 자채를 전송하지 못하기 때문입니다.

웹 명령 전송에 있어 주고 받는 대화는 ASCII 방식의 문자만 가능하며 이 ASCII 문자는 한글 표현이 안됩니다. 그래서 한글 주소를 표현하기 위해 약속된 규칙에 따라서 한글을 ASCII 코드 형식으로 변환하여 전송 해야 합니다.

두번째 이유는 코딩에 사용되는 문자가 예약된 의미를 가지고 있는 경우 해당 문자를 정상적으로 사용할 수 있게 하기 위해서 입니다.

예를 들면 “/’, ‘&’, ‘=’ 등의 문자나 띄어쓰기 등은 웹 코드에 사용되기 때문에 해당 문자들을 그대로 사용하게 되면 본래의 의미가 왜곡되게 됩니다. 따라서 사용자의 의도대로 표현 하려면 “URL 인코딩”을 통해 다른 약속된 문자로 바꾼 후 전송 해야 합니다.

여담 : 왜 한글 주소 이름을 사용하나

특수 문자들은 그렇다 칩시다. 그렇다면 왜 사람들은 웹 주소에 ASCII 에서 표현할 수 있는 문자 내에서의 깔끔한 주소를 사용하지 않고 URL 인코딩과 디코딩이 필요한 한글 포함 주소를 사용하는 것일까요.

그것은 구글을 포함한 웹 검색 엔진에서 웹 페이지의 핵심 단어가 들어간 제목의 게시물을 더 선호하고 상위 검색에 노출 시키기는 경향이 있기 때문입니다.

모든 웹 사이트 페이지들이 그런 것은 아니지만 광고 기반의 웹페이지나 블로그를 운영하는 사람에게 있어 이는 매우 중요한 요소 입니다.

URL 인코딩 / 디코딩 할 수 있는 툴

URL 인코딩 되어 있는 주소는 어떤 문자로 구성되어 있는지 직관적으로 확인할 수 없는 단점이 있습니다. 그 내용이 어떤 것인지 궁금하다면 URL인코딩 되어있는 글자를 디코딩  해서 볼 수밖에 없습니다.

URL 디코딩 하는 방법은 어렵지 않습니다. 당장 구글에서 “URL 인코딩/디코딩” 이라는 이름으로 검색하면 웹에서 바로 변환 할 수 있는 사이트들은 넘치고 넘쳤습니다.

이 중 아무 사이트에나 들어가 인코딩 혹은 디코딩을 진행하면 됩니다. 결과 값이 정해져 있는 만큼 성능에 큰 차이는 없습니다. 다만 온라인 서버 위치나 프로세싱 로직에 따른 약간의 변환 속도 차이는 있습니다

아래는 예시의 의미로 링크 하나를 남겨 드리도록 하겠습니다.

▶ URL 인코딩 / 디코딩 (퍼센트 인코딩) 온라인 :
https://www.convertstring.com/ko/EncodeDecode/UrlDecode#

오늘은 여기까지 입니다.

수고 많으셨습니다.



Leave a Comment