Node.js에서 URL 인코딩
이 기사에서는 Node.js에서 URL 인코딩을 수행하는 방법에 대해 알아봅니다.
Node.js의 URI 인코딩
JavaScript는 encodeURIComponent()
라는 통합 URI 인코딩 기능을 제공합니다. 이 선택은 개인의 UTF-8
인코딩을 나타내는 1개, 2개, 3개 또는 최대 4개의 브레이크 아웃 시퀀스로 엄청난 문자의 모든 예를 변경하여 URI를 인코딩합니다.
Node.js를 포함한 모든 클라이언트 측 또는 서버 측 애플리케이션에서 이 기능을 사용할 수 있습니다.
통사론:
encodeURIComponent(uriComponent)
uriComponent
는 숫자, 문자열, 부울, 정의되지 않음, null 또는 모든 객체가 될 수 있는 필수 매개변수입니다.
인코딩하기 전에 uriComponent
는 문자열로 변환됩니다. URI 요소로 인코딩된 제공된 uriComponent
를 나타내는 출력으로 새 문자열이 반환됩니다.
쿼리 문자열 매개 변수를 통해 서버에 제출된 양식에서 사람이 입력한 필드에 encodeURIComponent()
를 사용합니다. 이렇게 하면 개별 HTML
요소 또는 인코딩/디코딩해야 하는 기타 문자에 대한 데이터 입력 중에 실수로 생성된 인코딩 및 기호가 제거됩니다.
encodeURI
와 encodeURIComponent
의 유일한 차이점은 encodeURIComponent
는 전체 문자열을 인코딩하는 반면 encodeURI
는 프로토콜 접두사("http://"
)와 도메인 이름을 무시한다는 것입니다.
코드 예:
console.log(encodeURIComponent(
'select * from Users where email = "example@domain.com"'));
console.log(encodeURIComponent('http://exampleDomain.com/?param1=hello world'));
console.log(
encodeURI('select * from Users where email = "example@domain.com"'));
console.log(encodeURI('http://exampleDomain.com/?param1=hello world'));
위의 예에서 MySQL 데이터베이스 쿼리와 URL 쿼리는 encodeURIComponent()
및 encodeURI()
함수를 사용하여 인코딩됩니다. encodeURIComponent()
와 encodeURI()
의 주요 차이점은 HTTP 도메인이 이전 쿼리 매개변수에서만 인코딩되고 =
및 @
문자는 encodeURI()에서 인코딩되지 않는다는 것입니다.
.
Node.js를 지원하는 컴파일러에서 위의 코드를 실행해 봅니다. 아래 결과가 표시됩니다.
출력:
select%20*%20from%20Users%20where%20email%20%3D%20%22example%40domain.com%22
http%3A%2F%2FexampleDomain.com%2F%3Fparam1%3Dhello%20world
select%20*%20from%20Users%20where%20email%20=%20%22example@domain.com%22
http://exampleDomain.com/?param1=hello%20world
Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.
LinkedIn