본문 바로가기

Node

url 모듈

url 모듈이란?

 

  • 인터넷 주소를 쉽게 조작하도록 도와주는 모듈
  • url 처리에 크게 두 가지 방식이 있음(기존 노드 방식 vs WHATWG 방식)
  • 요즘은 WHATWG 방식만 사용함
  • WHATWG 방식 주소 체계는 다음과 같음

 

 

기본 URL

const myURL = new URL('http://188.168.1.202:9090/');

console.log('new URL():', myURL);

 

 

searchPararms

  • WHATWG 방식에서 쿼리스트링(search) 부분 처리를 도와주는 객체
const myUrl = new URL('http://www.amazon.co.kr/?page3&limit=10&category=nodejs&category=javascript');

console.log('searchParams:', myUrl.searchParams);
console.log('searchParams.getAll():', myUrl.searchParams.getAll('category'));
console.log('searchParams.get():', myUrl.searchParams.get('limit'));
console.log('searchParams.has():', myUrl.searchParams.has('page'));

console.log('searchParams.keys():', myUrl.searchParams.keys());
console.log('searchParams.values():', myUrl.searchParams.values());

myUrl.searchParams.append('filter','es3');
myUrl.searchParams.append('filter','es5');

console.log(myUrl.searchParams.getAll('filter'));

myUrl.searchParams.set('filter','es6');
console.log(myUrl.searchParams.getAll('filter'));

myUrl.searchParams.delete('filter');
console.log(myUrl.searchParams.getAll('filter'));

console.log('searchParams.toString():', myUrl.searchParams.toString());
myUrl.search = myUrl.searchParams.toString();

console.log('search:  ',myUrl.search);

 

 

  • getAll(키): 키에 해당하는 모든 값들을 가져옵니다. category 키에는 두 가지 값, 즉 nodejs와 javascript의 값이 들어 있습니다.
  • get(키): 키에 해당하는 첫 번째 값만 가져옵니다.
  • has(키): 해당 키가 있는지 없는지를 검사합니다.
  • keys(): searchParams의 모든 키를 반복기(iterator, ES2015 문법) 객체로 가져옵니다.
  • values(): searchParams의 모든 값을 반복기 객체로 가져옵니다.
  • append(키, 값): 해당 키를 추가합니다. 같은 키의 값이 있다면 유지하고 하나 더 추가합니다.
  • set(키, 값): append와 비슷하지만 같은 키의 값들을 모두 지우고 새로 추가합니다.
  • delete(키): 해당 키를 제거합니다.
  • toString(): 조작한 searchParams 객체를 다시 문자열로 만듭니다. 이 문자열을 search에 대입하면 주소 객체에 반영됩니다.

'Node' 카테고리의 다른 글

DNS 모듈  (0) 2024.01.30
노드 내장 모듈(os, path)  (0) 2024.01.29
노드 내장 객체 process  (0) 2024.01.29
노드 내장 객체(global, console, 타이머)  (0) 2024.01.28
다이나믹 임포트  (0) 2024.01.24