Javascript로 리소스 체크
· 약 4분
페이지나 리소스가 있는지 체크하는 방법은 서버사이드에선 엄청 간단하다. 단 두 가지 기능만 있으면 해결된다. 심지어 certinfo 값 안에선 인증서 만료일까지 확인할 수 있다.
- HEAD 메소드
- CURL
하지만 수 백개의 리소스를 동시에 체크해야할 경우는 어떨까? 리소스가 있는 서버에선 DDoS 공격으로 오인할 수 있고, 심지어 내 서버가 차단될 가능성도 있다.
클라이언트에서 리소스를 확인할 수 있는 방법이 있을까?
삽질
ajax
- 당연하지만 크로스도메인 XHR 은 CORS 가 없는 이상 막힌다.
- HEAD 메소드도 똑같다.
- fetch 도 똑같다.
script
- script tag 를 DOM 에 렌더링하는 것이므로 XSS 공격이 가능하다.
- 스크립트 태그에 한해서 onLoad 와 onError 로 체크가 가능하다.
image
- 이미지 태그에 한해서 onLoad 와 onError 로 체크가 가능하다.