2013-08-22 2 views
0

크롤러에서 작업하고 있으며 서버에서 보낸 페이지의 나이를 결정해야합니다.Http 페이지가 얼마나 오래된 지 결정합니다.

지난주의 페이지 만 구문 분석하기 때문에이 작업을 수행해야합니다.

HTTP 헤더에 대한 정보를 찾으려고했지만 페이지 생성 날짜에 대한 정보를 찾을 수 없습니다.

답변

0

응답 헤더에서 "만료"를 확인하십시오.

사실, 요청한 모든 페이지 또는 리소스에는이 정보가 있어야합니다.

+0

변경된 페이지가 아닌 페이지가 오래되거나 변경되어야한다고 명시되어 있습니다. – hexafraction

+0

그렇다면 서버가 어디에서 페이지가 생성되었거나 생성되었는지 알려주는 방법은 없다고 생각합니다. 그런 정보는 없습니다. –

0

일반적으로 HTTP 헤더는이 정보를 전달하지 않습니다. Age은 프록시 캐시에서 문서의 유효 기간 만 전달합니다. 이는 원하는 것이 아닙니다.

그러나 실제 연령은 아니지만 Last-Modified으로 마지막 수정 날짜를 가져올 수 있습니다.

0

서버가이 정보를 제공하도록 강요받지 못했기 때문에 매주 스캐닝을하고 페이지가 변경되었는지를 확인할 수있는 유일한 신뢰할 수있는 방법이 있습니다. 이것은 물론 모든 페이지를 저장해야합니다.

페이지를 저장하는 것은 체크섬 만 저장하여 구현할 수 있습니다. 메모리를 절약하려면이 체크섬을 지시 된 비순환 식 워드 그래프에 저장할 수 있습니다.

이 문제는 동적 데이터가 거의없는 모든 페이지를 식별 할 수 없다는 것입니다 (동적 인 경우 광고가 변경 될 수 있음).

Last-Modified와 캐싱의 조합이 도움이 될 수 있습니다.

관련 문제