콘솔
$ node url
new URL(): URL {
href: 'http://www.gilbut.co.kr/book/bookList.aspx?sercate 1 = 001001000 #anchor',
origin: 'http://www.gilbut.co.kr' ,
protocol: 'http:',
username: '',
password: '',
host: 'www.gilbut.co.kr',
hostname: 'www.gilbut.co.kr',
port: '',
pathname: '/book/bookList.aspx',
search: '?sercate 1 = 001001000 ',
searchParams: URLSearchParams { 'sercate 1 ' => '001001000 ' },
hash: '#anchor'
}
url.format(): http://www.gilbut.co.kr/book/bookList.aspx?sercate1=001001000#anchor
• url.format(객체): 분해되었던 url 객체를 다시 원래 상태로 조립합니다.
주소가 host 부분 없이 pathname 부분만 오는 경우(예시: /book/bookList.apsx), WHATWG 방식은 이 주소를 처리할 수 없습니다. 4장에서 서버를 만들 때 host 부분 없이 pathname만 오는 주소를 보게 될 것입니다. 이럴 때는 new URL('/book/bookList.apsx', 'https://www.gilbut.co.kr')처럼 두 번째 인수로 host를 적어줘야 합니다.
search 부분(쿼리스트링)은 보통 주소를 통해 데이터를 전달할 때 사용됩니다. search는 물음표(?)로 시작하고, 그 뒤에 키=값 형식으로 데이터를 전달합니다. 여러 키가 있을 경우에는 &로 구분합니다. search 부분을 다루기 위해 searchParams라는 특수한 객체가 생성됩니다.
http://www.gilbut.co.kr/?page=3&limit=10&category=nodejs&category=javascript와 같은 주소에서는 ?page=3&limit=10&category=nodejs&category=javascript 부분이 search입니다.
다음 예제를 통해 searchParams 객체를 알아봅시다.