개발 이야기

웹페이지 변경 감지에서 오류와 변경을 구분하는 법

변경 감지 도구가 알림을 너무 자주 보내면 결국 아무도 보지 않게 됩니다. 알림의 상당수는 페이지가 바뀐 것이 아니라 그 순간 제대로 열리지 않았던 경우입니다.

먼저 응답부터 확인합니다

페이지를 가져올 때 받은 응답 코드가 200이 아니라면 내용을 비교하기 전에 멈춰야 합니다. 404나 500, 응답 시간 초과는 페이지의 변화가 아니라 접속 상태의 문제입니다. 이런 경우는 변경 알림이 아니라 접속 오류로 따로 기록합니다.

200인데도 오류인 경우

이런 화면은 평소 수집한 화면과 길이나 구조가 크게 다릅니다. 본문 길이가 갑자기 크게 줄었거나, 평소 있던 주요 영역이 통째로 사라졌다면 바로 알리지 말고 잠시 뒤 한 번 더 확인하는 편이 정확합니다.

늘 바뀌는 부분은 비교에서 뺍니다

현재 시각, 조회수, 추천 상품, 광고 영역처럼 들어갈 때마다 달라지는 부분은 비교할 필요가 없습니다. 지켜볼 영역을 가격표, 공지 목록, 약관 본문처럼 좁혀 두면 의미 있는 변화만 남습니다.

다시 확인한 뒤에 알립니다

차이를 발견하면 한 번 더 가져와서 같은 차이가 다시 보이는지 확인합니다. 두 번 모두 같은 차이가 보였을 때만 변경으로 판단하면, 일시적인 오류 때문에 생기는 잘못된 알림이 크게 줄어듭니다.

알림에는 무엇이 바뀌었는지를 담습니다

“페이지가 바뀌었습니다”라는 문장보다 “가격표 영역에서 숫자 2곳이 바뀌었습니다”라는 문장이 훨씬 쓸모 있습니다. 레바온의 웹 변경 모니터는 이전 화면과 현재 화면을 나란히 놓고 바뀐 영역을 표시하는 방식으로 이 원칙을 따릅니다.