“게시 주셔서 감사합니다. 리디렉션되는 동안 기다리십시오.” 필요합니까?


11

게시 해 주셔서 감사합니다. 리디렉션되는 동안 기다리십시오.

자동으로 리디렉션되지 않으면 여기를 클릭하십시오.

특히 90 년대 또는 2000 년대 초에 웹을 사용할 때 이와 같은 메시지에 익숙 할 것입니다. 내 프로젝트에서, 예를 들어 사용자가 등록하거나 무언가를 게시 한 후 리디렉션되는 동안 사용자가 2-3 초 동안 기다리게하는 이유를 찾지 못했습니다. 그러나이 패턴은 PHPBB와 같은 인기있는 웹 소프트웨어에서도 항상 나타납니다.

내 질문은, 리디렉션이 여전히 현대 (아약시) 웹 개발에 필요한 장소 / 필요가 있습니까? 이와 같이 리디렉션을 절대적으로 요구하여 궁극적으로 사용자를 성가 시게하는 상황이 있습니까? 기술적 인 이유는 무엇 입니까? 리디렉션이 필요한 경우 즉시 리디렉션하지 않는 이유는 무엇입니까?


그냥 추측 : 어쩌면 그것은 스크립트 작업이나 봇을 막는 것과 관련이 있습니까? 그래도 더 좋은 방법이 있습니다 (Captchas 등).

사용자 요청으로 인해 즉시 리디렉션되도록 PHPBB 설치를 변경했습니다. 몇 줄만 변경하면 완벽하게 작동합니다.
André Paramés 2016 년

@Martin : 어쩌면 모든 브라우저와 같은 리디렉션을 따를 수 있기 때문에 (특히 PHPBB와 같이 Location 헤더가있는 경우) 완전히 잘못 안내됩니다.
André Paramés 2016 년

답변:


3

이와 같이 리디렉션을 절대적으로 요구하여 궁극적으로 사용자를 성가 시게하는 상황이 있습니까? 기술적 인 이유는 무엇입니까?

가장 일반적인 의도 (일반적으로 데이터베이스에 새 레코드를 작성하고 지불 트랜잭션을 처리하는 요청의 경우)는 사용자가 "새로 고침"단추를 누르고 요청을 다시 게시해야하는 중복 요청을 방지하는 것입니다.

리디렉션은 여전히 ​​현대 (아약시) 웹 개발에 필요한 장소 /가 있습니까?

자바 스크립트를 사용하지 않도록 설정 한 사용자에게 요청이 무시되거나 잘못 처리 될 것임을 알리는 경우 ( "두 번 이상 제출하지 마십시오!" 메시지가 떠오를 것입니다.) JS를 사용하지 않도록 설정 한 사용자는 결제 부서에서 때때로 이중 청구 불만이 표시되지 않도록하기 때문에 많은 인터페이스에서 일부 리디렉션이 계속 구현됩니다.

리디렉션이 필요한 경우 즉시 리디렉션하지 않는 이유는 무엇입니까?

여러 양식 제출을 방지하는 것이 목표 인 경우 리디렉션 즉시 발행 해야 합니다. 시간이 초과 된 리디렉션의 경우 서버가 느리거나 세션 기반 잠금을 고려하지 않았거나 시도하려는 경우 좀 난해한 문제를 해결하십시오.


"중복 요청 방지"--- 자동 위치 재지 정도 마찬가지입니다. 때문에, 말아야 --- "목표는 여러 형태의 제출을 방지하는 경우 리디렉션이 즉시 실행해야합니다" F5Stand by페이지 의지도 다시 전송 후 원인.
zerkms

@zerkms-응답 본문을 보내기 전에 새 위치로 리디렉션하도록 제안합니다 (예 : "대기"페이지 없음)
danlefree

5

우선 Location 헤더가 주어지면 모든 브라우저가 리디렉션되는 것은 아닙니다. 둘째, 모든 브라우저가 비활성화되어 있기 때문에 Javascript로 리디렉션하지는 않습니다. 셋째, 모든 브라우저가 meta-refresh 태그를 지원하지는 않습니다. 이러한 경우는 매우 드물기 때문에 중요하지 않습니다. 그러나 그렇게하더라도 내가 생각하는 모든 방법을 겹칠 수 있습니다.

PHPBB 페이지가하는 방식 (5 초간 대기)은 전혀 필요하지 않습니다. 즉시 리디렉션해야하며 그렇지 않은 경우 헤더를 보낸 후 HTML 페이지 (메타 새로 고침 및 Javascript가 있고 링크가있는 텍스트)가 표시됩니다. 제대로 프로그래밍 된 경우이 페이지가 일반 브라우저에서 실제로 표시 될 가능성은 거의 없습니다.


"먼저, Location 헤더가 주어지면 모든 브라우저가 리디렉션되지는 않습니다"[인용 필요]
Jon Cram

@Jon Cram : 기술적으로 웹 프록시 및 확장 기능이 위치 헤더를 방해 할 수 있습니다. 브라우저는 비표준 사용자 에이전트 일 수도 있으며 사이트 소유자는 사용자가 쉽게 따라갈 수있는 것을 제시하여 오프 사이트 링크를 따라가는 것을 권장하지 않습니다.
Brian Lyttle

PHP header()함수 호출 이 실제로 무시 될 수 있다는 것을 올바르게 읽고 있습니까? 이것은 나를 크게 걱정합니다. HTML 및 JS 리디렉션 방법과 그 안정성이 떨어지는 방법에 대해 이미 알고 있었지만 실제로 서버 측에서 보낸 HTTP 헤더를 무시할 수 있다고 생각한 적이 없습니다.
Lotus Notes

1
@Lotus 많은 사람들이 더 큰 문제인 헤더를 올바르게 보내지 않습니다. 많은 사람들이하지 않는 3xx 코드를 포함시켜야합니다. 브라우저는 원할 경우이 요청을 무시할 수 있습니다 (그리고 일부 클라이언트는 그렇지 않지만 메인 스트림 브라우저는 아닙니다)
Joe Phillips

Location 헤더는 절대 URL 을 보내야 하지만, 종종 무시됩니다.
Piskvor는 건물을

3

항상 올바른 HTTP 상태 코드 (예 : 301 또는 302- http ://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html)를 사용하여 응답 헤더에 리디렉션을 보내면 즉시 리디렉션됩니다. 누군가가 "리디렉션 된 페이지를 기다리는 동안 기다려주십시오"라는 메시지를 표시하는 좋은 기술적 이유를 알지 못합니다.


1

이 작업을 수행하는 주된 이유는 리디렉션 된 사이트에 레코드가 만들어지기 때문입니다. 이 페이지는 Google 웹 로그 분석을로드 할 수 있지만 데이터는 웹 로그에있을 것입니다.

HTTP 헤더를 사용하여 리디렉션을 보내면 브라우저는 원래 사이트에 대한 추가 요청없이 다른 사이트로 이동합니다. 자바 스크립트 기반 추적은 이러한 이탈을 포착 할 수 있지만 사이트 소유자는 추적 할 수있는 더 나은 기회를 제공합니다.

경우에 따라 리디렉션되는 것보다 사용자에게 고지 사항을 제공 할 수도 있습니다. 이는 규제 산업에서 일하는 웹 마스터에게 특히 중요합니다. 은행이나 제약과 같은 규제 된 산업에서 일하지 않으면 이러한 요구 사항에 대해 크게 감사하지 않을 것입니다.


요약하면이 패턴은 웹 사이트에서 사용자의 작업을 추적 해야하는 경우에만 필요합니까?
Lotus Notes

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.