#24 자바스크립트에서 URI 인코딩 할 때 encodeURI()와 encodeURIComponent() 함수 사용법

2023. 7. 19. 14:35자바스크립트

반응형

encodeURI()와 encodeURIComponent()

encodeURI() 함수는 URI에서 주소를 표시하는 특수문자를 제외하고, 모든 문자를 이스케이프 시퀀스

(escape sequences) 처리하여 부호화 함.

encodeURIComponent() 함수는 URI에서 encodeURI() 함수에서 부호화하지 않은 모든 문자

까지 포함하여 이스케이프 시퀀스 처리함.

 

 

※ URI 이란?

 

URI 정의 

URI는 특정 리소스를 식별하는 통합 자원 식별자(Uniform Resource Identifier)를 의미한다.

웹 기술에서 사용하는 논리적 또는 물리적 리소스를 식별하는 고유한 문자열 시퀀스다.

 

URI의 구조

일반 URI는 다음과 같은 형태를 나타낸다.

scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]
  1. scheme : 사용할 프로토콜을 뜻하며 웹에서는 http 또는 https를 사용
  2. user와 password : (서버에 있는) 데이터에 접근하기 위한 사용자의 이름과 비밀번호
  3. host와 port : 접근할 대상(서버)의 호스트명과 포트번호
  4. path : 접근할 대상(서버)의 경로에 대한 상세 정보
  5. query : 접근할 대상에 전달하는 추가적인 정보 (파라미터)
  6. fragment : 메인 리소스 내에 존재하는 서브 리소스에 접근할 때 이를 식별하기 위한 정보

 

문법

encodeURI(부호화할URI);

encodeURIComponent(부호화할URI);

 

예시

var uri = "https://www.google.com/search?q=서울&source=lmns";
var enc1 = encodeURI(uri);  
var enc2 = encodeURIComponent(uri);
document.write(enc1 + "<br>" + enc2);  

 

// enc1  출력 : https://www.google.com/search?q=%EC%84%9C%EC%9A%B8&source=lmns 

// enc1  출력 : https%3A%2F%2Fwww.google.com%2Fsearch%3Fq%3D%EC%84%9C%EC%9A%B8%26source%3Dlmns

 

반응형