2017-12-04 6 views
0

PHP 웹 응용 프로그램에서 header ('Location : http://somewhere.com')를 사용하여 리디렉션하지만 die()/exit()를하지 않으면 헤더 함수 다음의 코드가 항상 실행되고 표시됩니다. 내가 http.Redirect (w, r, "/ somewhere", 302) Go를 사용할 때 같은 일이 발생하는지 알고 싶습니다. 그리고 만약 그렇다면 어떻게 그것을 피할 수 있습니다.http 리디렉션을 안전하게 수행하십시오

답변

2

http.Redirect 함수는 완전한 응답을 작성합니다. 이 프로그램은 http.Redirect를 호출 한 후에도 계속 실행됩니다. http.Redirect에 대한 호출이 함수의 마지막 행이 아니라면 응용 프로그램이 호출 직후 처리기에서 반환하는 것이 일반적입니다.

func serveFoo(w http.ResponseWriter, r *http.Request) { 
    ... 
     http.Redirect(w, r, "/somewhere", 302) 
     return 
    ... 

} 
관련 문제