이전 생활코딩 node.js 강의에서 url.parse 가 더이상 사용되지 않는 기술로 사장되어
new URL 로 사용하게 됐다고 글을 썼었다. 아래는 그 글이다
https://tokkic.tistory.com/216
그런데 강의를 들으며 배우던 중 이상한 점을 알게되었다
터미널로 node.js 를 실행하고 페이지의 링크를 클릭하여 url 의 쿼리를 추가하여 새로 전체 페이지를
갱신하지 않아도 일부만 불러와 갱신하는 법을 배우는 중에 console.log(queryData)를 하니
아래처럼 터미널에 로그가 한번이 아닌 2번이 찍혔다
URL {
href: 'http://localhost:3000/?id=HTML',
origin: 'http://localhost:3000',
protocol: 'http:',
username: '',
password: '',
host: 'localhost:3000',
hostname: 'localhost',
port: '3000',
pathname: '/',
search: '?id=HTML',
searchParams: URLSearchParams { 'id' => 'HTML' },
hash: ''
}
URL { // 아니 왜 로그에 찍히세요?
href: 'http://localhost:3000/favicon.ico', // 넌 누구니?
origin: 'http://localhost:3000',
protocol: 'http:',
username: '',
password: '',
host: 'localhost:3000',
hostname: 'localhost',
port: '3000',
pathname: '/favicon.ico', // 누구세요? 파비콘
search: '', // 쿼리 부분이 비었네?
searchParams: URLSearchParams {}, // id 가진 부분도 비었네?
hash: ''
}
왜이런지, 파비콘은 뭔지, 스택 오버플로우의 글들을 찾아보니...
파비콘은 다음과 같이 브라우저의 탭에서 보여주는 사이트의 아이콘을 말한다고 한다
그래 파비콘이 너였구나
근데 2번이나 로그에 찍힌건 링크 한번에 내가 2번 요청을 했다는 건데 뭐지?
그 답은 스택 오버플로우에서 답을 찾을 수 있었다
아하 그러니까 내가 요청한 쿼리 외에도 /favicon.ico 을 받아오려고 자동으로 요청을 하나 더 하는 거였다!
파비콘을 쓰지 않아서 웹브라우저의 파비콘 요청을 막으려면 막을 수 있다지만
어떤 예외 상황이 생길지 모르므로 막기보다는 0바이트의 파비콘 파일을 만들어 빈 파비콘을 불러 쓰게하는것이
예상치 못한 에러를 막을 수 있다고 한다
'Node.js > 이론 및 용어' 카테고리의 다른 글
path 모듈로 상대 경로 제거를 이용한 보안 방법 (0) | 2022.09.02 |
---|---|
생활코딩 node.js 32강에 querystring 모듈을 대체하기 feat.URLSearchParam (0) | 2022.08.23 |
생활코딩 node.js 10강 에러 원인, 대처법 (0) | 2022.08.11 |
Node.js 란? (0) | 2022.08.11 |
댓글