프로젝트를 하면서 공부한 응답헤더 / 그대는 301번과 302번의 차이를 아는가 ? / 공부할때 디테일을 살려서 공부해야 한다
스프링 프로젝트를 하다 보면 HTTP 통신의 응답헤더를 자연스럽게 접하게 된다
우스갯 소리로 웹 개발자들은 404를 제일 싫어한다고 하지 않는가?
그런 것처럼 응답헤더의 코드는 유용한 자료이고 개발자라면 숙지하고 있어야 한다.
나는 API를 테스트할 때 POSTMAN을 사용하는데 거기서도 응답헤더 코드번호를 자주 봤고
스프링에서 어떠한 로직을 처리하지 않았을 때 400번 코드를 자주 봤다
웹 프로그래밍에서 응답 헤더는 200번대/300번대/400번대/500번대로 크게 나눈다
이 차이를 알고 있다면 오류해결에 도움이 되니 한번쯤 주요 코드번호와 내용을 정리해 본다
200번대 : Success 응답코드
200 | OK | 요청이 성공적으로 처리됐음을 의미합니다. 가장 일반적인 성공 응답 코드입니다. |
201 | Created | 요청이 성공적으로 이루어지고 새로운 리소스가 생성됐음을 나타냅니다. |
204 | No Content | 요청은 성공했으나, 클라이언트에 전달할 콘텐츠는 없습니다. |
300번대: 리다이렉션(Redirection) 응답 코드
301 | Moved Permanently | 요청한 리소스가 영구적으로 새 위치로 이동했음을 나타냅니다. 검색 엔진 최적화(SEO)에 중요한 영향을 미칠 수 있습니다. |
302 | Found | 요청한 리소스가 일시적으로 다른 위치로 이동했음을 나타냅니다 |
304 | Not Modified | 전에 방문했던 리소스가 변경되지 않았을 때 사용되며, 리소스 다운로드 없이 캐시를 사용할 수 있음을 알립니다. |
400번대: 클라이언트 오류(Client Error) 응답 코드
400 | Bad Request | 서버가 요청을 이해할 수 없음을 나타냅니다. 잘못된 요청 구조나 파라미터 때문에 발생할 수 있습니다. |
401 | Unauthorized | 요청이 인증을 필요로 하는데 인증이 되지 않았음을 나타냅니다. |
404 | Not Found | 서버가 요청한 리소스를 찾을 수 없음을 나타냅니다. 가장 흔히 보는 오류 중 하나입니다. |
403 | Forbidden | 서버가 요청을 이해했으나, 접근 권한을 거부했음을 나타냅니다 |
500번대: 서버 오류(Server Error) 응답 코드
500 | Internal Server Error | 서버 내부 오류가 발생했음을 나타냅니다. 구체적인 오류 원인은 서버 로그에서 확인해야 합니다 |
502 | Bad Gateway | 서버가 게이트웨이나 프록시 역할을 하며, 상위 서버로부터 잘못된 응답을 받았음을 나타냅니다. |
503 | Service Unavailable | 서버가 일시적으로 요청을 처리할 수 없음을 나타냅니다. 일반적으로 서버 과부하나 유지보수 때문에 발생합니다. |
301번과 302번의 차이
두 가지 코드 모두 다른 주소로 이동했을 때 HTTP상태 코드는 맞다.
하지만 중요한 차이가 있는데 SEO(검색 엔진 최적화) 전략을 수립하는데 중요하다
301 Moved Permanently : 영구적 이동
이 코드는 요청된 페이지가 새로운 URL로 영구적 이동을 했음을 나타내는데
웹 페이지의 URL을 변경했거나 사이트 구조를 재구성할 때 사용한다,
예를 들어 사이트를 새 도메인으로 옮기거나 HTTP에서 Https로 마이그레이션 하는 경우 해당한다
SEO 영향 : 301 리다이렉션은 검색 엔진에게 이전 URL의 검색 순위와 권한을 새 URL로 전달하라 알린다, 이는 SEO측면에서 매우 중요하다
302 Found : 임시적 이동
302 상태 코드는 요청된 페이지가 임시적으로 다른 URL로 이동했음을 나타낸다
콘텐츠가 일시적으로 다른 URL에 위치해 있을 때 사용한다, 예를 들어 사이트 유지보수 중 원래 페이지 대신 임시 페이지를 보여주고 싶을 때 사용할 수 있다
SEO 영향 : 302 리다이렉션은 검색 엔진에게 원래 URL이 여전히 유효하고 검색 순위를 유지해야 함을 알려준다
그러나 장기간 사용 될 경우 검색 엔진이 리다이렉션을 영구적으로 해석할 위험이 있어 SEO에 부정적인 영향을 줄 수 있다
결정적 차이
301은 영구 이동을, 302는 임시 이동을 나타낸다
따라서 301은 URL이 변경되었고 앞으로도 그 주소로 유지될 것을 의미한다
SEO관점에서 이전 페이지의 가치를 새 페이지로 이동한다
반면 302는 일시적인 변경을 나타내며 원래 URL로 돌아갈 가능성이 있음을 의미한다
좀 더 쉽게 말하자면 301은 이사를 갔으니 새집으로만 찾아오라는 것과 같고 302는 일을 보러 잠시 다른 곳에 있다가 곧 돌아올 것이라고 표현할 수 있다
그런데 SEO는 뭔가요?
SEO(Search Engine Optimization, 검색 엔진 최적화)는 웹사이트가 검색 엔진에서 더 높은 순위를 얻어
더 많은 방문자와 관심을 유도하기 위한 프로세스이다.
이해하기 쉽게, SEO는 당신의 웹사이트를 검색 엔진에서 더 "보이게" 하기 위한 일련의 전략과 기술을 말하는 것이다
여기서 검색 엔진은 Google, Bing, Naver 같은 서비스를 말한다
SEO의 핵심 요소 3가지
1. 콘텐츠 품질
웹사이트에 제공되는 콘텐츠(텍스트, 이미지, 비디오 등)는 관련성이 높고,
독창적이며, 유용해야 한다. 사용자가 찾고 있는 정보를 제공함으로써 검색 결과에서 더 높은 순위를 얻을 수 있다
2. 키워드 최적화
사용자가 검색할 때 사용할 가능성이 높은 단어나 구문인 키워드를 콘텐츠에 효과적으로 포함시키는 것이며
키워드는 제목, 하위 제목, 본문 내용, 메타 태그 등에 포함될 수 있다
3. 백링크 구축
다른 웹사이트로부터 내 사이트로 향하는 링크를 '백링크'라고 한다.
많은 고품질 사이트로부터 백링크를 받는 것은 검색 엔진에게 내 웹사이트가 신뢰할 수 있고 권위 있는 콘텐츠를 제공한다는 신호를 보낸다
SEO의 중요성
가시성 향상
SEO를 통해 검색 엔진 결과에서 더 높은 순위를 얻음으로써, 더 많은 사람들이 당신의 웹사이트를 발견하고 방문할 확률이 높아진다
유기적 트래픽 증가
광고에 의존하지 않고 자연스럽게 사이트를 찾는 방문자 수를 늘릴 수 있다
사용자 경험 개선
SEO는 웹사이트를 사용자 친화적으로 만드는 데도 중요한 역할을 하는데 검색 엔진은 사용자가 쉽게 정보를 찾을 수 있도록
구성된 사이트를 선호한다
❤ 김춘장이의 위키백과 - 나만의 공부 기록 Tistory ❤
gayulz - Overview
개발자가 되고싶은 개발어린이💟. gayulz has 11 repositories available. Follow their code on GitHub.
github.com