HTTP에서 301과 302의 차이점은 무엇입니까?


9

사이트와 같은 모든 tinyurl 사용 302

그러나 차이점은 무엇입니까? 둘 다 나를 위해 일하는 것 같습니다

답변:


12

301 (영구적으로 이동) 상태는 자원이 영구적으로 새로운 위치로 이동되었음을 의미합니다. 클라이언트 (브라우저)는 나중에 이전 위치 대신 새 위치를 사용해야합니다.

302 (발견 된) 상태는 리소스가 일시적으로 다른 곳에 있음을 의미합니다. 클라이언트는 현재 요청에 지정된 위치를 사용해야하지만 나중에 이전 위치를 계속 사용해야합니다.

두 상태 코드 모두 브라우저가 리디렉션을 따르도록하는 효과가 있습니다. 리디렉션이 영구적인지 임시인지에 따라 301 또는 302 상태를 사용하도록 선택해야합니다.

이러한 HTTP 응답 코드에 대한 자세한 정보는 RFC 2616 에서 찾을 수 있습니다 .


301 을 취소 하려면 어떻게합니까? 다시 사용하지 않기 때문에 제어 할 수 없습니까?
vps

@vps 301 리디렉션을 취소 할 수 있지만 클라이언트가 원래 URL을 다시 요청한다는 보장은 없습니다. 앞으로 리디렉션을 취소하려면 302를 사용하는 것이 좋습니다.
Phil Ross

3

검색 엔진 스파이더가 웹 페이지의 응답 헤더에서 301 상태 코드를 발견하면이 웹 페이지가 더 이상 존재하지 않는다는 것을 이해하고 응답으로 위치 헤더를 검색하여 새 URL을 선택하고 색인 된 URL을 새 URL로 바꾸고 페이지 순위를 전송합니다. .

따라서 검색 엔진은 더 이상 존재하지 않는 모든 색인화 된 URL (301 발견)을 새 URL로 새로 고칩니다. 그러면 기존 웹 페이지 트래픽이 유지되고 페이지 순위가 변경되어 새 웹 페이지로 전환됩니다 (이전 웹 페이지의 트래픽을 잃지 않습니다).

브라우저 : 브라우저가 301 상태 코드를 발견하면 이전 URL과 새 URL의 매핑을 캐시하고 클라이언트 / 브라우저는 원래 위치를 요청하지 않고 캐시 제거까지 지금부터 새 위치를 사용합니다.

검색 엔진 스파이더가 웹 페이지에 대해 302 상태를 발견하면 일시적으로 새 위치로 리디렉션하고 두 페이지를 모두 크롤링합니다. 기존 웹 페이지 URL은 여전히 ​​검색 엔진 데이터베이스에 존재하며 항상 이전 위치를 요청하여 크롤링합니다. 클라이언트 / 브라우저는 여전히 원래 위치를 요청하려고 시도합니다.

- asp.net C # 및 검색 엔진에 미치는 영향이 무엇인지 어떻게 그것을 구현하는 방법에 대한 자세한 정보를 참조 http://www.dotnetbull.com/2013/08/301-permanent-vs-302-temporary-status-code- aspnet-csharp-Implementation.html


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.