URL에 적어서 함수에게
302
헤더를 반환한다.302 설명은 밑에서!
보통/a
주소에서 데이터를 처리하는 과정만 거치고,
결과를/b
주소에서 보여주거나 할 때 응용된다.
템플릿(.html)과 함께
200
을 반환한다.
ex) 도메인주소 : www.test.com
# ex) 1번 함수 @bp.route('/') def index(): return redirect('save') # ex) 2번 함수 @bp.route('/save/') def save(): render_template('save.html')
도메인 주소에 1번 함수의
URL('/')
을 추가한www.test.com/
입력 시,
redirect 함수가 save라는 이름을 가진 2번 함수(save)로 redirect 된다.
save로 redirect
의 뜻은 2번함수로 이동된다는 것이다.
2번함수의 URL은www.test.com/save/
이며,save.html
을 렌더링하고 있기 때문에
사용자의 URL을www.test.com/save
로 바꾸면서save.html
을 보여준다.
따라서 사용자의 입장에서
www.test.com/
을 입력한다면,
URL이 자동으로www.test.com/save/
로 바뀌면서save.html
이 보여지게 된다.
📂 HTTP 302(일시적인 이동)
페이지가 일시적으로 다른 주소로 이동됨을 의미한다.
📌 302의 단점
페이지의 무게(web-site weight)
를 전달하지 않는다는 것이다.
그 결과, 사이트는 외부링크주스(external link juice)
와 페이지의 무게(web-site weight)
를 잃는다.
ex) 하이퍼링크로 된 출처 URL
📌 302가 필요한 케이스
[stakoverflow] Difference between render_template and redirect?
The Difference Between 200, 301, 302, 304, 404 Status Codes
LinkJuice
링크주스란?