3

저는 ASP.Net 4.0을 처음 접했으며 Response.RedirectPermanent()이라는 새로운 기능을 보았습니다. 몇 가지 기사를 확인했지만 Response.RedirectPermanent()의 실제 의미와 차이를 Response.Redirect() 이상으로 명확하게 이해할 수 없습니다. 자원을 요청 브라우저 의미에 Gunnar Peipman에 따르면Response.Redirect() vs Response.RedirectPermanent()

,

Response.Redirect()

반환 (302)은 일시적으로 다른 위치로 이동합니다. Permanent redirect은 브라우저가 서버에서 301 응답을 얻는다는 것을 의미합니다. 이 경우 브라우저는 이전 URL에서 동일한 리소스를 더 이상 묻지 않습니다. URL은 Location 헤더로 지정된 URL을 사용합니다.

301, 302과 같은 서버 응답을 확인해야하는 이유는 무엇입니까? 그리고 페이지를 서버로 영구적으로 리디렉션하는 방법은 무엇입니까?

답변

8

301 응답 (RedirectPermanent)은 SEO 목적에 매우 유용합니다. 예를 들어 ASP.NET WebForms에 구현 된 사이트를 ASP.NET MVC를 사용하여 다시 디자인했습니다. /Catalog/ProductName.aspx 페이지가/products/product-name이되는 검색 엔진에 알리고 싶습니다. 그런 다음 /Catalog/ProductName.aspx에서/products/product-name으로 301 리디렉션을 설정하면 검색 엔진의 색인에있는 링크가 대체됩니다. 302 (Redirect)는 대부분 내부 용입니다. 예를 들어 로그인 후 리디렉션 (returnUrl이 URL에 설정된 경우).

+0

어떤 것을 사용하는 것이 더 좋습니까? –

+3

상황에 따라 다릅니다. 리디렉션 301은 SEO 목적에 사용하는 것이 좋습니다. 일부 페이지가 다른 위치로 이동했다는 것을 검색 엔진에 알릴 필요가있을 때. 리디렉션 302는 응용 프로그램 흐름에 더 좋습니다. 예를 들어 로그인 페이지가 시작된 페이지로 다시 리디렉션 될 수 있습니다. – Stan

+0

알겠습니다. 감사합니다. –