You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
303 상태 코드는 주로 리소스를 생성하거나 수정하는 POST나 PUT 메소드와 함께 사용된다고 해요.
예를 들어, 사용자가 폼을 제출하고 서버가 그에 대한 처리를 완료한 후, 새로운 리소스를 생성하거나 업데이트 한다면, 303 코드를 사용하여 사용자를 GET 메서드로 리다이렉트시키는 것이 좋습니다. 이 방식은 사용자가 새로고침 버튼을 클릭하여 폼을 다시 제출하는 것을 방지할 수 있습니다.
307은 301의 짝 308과 마찬가지로, 요청이 GET 메서드가 아닌 경우 리디렉션에 활용하는 코드입니다 ㅎㅎ
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
HTTP statuscode 중 301 과 302 는 모두 리디렉션 응답에 사용해요.
두 응답 코드가 각각 어떤 것을 의미하고 어떤 차이가 있는지 살펴봅시다요.
301 Moved Permanently
301 리디렉션은
Moved Permanently(영구적인 리디렉션)
이라는 뜻입니다. 말 그대로 301 응답은 요청한 정보가 새로운 주소로 영구적으로 옮겨갔다는 신호예요.예를 들어 오래된 글에서 한 사이트를 링크해놓았다고 합시다.
하지만
ibm.com
에서 더이상 이 URL에 리소스를 제공하지 않는다면, 리소스의 새로운 위치를 넘겨주어야겠죠.영구적인 리디렉션
301 응답은 리소스의 GET요청에 사용하는 것을 권장합니다.
그렇다면 GET이 아닌 다른 메서드에 대한 리디렉션에는 어떤 응답을 줘야할까요?
이런 경우 308 응답을 주는 것이 권장됩니다. 실제로
308
은GET
이 아닌 메서드를 사용할 때 동작의 애매모호함을 제거하고자 만들어졌다고 합니다.302 Found
302 리디렉션은 Found라는 뜻을 가지고 있네요. 이게 무슨 뜻일까요?
때때로, 클라이언트가 원하는 리소스가 본래의 위치(Location)에서 접근이 안될 경우가 생길 수도 있잖아요. 다른 위치를 통해서만 리소스에 접근할 수 있는 경우도 리디렉션을 통해 접근 가능한 위치를 클라이언트에게 알려줘야해요.
이럴때 일시적인 리디렉션을 뜻하는 302를 사용하게 되는 것입니다.
일시적인 리디렉션
301과 마찬가지로, GET이 아닌 메서드를 통한 요청일 경우 다른 상태코드를 반환할 수 있어요.
출처: https://developer.mozilla.org/ko/docs/Web/HTTP/Redirections#일시적인_리다이렉션
303은 302와 비슷하지만, 사용하는 목적이 조금 다릅니다.
303 상태 코드는 주로 리소스를 생성하거나 수정하는 POST나 PUT 메소드와 함께 사용된다고 해요.
예를 들어, 사용자가 폼을 제출하고 서버가 그에 대한 처리를 완료한 후, 새로운 리소스를 생성하거나 업데이트 한다면, 303 코드를 사용하여 사용자를 GET 메서드로 리다이렉트시키는 것이 좋습니다. 이 방식은 사용자가 새로고침 버튼을 클릭하여 폼을 다시 제출하는 것을 방지할 수 있습니다.
307은 301의 짝 308과 마찬가지로, 요청이 GET 메서드가 아닌 경우 리디렉션에 활용하는 코드입니다 ㅎㅎ
이외에도 특수 리디렉션도 있습니당.
검색엔진?
그런데 리디렉션을 비교하는 표에서는 계속해서 검색엔진에 대한 이야기가 나오고 있어요.
이는 검색 엔진 최적화, SEO (Search Engine Optimization)라는 개념에서 리디렉션 방식을 활용하는 데에 중요한 정보이기 때문입니다.
검색 엔진은 검색한 후 여러 리소스들을 순위를 기반으로 보여줍니다.
검색엔진 최적화는 비즈니스적으로 아주 중요한 작업이고, 어렵기도 해서 이 글에서 크게 다루진 못하지만 간략히 http 리디렉션을 어떻게 활용하는지 설명해보도록 할게요.
301 Moved Permanently
앞서 봤듯이 301은 리소스의 영구적인 이동일 경우 사용하는 상태코드였습니다. 그래서 검색엔진이 301을 확인하게 되면 이전 페이지의 순위를 새로운 페이지로 할당합니다.
wooteco.com/hi.html
가 가진 검색 순위를wooteco.com/all-new-hi.html
](http://wooteco.com/all-new-hi.html)](http://wooteco.com/all-new-hi.html) 에게 줘버리는 겁니다.이전 url은 순위를 잃게 되는 것이죠.
그래서! 영구적인 이동이 아닌 경우 301을 사용하면, 원래 url로 돌아갔을 경우 검색 순위를 되찾을 수 없다는 큰일이 나버리는 겁니다…
302 Found, 307 Temporary Redirect
이 경우 검색엔진은 링크를 갱신하지 않아요.
일시적인 리디렉션 링크이기 때문에 본래의 링크는 자신의 순위를 그대로 유지하게 됩니다.
Beta Was this translation helpful? Give feedback.
All reactions