301 Moved Permanently는 리소스가 영구적으로 새 URL로 옮겨졌다는 뜻입니다. 검색엔진은 이 신호를 보고 기존 URL의 순위·링크 평가를 새 URL로 이전합니다. 도메인 이전이나 HTTP→HTTPS 전환처럼 되돌리지 않을 이동에 씁니다.
302 Found는 임시 이동입니다. 원래 URL은 그대로 유효하므로 검색엔진은 순위를 옮기지 않습니다. 점검 페이지로의 일시 우회나 로그인 후 이동처럼 곧 원래대로 돌아올 상황에 적합합니다.
한 가지 주의점은 메서드 보존입니다. 301·302는 역사적으로 브라우저가 POST를 GET으로 바꾸기도 했습니다. 메서드를 반드시 유지해야 한다면 영구 이동에는 308, 임시 이동에는 307을 쓰고, POST 후 결과 페이지로 보낼 때는 303 See Other를 사용합니다.