Web

301 Moved Permanently - HTTP 상태 코드 (리다이렉트)

saltdoll 2019. 10. 23. 08:53
반응형

리턴 코드 값에 301 Moved Permanently라는 메시지가 나옵니다.

페이지 로딩이 되면서, header에서 forward처리 될때, 나타나는 HTTP state코드

301 Found 처리

가끔 프로그램에서 로직을 잘못해서,
권한이 틀려서 페이지 이동을 Header에서 Redirect 처리하는 실수를 할 때가 있다.

그럴 때면, Header를 처리하는 부분의 로직을 디버깅하면 찾을 수 있다.

 

 

 

MDN web docs 내용

HTTP 301 Moved Permanently 리다이렉트 상태 응답 코드는 요청한 리소스가 Location 헤더에 주어진 URL로 완전히 옮겨졌다는 것을 나타낸다. 브라우저는 이 페이지로 리다이렉트하고, 검색 엔진은 해당 리소스로 연결되는 링크를 갱신한다[검색엔진 최적화의 관점에서는 '원 콘텐츠가 새로운 URL로 옮겨졌다'(the link-juice is sent to the new URL)고 한다].

명세에서는 리다이렉트를 수행할 때 메소드(와 응답 본문)이 바뀌어서는 안 된다고 명시하고 있지만, 모든 유저 에이전트가 이를 따르는 것은 아니며 이러한 잘못된 소프트웨어는 아직도 찾아볼 수 있다. 그러므로 301 코드는 GET HEAD 메소드의 응답으로만 사용하고, POST 메소드에 대해서는 메소드 변경이 명시적으로 금지된 308 Permanent Redirect를 사용하는 것이 바람직하다.
(출처: https://developer.mozilla.org/ko/docs/Web/HTTP/Status/301 )

 

 

 

예제

[클라이언트 요청]

GET /index.php HTTP/1.1
Host: www.example.org

 

[서버 응답]

HTTP/1.1 301 Moved Permanently

Location: http://www.example.org/index.asp

반응형
도움이 되셨다면 하트모양의 "♡ 공감"을 눌러주시면 큰 격려가 됩니다.
(로그인하지 않으셔도 가능)