DevOps/Web
[Web] <head> 태그 redirect (HTML 응답 상태 코드 301)
문스코딩
2023. 2. 8. 10:35
HTTP 301 응답 코드는 "Moved Permanently"라는 의미로,
웹 페이지의 URL이 영구적으로 변경되었음을 알려주는 코드입니다.
웹 브라우저는 이 코드를 받으면, 사용자가 요청한 페이지의 URL을 변경된 URL로 자동으로 업데이트합니다. 검색 엔진은 이 코드를 받으면, 검색 색인에서 변경된 URL로 업데이트하여, 검색 결과에서 예전 URL로 링크된 페이지가 더 이상 존재하지 않는 것을 방지합니다.
301 응답 코드는 웹 페이지 URL이 변경될 때, 검색 엔진 최적화(SEO)를 위해서 사용됩니다. 웹 페이지의 URL이 변경되었지만, 검색 엔진 최적화를 고려하지 않으면 검색 결과에서 링크된 페이지가 없다는 오류 메시지와 함께 페이지 순위가 저하될 수 있습니다.
로그인이 안된 상황에서 로그인 페이지로 이동하는 경우가 있을 텐데요. 실제 페이지의 응답으로 로그인 페이지 HTML을 내려줄 수도 있지만, 아래와 같이 redirect할 로그인 페이지의 주소를 같이 브라우저로 내려주는 경우가 많습니다. 아래코드처럼 응답이 내려왔다면 페이지가 열리는 순간 로그인 페이지로 이동합니다. 이러한 경우를 HTTP 응답 상태 코드중 301 Moved Permanently로 정의합니다.
<head>
<script>window.location.href = 'moonscode.com/login'</script>
</head>
실제 응답코드가 301이 아니라도 위 경우와 같이 <head> 태그내 스크립트에서 URL이 옮겨지는 경우는 브라우저가 301 응답으로 판단하고 URL 이동이 일어난 페이지의 히스토리는 남기지 않습니다.
위의 배경지식이 없는 상태로 히스토리가 쌓이지 않아 원인을 찾는데 매우 고생했네요...
반응형