302 Found는 리소스가 일시적으로 다른 URL에 있음을 알리며, 원래 URL은 계속 유효하니 앞으로도 그 주소를 사용하라는 뜻입니다. 영구 이전이 아니므로 검색엔진은 링크 자산을 새 URL로 옮기지 않습니다.
역사적으로 많은 브라우저가 302 리다이렉트 시 POST를 GET으로 바꿔 처리해 왔기 때문에, 메서드 보존이 필요한지 여부에 따라 303이나 307을 구분해 쓰는 것이 중요합니다.
GET /dashboard HTTP/1.1
Host: app.example.com
Cookie: session=noneHTTP/1.1 302 Found
Location: /login
Content-Type: text/html
<h1>Found</h1><p>Redirecting to <a href="/login">/login</a>.</p>app.get('/dashboard', (req, res) => {
if (!req.session.user) return res.redirect(302, '/login');
res.render('dashboard');
});from flask import redirect
@app.get('/dashboard')
def dash():
if not session.get('user'):
return redirect('/login') # 302 by default