2012-12-12 5 views
0

예, 누군가에게 자신의 페이지를 리디렉션하는 방법을 가르치고있을 때 이것은 무작위로 마음에 왔습니다. 주된 차이점이 무엇인지 잘 모르겠습니다 ... 다른 것을 사용하는 이유가 있습니까? PHP로 코딩하지 않는다면 자바 스크립트 window.location을 리디렉션해야하지만 PHP로 개발하는 경우을 header 이상 사용 하시겠습니까? 나는 그들이 매우 유사한 기능을 가지고 있지만 아마도 나는 뭔가를 놓치고 있다고 느낍니다.PHP 헤더와 Javascript window.location의 차이점은 무엇입니까?

+2

[PHP 리디렉션 대 JavaScript 리디렉션] (http://www.satya-weblog.com/2009/10/php-redirect-vs-javascript-redirect.html) –

+0

@ ZoltanToth 그 기사에 대해 정말 고마워요! 내 질문에 정확하게 대답했다. – aug

답변

6

브라우저는 헤더 리다이렉션을 바로 처리하지만, 자바 스크립트 리디렉션은 페이지가로드 될 때까지 (또는 적어도 자바 스크립트를 실행하기에 충분할 때까지) 실행되지 않습니다. 또한 브라우저 자체 대신 리디렉션을 실행하는 자바 스크립트 엔진이 될 것입니다.

헤더를 통해 수행하는 것이 더 효율적입니다. (약간 어쨌든 ...)

+0

바로 리디렉션을 처리하고 싶지 않은 이유가 있습니까? 당신이 자동 리다이렉션을 할 것이고, 당신의 답을 가지고 간다면, 항상 헤더가 더 좋은 선택이 될 수 없을 것이라고 생각합니다. 아니면'window.location'을 더 매력적으로 만들 리디렉션을 원할 때가 있습니까? – aug

+0

'window.location'는 리다이렉트가 페이지의 액티비티에 따라 실행될 때 유용합니다. 원하는 모든 것이 "즉시 리디렉션"이면 헤더를 사용하십시오. –

+0

Ahh 많이 고마워. :) – aug

1

PHP의 서버 쪽 헤더는 Location 만 다른 헤더를 보낼 수 있습니다. Javascripts 클라이언트 측 window.location은 해시를 포함하여 현재 URL을 읽고, 검사하고 변경하는 데 사용할 수 있습니다. 실제로, 그들은 아주 다른 것들을 할 수 있고, 그들의 에 대해서만 중복됩니다 모두 리디렉션 수 있습니다.