본문 바로가기
이론 공부

URL 인코딩

by 우주속공간 2024. 1. 22.

 

URL 인코딩이란?


URL에서 URL로 사용할 수 없는 문자 혹은 URL로 사용할 수 있지만 의미가 왜곡될 수 있는 문자들을 '%XX'의 형태로 변환하는 것.

 

↔ URL 디코딩 : URL을 다시 원래의 형태로 되돌리는 것

 

 

필요한 이유?


 

1️⃣ 인터넷을 통해 전송할 수 있는 문자는 오로지 ASCII 아스키 문자이기 때문이다. 따라서 ASCII 문자가 아닌 문자는 인터넷으로 전송할 수 있는 형태로 변환해야한다.

 

  • URL에 아스키코드외의 문자가 포함될 경우 유효한 아스키코드 형식으로 변환해야한다.

예) id=?hong, pw=&zone의 데이터를 보내기 위해서 id=%3Fhong&pw=%26zone 으로 전송되어야 서버에서도 정상적으로 데이터를 해석하여 처리할 수 있다.

 

  • 한글은 ASCII문자가 아니기때문에 변환이 필요하다. (한글은 UTF-8이라는 인코딩 방식 사용한다)

※  ASCII란?  미국 정보교환 표준 코드. 영문 알파벳을 사용하는 문자 인코딩. 영어를 제외한 다른 언어의 문자들은 표현할 수 없다.

 

 

2️⃣ ASCII 문자라 하더라도 그 문자 자체의 의미를 전달하고 싶은 경우에는 인코딩처리가 필요하기 때문이다.

 

  • 대표적인 예시로는 '/', '&', '=' 등
  • '/'은 URL의 각 레벨을 구분해주는 역할, '&'는 쿼리 파라미터들을 구분해주는 역할 , '='은 쿼리 파리미터의 값을 지정해주는 역할

⇒ URL에서 특별한 의미를 가지고 있기때문에 문자 그대로의 의미를 전달하고자한다면 인코딩이 필요하다.

 

 

예)  만약 ‘고구마&김치'를 보내고 싶은 경우 인코딩 처리를 안해주면 쿼리 파라미터 구분자로 인식되어 왜곡된 의미로 전달된다. 따라서 ‘&’를 ‘%26’으로 인코딩하여 문자 그대로의 ‘&’을 전달하고한다는 것을 나타내야한다.

 

 

※ 형식 : URL 인코딩이 필요한 모든 문자는 '%'문자 및 UTF-8 문자에 해당하는 2자리 16진수 값을 사용하여 인코딩됨. 

 

예) %E4%B8%8A%E6%B5%B7%2B%E4%B8%AD%E5%9C%8B

 

 

 

참고 사이트


 

'이론 공부' 카테고리의 다른 글

Git 커밋컨벤션이란?  (0) 2024.04.03
버전관리 도구(Version Control)란?  (0) 2024.04.03
웹 실시간 통신 방법(웹소켓, polling,long polling, streaming)  (3) 2024.01.25
multipart/form-data란?  (1) 2024.01.22
React Query  (0) 2024.01.22