-
Notifications
You must be signed in to change notification settings - Fork 0
HTTP 301 VS HTTP 302 차이점 비교
Jung Seonghun edited this page Jun 15, 2024
·
1 revision
웹사이트를 운영하거나 웹 개발을 하다 보면 리디렉션(redirect)을 설정해야 할 때가 많습니다. 리디렉션은 웹페이지의 URL이 변경되었거나, 특정 페이지로 사용자를 자동으로 이동시키고자 할 때 사용됩니다. HTTP 상태 코드 중에서 리디렉션을 나타내는 코드로는 301과 302가 자주 사용됩니다. 이 두 상태 코드의 차이점에 대해서 알아보겠습니다.
HTTP 301 상태 코드는 요청한 리소스가 영구적으로 다른 URL로 이동했음을 나타냅니다. 이 상태 코드를 반환할 때 서버는 새로운 URL을 Location 헤더에 포함시켜 브라우저에게 전달합니다.
- 영구적인 이동: 301 리디렉션은 영구적인 이동을 의미합니다. 즉, 요청한 URL은 더 이상 유효하지 않으며, 항상 새로운 URL을 사용해야 합니다.
- 검색 엔진 최적화(SEO): 301 리디렉션은 검색 엔진에게도 새로운 URL로의 영구 이동을 알리기 때문에, 원래 URL의 페이지 랭크와 같은 SEO 혜택을 새로운 URL로 전달할 수 있습니다.
- 브라우저 캐싱: 브라우저는 301 리디렉션을 캐시하므로, 다음 번에 같은 URL에 접근할 때 직접 새로운 URL로 이동하게 됩니다.
HTTP/1.1 301 Moved Permanently
Location: http://www.new-url.com/
- 웹사이트 구조를 영구적으로 변경할 때
- 도메인 이름을 변경할 때
- URL 표준화를 위해 여러 URL을 하나의 URL로 통합할 때
HTTP 302 상태 코드는 요청한 리소스가 일시적으로 다른 URL로 이동했음을 나타냅니다. 이 상태 코드를 반환할 때도 서버는 새로운 URL을 Location 헤더에 포함시켜 브라우저에게 전달합니다.
- 일시적인 이동: 302 리디렉션은 일시적인 이동을 의미합니다. 즉, 요청한 URL이 나중에 다시 유효해질 수 있습니다.
- SEO 영향: 302 리디렉션은 검색 엔진에게 일시적인 이동으로 간주되므로, 원래 URL의 페이지 랭크가 새로운 URL로 전달되지 않습니다.
- 브라우저 캐싱: 브라우저는 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 리디렉션을 사용하여 사용자 경험을 개선할 수 있습니다.