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 |