Skip to content

HTTP 301 VS HTTP 302 차이점 비교

Jung Seonghun edited this page Jun 15, 2024 · 1 revision

HTTP 301 vs. HTTP 302 차이점 비교

웹사이트를 운영하거나 웹 개발을 하다 보면 리디렉션(redirect)을 설정해야 할 때가 많습니다. 리디렉션은 웹페이지의 URL이 변경되었거나, 특정 페이지로 사용자를 자동으로 이동시키고자 할 때 사용됩니다. HTTP 상태 코드 중에서 리디렉션을 나타내는 코드로는 301과 302가 자주 사용됩니다. 이 두 상태 코드의 차이점에 대해서 알아보겠습니다.

HTTP 301 Moved Permanently

개요

HTTP 301 상태 코드는 요청한 리소스가 영구적으로 다른 URL로 이동했음을 나타냅니다. 이 상태 코드를 반환할 때 서버는 새로운 URL을 Location 헤더에 포함시켜 브라우저에게 전달합니다.

특징

  1. 영구적인 이동: 301 리디렉션은 영구적인 이동을 의미합니다. 즉, 요청한 URL은 더 이상 유효하지 않으며, 항상 새로운 URL을 사용해야 합니다.
  2. 검색 엔진 최적화(SEO): 301 리디렉션은 검색 엔진에게도 새로운 URL로의 영구 이동을 알리기 때문에, 원래 URL의 페이지 랭크와 같은 SEO 혜택을 새로운 URL로 전달할 수 있습니다.
  3. 브라우저 캐싱: 브라우저는 301 리디렉션을 캐시하므로, 다음 번에 같은 URL에 접근할 때 직접 새로운 URL로 이동하게 됩니다.

사용 예시

HTTP/1.1 301 Moved Permanently
Location: http://www.new-url.com/

언제 사용해야 할까?

  • 웹사이트 구조를 영구적으로 변경할 때
  • 도메인 이름을 변경할 때
  • URL 표준화를 위해 여러 URL을 하나의 URL로 통합할 때

HTTP 302 Found (Temporarily Moved)

개요

HTTP 302 상태 코드는 요청한 리소스가 일시적으로 다른 URL로 이동했음을 나타냅니다. 이 상태 코드를 반환할 때도 서버는 새로운 URL을 Location 헤더에 포함시켜 브라우저에게 전달합니다.

특징

  1. 일시적인 이동: 302 리디렉션은 일시적인 이동을 의미합니다. 즉, 요청한 URL이 나중에 다시 유효해질 수 있습니다.
  2. SEO 영향: 302 리디렉션은 검색 엔진에게 일시적인 이동으로 간주되므로, 원래 URL의 페이지 랭크가 새로운 URL로 전달되지 않습니다.
  3. 브라우저 캐싱: 브라우저는 302 리디렉션을 캐시하지 않으므로, 다음 번에 같은 URL에 접근할 때마다 서버에 요청하여 상태를 확인합니다.

사용 예시

HTTP/1.1 302 Found
Location: https://github.com/seonghun-dev

언제 사용해야 할까?

  • 일시적인 페이지 이동이 필요할 때
  • 유지보수 또는 임시적으로 다른 페이지로 이동시킬 때
  • A/B 테스트와 같이 일시적으로 다른 URL을 제공할 때

주요 차이점 요약

특징 HTTP 301 HTTP 302
이동의 성격 영구적 일시적
SEO 페이지 랭크와 SEO 혜택 전달 페이지 랭크와 SEO 혜택 전달 안됨
브라우저 캐싱 브라우저가 리디렉션을 캐시 브라우저가 리디렉션을 캐시 안함
사용 시기 영구적인 URL 변경, 도메인 변경 임시 페이지 이동, 유지보수

결론

HTTP 301과 HTTP 302 리디렉션은 모두 웹페이지를 다른 URL로 이동시키는 데 사용되지만, 그 목적과 사용 시기는 다릅니다. 영구적인 이동에는 301 리디렉션을 사용하여 SEO 혜택을 유지하고, 일시적인 이동에는 302 리디렉션을 사용하여 사용자 경험을 개선할 수 있습니다.