302와 307 리디렉션 비교

302와 307은 모두 임시 리디렉션이지만, 307은 HTTP 메서드가 바뀌지 않도록 보장합니다. Google이 둘을 같게 처리하는 이유, 307을 선택할 때, HSTS 유령 307을 설명합니다.

최초 게시: 2026년 7월 2일 · 최근 업데이트: 2026년 8월 8일 · Advanced
언어
이 페이지의 근거 신호 1개

302와 307은 모두 임시 리디렉션이며 Google은 검색 처리에서 302·303·307을 같은 임시 그룹으로 다룹니다. 자동으로 따르는 307은 요청 메서드를 보존하지만 302는 클라이언트가 POST를 GET으로 바꿀 여지가 있습니다. 일반 GET에는 302를, 폼·API·웹훅처럼 메서드와 본문을 보존해야 하는 요청에는 307을 사용하세요.

TL;DR — SEO 관점에서 302와 307은 임시 신호이며 어느 코드도 대상 URL을 자동으로 표준으로 만드는 영구 신호가 아닙니다. 구현상의 결정은 요청을 다시 보낼 때 메서드와 본문을 지켜야 하는지에 달려 있습니다. 일반적인 GET·A/B 테스트·지역 라우팅에는 302를, 데이터가 담긴 non-GET 요청에는 307을 쓰고 HSTS 내부 표시와 캐시·멱등성 조건을 별도로 검증하세요. 제십팔항의 출처 인용: “equivalent to 302,” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 제십팔항의 출처 인용: “for SEO, it doesn’t really matter” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 303 307

둘 다 임시라는 점이 출발점이다

HTTP 메서드와 요청 본문 보존을 기준으로 302와 307의 동작(제이십항)을 설명합니다. 이 부분은 단정 대신 확인 가능한 근거와 제한을 함께 제시합니다. 상태 코드 302·307·303·301·308의 의미와 위치를 유지합니다.

제이십항의 출처 인용: “Googlebot follows the redirect, but the indexing pipeline doesn’t use the redirect as a signal that the redirect target should be canonical.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 302 (Found) 303 (See Other) 307 (Temporary Redirect)

Evidence for this claim Google Search does not use a 302, 303, or 307 temporary redirect itself as a signal that the target should be canonical, although other signals can still lead to target indexing or selection. Scope: temporary redirects Confidence: high · Verified: Redirects and Google Search

HTTP 메서드와 요청 본문 보존을 기준으로 302와 307의 동작(제이십일항)을 설명합니다. 운영 팀은 응답 코드뿐 아니라 Location, 메서드, 본문, 캐시 헤더를 함께 수집하세요. 상태 코드 301·308·302·307의 의미와 위치를 유지합니다.

실제 차이: 메서드와 본문 보존

HTTP 메서드와 요청 본문 보존을 기준으로 302와 307의 동작(제이십삼항)을 설명합니다. 목적지의 표준화 여부와 요청의 재생 여부를 같은 문제로 섞지 마세요. 상태 코드 307·302의 의미와 위치를 유지합니다.

폼 제출과 Post/Redirect/Get 흐름을 기준으로 302와 307의 동작(제이십사항)을 설명합니다. 이 단계에서는 원문에 있는 상태 코드와 URL을 유지하면서 의미만 한국어로 전달합니다. 상태 코드 302의 의미와 위치를 유지합니다.

  • HTTP 메서드와 요청 본문 보존의 제이십오항 1번째 확인점은 302와 307의 의도와 실제 응답을 대조하는 것입니다.
  • HTTP 메서드와 요청 본문 보존의 제이십오항 2번째 확인점은 302와 307의 의도와 실제 응답을 대조하는 것입니다. GET HEAD 303

HTTP 메서드와 요청 본문 보존을 기준으로 302와 307의 동작(제이십육항)을 설명합니다. 검증 절차는 원본 요청을 다시 실행해 데이터가 손실되지 않는지 확인하는 데서 끝나지 않습니다. 상태 코드 307·302의 의미와 위치를 유지합니다.

제이십육항의 출처 인용: “The difference between 307 and 302 is that 307 guarantees that the client will not change the request method and body when the redirected request is made. With 302, older clients incorrectly changed the method to GET.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」

임시 리디렉션의 선택 기준을 기준으로 302와 307의 동작(제이십칠항)을 설명합니다. 이 선택은 SEO 우위가 아니라 애플리케이션의 올바른 동작을 위한 선택입니다.

비교 항목한국어 판단 기준
폼 제출과 Post/Redirect/Get 흐름 제이십팔항 1원문의 상태 코드·메서드·표준화 조건을 그대로 확인합니다.
폼 제출과 Post/Redirect/Get 흐름 제이십팔항 2원문의 상태 코드·메서드·표준화 조건을 그대로 확인합니다.
폼 제출과 Post/Redirect/Get 흐름 제이십팔항 3원문의 상태 코드·메서드·표준화 조건을 그대로 확인합니다.
폼 제출과 Post/Redirect/Get 흐름 제이십팔항 4원문의 상태 코드·메서드·표준화 조건을 그대로 확인합니다.
GET
POST
PUT
DELETE
302/307

HTTP 메서드와 요청 본문 보존을 기준으로 302와 307의 동작(제이십구항)을 설명합니다. 설명과 예시는 같은 상태 코드라도 서로 다른 목적을 가질 수 있음을 보여 줍니다. 상태 코드 302·307의 의미와 위치를 유지합니다.

“302 always breaks PUT/DELETE (번역) 「302가 항상 PUT이나 DELETE를 깨뜨린다는 일반화는 정확하지 않으며, 실제 클라이언트를 확인해야 한다는 뜻입니다.」 POST Cache-Control Expires

Evidence for this claim Do not generalize the RFC's 302 POST-to-GET allowance into a claim that PUT, DELETE, or every non-GET method will change; client-specific evidence is required. Scope: 302, 303, and 307 responses Confidence: high · Verified: RFC 9110: HTTP Semantics

폼 제출과 Post/Redirect/Get 흐름을 기준으로 302와 307의 동작(제삼십항)을 설명합니다. 실제 배포 전에는 프레임워크가 설정을 다른 응답 코드로 바꾸지 않는지 확인하세요. 상태 코드 307·302의 의미와 위치를 유지합니다.

제삼십항의 출처 인용: “A 307 redirect is the same as a 302 redirect, except it retains the HTTP method (POST, GET) of the original request when performing the redirect.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」

Evidence for this claim RFC 9110 defines both 302 and 307 as temporary redirects; 307 forbids changing the request method, while 302 permits POST-to-GET rewriting for historical reasons. Scope: HTTP semantics for 302 and 307 responses. Confidence: high · Verified: IETF: RFC 9110 §§15.4.3, 15.4.8

Google은 SEO에서 302와 307을 다르게 처리하는가?

검색 엔진 처리와 표준 URL 신호을 기준으로 302와 307의 동작(제삼십이항)을 설명합니다. 서버 응답을 기록하면 브라우저 UI가 만든 내부 표시와 실제 응답을 구분할 수 있습니다. 상태 코드 301·308의 의미와 위치를 유지합니다.

HTTP 메서드와 요청 본문 보존을 기준으로 302와 307의 동작(제삼십삼항)을 설명합니다. 이 기준을 체크리스트로 바꾸면 배포 후 회귀도 빠르게 찾을 수 있습니다. 상태 코드 302·307·301·308의 의미와 위치를 유지합니다.

제삼십삼항의 출처 인용: “Equivalent to 302.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 제삼십삼항의 출처 인용: “While Google treats these status codes the same way, keep in mind that they’re semantically different. Use the status code that’s appropriate for the redirect so other clients (for example, e-readers, other search engines) may benefit from it.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 자료

검색 엔진 처리와 표준 URL 신호을 기준으로 302와 307의 동작(제삼십사항)을 설명합니다. 핵심은 리디렉션의 의도와 실제 HTTP 동작을 분리해 보는 것입니다. 상태 코드 302·307의 의미와 위치를 유지합니다.

Evidence for this claim Google treats 307 as equivalent to 302 for Search while noting that the two status codes are semantically different. Scope: Google Search redirect handling; HTTP clients still need the appropriate status code. Confidence: high · Verified: Google: HTTP status codes and Search

HTTP 메서드와 요청 본문 보존을 기준으로 302와 307의 동작(제삼십오항)을 설명합니다. 검색 엔진 신호와 클라이언트의 요청 처리는 서로 다른 판단 축입니다. 상태 코드 301·302·303·307의 의미와 위치를 유지합니다. 자료

HTTP 메서드와 요청 본문 보존을 기준으로 302와 307의 동작(제삼십육항)을 설명합니다. 상태 코드 이름만 보지 말고 원래 요청과 후속 요청을 함께 확인해야 합니다. 상태 코드 307·308·301·302의 의미와 위치를 유지합니다.

검색 엔진 처리와 표준 URL 신호을 기준으로 302와 307의 동작(제삼십칠항)을 설명합니다. 이 기준은 브라우저와 서버 로그에서 모두 검증할 수 있습니다. 상태 코드 307·302의 의미와 위치를 유지합니다.

Bing은 302와 307을 다르게 처리하는가?

HTTP 메서드와 요청 본문 보존을 기준으로 302와 307의 동작(제삼십구항)을 설명합니다. 이 절의 결론은 순위 추측이 아니라 사양과 관찰 가능한 동작에 기반합니다. 상태 코드 301·302·307·308의 의미와 위치를 유지합니다.

Bing의 공개 문서 범위을 기준으로 302와 307의 동작(제사십항)을 설명합니다. 실무에서는 한 홉의 응답과 최종 대상까지 직접 추적하는 것이 안전합니다. 상태 코드 302·307·301의 의미와 위치를 유지합니다.

307이 기술적으로 올바른 선택인 경우

HTTP 메서드와 요청 본문 보존을 기준으로 302와 307의 동작(제사십이항)을 설명합니다. 문서가 말하는 범위를 넘어서 검색 가치의 고정 비율을 만들어 내면 안 됩니다.

  • 폼 제출과 Post/Redirect/Get 흐름의 제사십삼항 1번째 확인점은 302와 307의 의도와 실제 응답을 대조하는 것입니다.
  • 폼 제출과 Post/Redirect/Get 흐름의 제사십삼항 2번째 확인점은 302와 307의 의도와 실제 응답을 대조하는 것입니다.
  • 폼 제출과 Post/Redirect/Get 흐름의 제사십삼항 3번째 확인점은 302와 307의 의도와 실제 응답을 대조하는 것입니다.

제사십삼항의 출처 인용: “if you have a— I’d almost say like a broken setup, that you have a form on one domain and the results are forwarded to a different one, then you would use the 307, 308.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 POST PUT DELETE

폼 제출과 Post/Redirect/Get 흐름을 기준으로 302와 307의 동작(제사십사항)을 설명합니다. 메서드와 본문이 중요한 요청은 일반 페이지 탐색과 같은 방식으로 다루지 않습니다. 상태 코드 307의 의미와 위치를 유지합니다.

폼 제출과 Post/Redirect/Get 흐름을 기준으로 302와 307의 동작(제사십오항)을 설명합니다. 테스트 결과는 특정 클라이언트와 버전에 귀속해 기록해야 합니다. 상태 코드 307·303의 의미와 위치를 유지합니다. redirect() 303 307

302가 실용적인 기본값인 경우

HTTP 메서드와 요청 본문 보존을 기준으로 302와 307의 동작(제사십칠항)을 설명합니다. 검색 엔진이 처리하는 방식과 사용자가 보는 페이지의 동작을 따로 기록하세요. 상태 코드 307의 의미와 위치를 유지합니다. GET

  • 폼 제출과 Post/Redirect/Get 흐름의 제사십팔항 1번째 확인점은 302와 307의 의도와 실제 응답을 대조하는 것입니다.
  • 폼 제출과 Post/Redirect/Get 흐름의 제사십팔항 2번째 확인점은 302와 307의 의도와 실제 응답을 대조하는 것입니다.
  • 폼 제출과 Post/Redirect/Get 흐름의 제사십팔항 3번째 확인점은 302와 307의 의도와 실제 응답을 대조하는 것입니다.
  • 폼 제출과 Post/Redirect/Get 흐름의 제사십팔항 4번째 확인점은 302와 307의 의도와 실제 응답을 대조하는 것입니다.

제사십팔항의 출처 인용: “a 302 redirect would be the right one because next time someone goes there, you don’t really know if they want to go to the mobile version or the desktop version.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 503 301 자료

HSTS “유령 307”: 서버가 보내지 않은 307

임시 리디렉션의 선택 기준을 기준으로 302와 307의 동작(제오십항)을 설명합니다. 같은 코드라도 요청의 목적과 재시도 가능성에 따라 위험이 달라집니다.

HSTS와 브라우저의 내부 HTTPS 업그레이드을 기준으로 302와 307의 동작(제오십일항)을 설명합니다. 표현이 임시인지 영구인지가 선택의 첫 번째 질문입니다. 상태 코드 307의 의미와 위치를 유지합니다.

제오십일항의 출처 인용: “After seeing the HTTPS URL with the HSTS header (for example, with any redirect from the HTTP version), Chrome will act like it’s seeing a 307 redirect the next time you try to access the HTTP page.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 제오십일항의 출처 인용: “Your server’s not returning a 307, Chrome is just showing it to you as such to explain that it’s doing the redirect for you.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 Strict-Transport-Security http:// https://

HSTS와 브라우저의 내부 HTTPS 업그레이드을 기준으로 302와 307의 동작(제오십이항)을 설명합니다. 기술적으로 보존할 수 있는 것과 실제로 보존되는 것은 클라이언트별로 확인해야 합니다. 상태 코드 307의 의미와 위치를 유지합니다.

제오십이항의 출처 인용: “307 HSTS Policy” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 제오십이항의 출처 인용: “307 Temporary Redirect.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 제오십이항의 출처 인용: “When web servers require clients to only use HTTPS connections (HSTS policy), Google won’t see the 307 because it’s cached in the browser.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」

흔한 오해

  • HSTS와 브라우저의 내부 HTTPS 업그레이드의 제오십사항 1번째 확인점은 302와 307의 의도와 실제 응답을 대조하는 것입니다.
  • HSTS와 브라우저의 내부 HTTPS 업그레이드의 제오십사항 2번째 확인점은 302와 307의 의도와 실제 응답을 대조하는 것입니다.
  • HSTS와 브라우저의 내부 HTTPS 업그레이드의 제오십사항 3번째 확인점은 302와 307의 의도와 실제 응답을 대조하는 것입니다.
  • HSTS와 브라우저의 내부 HTTPS 업그레이드의 제오십사항 4번째 확인점은 302와 307의 의도와 실제 응답을 대조하는 것입니다.
  • HSTS와 브라우저의 내부 HTTPS 업그레이드의 제오십사항 5번째 확인점은 302와 307의 의도와 실제 응답을 대조하는 것입니다.
  • HSTS와 브라우저의 내부 HTTPS 업그레이드의 제오십사항 6번째 확인점은 302와 307의 의도와 실제 응답을 대조하는 것입니다.

제오십사항의 출처 인용: “307 doesn’t pass the same SEO value as 302.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 제오십사항의 출처 인용: “302 is the safer/recommended choice because it’s clearer how search engines treat it.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 제오십사항의 출처 인용: “A 307 in my browser’s Network tab means my server misconfigured a redirect.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 제오십사항의 출처 인용: “302s always convert POST to GET, so never use a 302 for a form.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」 302 303/303

나의 권장 순서

폼 제출과 Post/Redirect/Get 흐름을 기준으로 302와 307의 동작(제오십육항)을 설명합니다. 목적지의 표준화 여부와 요청의 재생 여부를 같은 문제로 섞지 마세요. 상태 코드 307·302·303의 의미와 위치를 유지합니다.

제오십육항의 출처 인용: “if you always use them, then you’re always safe.” (번역) 「위 인용은 해당 출처의 핵심 표현을 한국어로 옮긴 것입니다.」

이 글의 위치

HTTP 메서드와 요청 본문 보존을 기준으로 302와 307의 동작(제오십팔항)을 설명합니다. 문서가 침묵하는 부분은 침묵으로 남겨 두는 것이 더 정확합니다. 상태 코드 302·307·3xx·301·308·303의 의미와 위치를 유지합니다. 자료 자료

Try it live

These are real endpoints on this site — not a simulation. Hit them from the button, open them in a new tab, or curl -i them from your terminal, and the server answers with the actual status code this article is about.

Open in new tab ↗
Open in new tab ↗

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.