2010-05-01 3 views
2

HTTP 리디렉션 시간이 초과 될 때 대체 URL을 제공하는 방법이 있습니까? 내가 성취하고자하는 것은 원래 URL을 쳤을 때 HTTP URL 리디렉션 (300, 307?)으로 응답하여 브라우저에 새 URL과 대체 URL을 제공하는 경우 새로운 URL이 시간 초과되는 것입니다.HTTP 리디렉션 대체물

나는 또한이 클라이언트 측을 고려하고 있었지만 속도, 클라이언트 지원 측면에서 볼 때 매우 효과적이지는 않습니다. 내가 뭘 할 것입니다 아마 각 서버에 작은 1x1px 이미지를 가지고 그것을로드하려고 다음 자바 스크립트와 서버가 최대 리디렉션 거기에 확인하십시오.

다른 아이디어? 감사합니다

답변

2

나는 이것이 JavaScript를 통해서만 이루어질 수 있다고 생각합니다. 리디렉션을 보내기 전에 빠른 서버 측 테스트를 수행 할 수는 있지만 신뢰할 수는 없습니다. 특히 서버가 동일한 서버 팜에있는 경우 더욱 그렇습니다.

가장 신뢰할 수있는 것은 JavaScript를 가지고 있어야하며 서버에 빠른 Ajax 요청 (HEAD 만)을 보내고 성공하면 리디렉션해야합니다. 실패하면 다음 서버를 시도해보십시오.

정말 필요한가요? 대상 서버에 프로그래밍 방식으로 대응해야하는 많은 중단이있는 경우 서버를 재배치 (또는 중단을 해결하는 데 필요한 모든 작업) 할 가치가 있습니다.

+0

실제로이 작업을 수행 한 이유는 조금 다릅니다. 나는 서버 중단을 막지 않고 "새로운"것을하려고 노력했다. 자바 스크립트보다 다른 방법이 없다면 성능상의 이유로 성능 향상에 도움이되지 않을 것입니다. 고마워요. 어쨌든 –

+0

@Ondrej 오신 것을 환영합니다. 리디렉션 대상을 미리 아는 경우 수행 할 수있는 작업은 백그라운드 프로세스에서 자주 폴링/핑하고 대안 대상과 함께 일종의 블랙리스트를 유지 관리하는 것입니다. 그렇게하면 도달 가능성을 확인하는 행위는 클라이언트의 요청과는 독립적입니다. 어쩌면 그것은 옵션입니다 (당신이하고 싶은 것에 따라). –