HTTP 상태 코드
1) HTTP란?
HTTP는 HyperText Transfer Protocol(하이퍼텍스트 전송규약)의 줄임말로 클라이언트와 서버 사이에 이루어지는 요청/응답 프로토콜인데요. 예시로, 클라이언트(PC 및 브라우저)가 HTTP를 통해 서버에게 정보를 요청하면 서버는 이 요청에 응답하여 해당 정보를 클라이언트에 전달합니다. 그러면 여러분은 이 정보를 여러분의 모니터에서 볼 수 있게 됩니다.
2) HTTP 상태 코드란?
클라이언트가 보낸 HTTP 요청에 대한 서버의 응답 코드입니다. 상태 코드에 따라 요청의 성공/실패 여부를 세 자릿수(예시: 404)로 구분합니다.
3) HTTP 상태 코드 분류
- HTTP 상태 코드 분류표
분류 내용
1xx Informational(조건부 응답) | 클라이언트가 서버에 정보를 요청했지만 해당 요청이 여전히 처리 중임을 나타냅니다 (해당 상태 코드를 접할 일은 많이 없습니다). |
2xx Successful(성공) | 여러분이 원하는 상태 코드입니다. 이러한 코드는 서버가 브라우저의 요청을 수신하고 성공적으로 처리했음을 나타냅니다. |
3xx Redirection(리디렉션) | 3xx 리디렉션은 서버가 요청된 페이지가 일시적으로 또는 영구적으로 이동되었음을 클라이언트에 알릴 때 나타납니다. 원래 요청한 리소스를 더 이상 사용할 수 없습니다. |
4xx Client Error(요청 오류) | 클라이언트의 잘못된 요청으로 서버가 이해를 못해 요청을 수행할 수 없음을 의미합니다. |
5xx Server Error(서버 오류) | 클라이언트가 특정 리소스에 대한 액세스를 요청하고 성공했지만 서버 오류로 인해 서버가 요청을 정상 처리하지 못함을 의미합니다. |
4) HTTP 상태 코드가 중요한 이유
SEO 작업 시 HTTP 상태 코드에 대한 지식이 없는 것은 불어를 모르는 사람이 프랑스 파리의 다이닝 레스토랑을 관리하는 것과 같습니다. 식당에서 많은 일이 일어나지만 무엇이 어떻게 되고, 왜 일어났는지, 어떻게 개선해야 할지 모르는 것과 같습니다.
5) 흔하게 접하는 HTTP 상태 코드 6가지
- 200 OK
- 301 (Moved Permanently)
- 302 (Found / Moved Temporarily)
- 303 (See other)
- 403 (Forbidden)
- 404 (Not Found)
- 500 (Server Error)
- 503 (Service Unavailable)
오류확인 ⇒ 전부다 access log 에서 확인 가능
– 200 (OK)
의미: 여러분이 가장 원하는 상태 코드입니다. 서버가 응답으로 HTTP 상태 코드 200을 보낼 시 요청이 성공적으로 수신되었음을 클라이언트에 알려주고 요청된 내용으로 응답합니다. 즉, 모든 것이 정상적으로 작동되었다는 것을 의미합니다.
개인 측면 의미: 페이지가 완벽히 로딩되었다는 것을 뜻합니다. SEO 측면에서 추가적인 작업은 필요하지 않습니다.
– 301 (Moved Permanently)
**의미: ‘**301 리디렉션’은 URL이 영구적으로 다른 위치로 이동했음을 뜻합니다. 해당 요청 및 이후의 모든 요청은 다른 URL로 리디렉션 되어야 합니다.
영구적인 특성상 리디렉션된 요청 URL의 모든 신호는 대상 URL로 전달됩니다. 브라우저도 향후 추가 요청을 저장하기 위해 ‘301 리다이렉트’를 캐시하는데요, 캐시 작업을 통해 페이지 표시 속도가 빨라져 사용자 환경 또한 개선됩니다.
개인 측면 의미: 검색 엔진이 301에 해당되는 페이지를 확인하면 이전 페이지의 페이지 순위 및링크에 대한 점수가 새 페이지로 전달합니다. 위치 변경이 일시적인 경우 301 코드를 사용하면 안 되는데요. 이전 URL 위치로 회귀하는 경우 더 이상 페이지 순위나 링크에 대한 점수가 매겨지지 않기 때문입니다.
– 302 (Found / Moved Temporarily)
**의미: ‘**302 리디렉션’은 URL이 일시적으로 다른 위치로 이동했음을 뜻합니다.
많은 시간이 지나면 검색 엔진에서 302 리다이렉트를 301 리다이렉트로 처리할 수 있음을 명심하세요.
개인 측면 의미: 일시적인 특성상 리디렉션된 URL의 페이지 순위나 링크에 대한 점수는 대상 URL로 전달되지 않으며 리디렉션된 URL은 통합되지 않고 순위가 매겨집니다.
– 303 (See Other)
의미: 요청자가 다른 위치에 별도의 GET 요청을 하여 응답을 검색할 경우 서버는 이 코드를 표시한다. HEAD 요청 이외의 모든 요청을 다른 위치로 자동으로 전달한다.
– 403 (Forbidden)
의미: 서버가 요청을 거부하고 있다. 예를 들자면, 사용자가 리소스에 대한 필요 권한을 갖고 있지 않다. (401은 인증 실패, 403은 인가 실패라고 볼 수 있음) , 권한이 없다.
– 404 (Not Found)
의미: 404 상태 코드는 손상된 링크를 클릭할 때 표시되므로 웹을 검색하는 대부분의 사용자 가장 많이 접하는 일반적인 상태 코드입니다. “404 에러”는 요청된 리소스를 찾을 수 없음을 나타내는데요. 즉, 클라이언트는 서버와 통신할 수 있지만 서버 측에선 클라이언트가 요청한 바를 찾을 수 없다는 것을 뜻합니다
404 에러는 개발자 혹은 서버 유지보수 단에서 생긴 문제 때문에 존재하는 콘텐츠에 대해서도 404 에러가 발생할 수 있습니다. 콘텐츠를 제거하지 않았다면 URL에서 404 오류를 반환하도록 하는 것은 좋지 않습니다.
개인 측면 의미: 구글은 404 에러는 SEO, 정확히 말씀드리자면 사이트의 검색 성과에 영향을 미치지 않는다고 밝혔습니다.
그럼에도 불구하고, 삭제된 콘텐츠의 URL을 여러분의 웹사이트에서 제거하는 것을 권장 드립니다. 검색 엔진은 차치하더라도 404 에러 페이지는 웹사이트 방문자에게 혼선을 줄 뿐만 아니라 웹사이트 재방문률에 대해 부정적인 영향을 미치기 때문입니다.
또한 웹사이트 내 존재하는 인링크가 404 페이지들로 향하면 웹사이트 순위에 영향을 끼칠 수 있는 것 또한 명심해야합니다.
마지막으로, 여러분이 콘텐츠를 없애지 않았는데 404에러가 발생하면 큰 문제이기에 개발자 혹은 서버 관리자와 함께 문제를 해결해야 합니다.
– 500 (Server Error)
의미: ‘500 서버 에러’이 코드는 서버가 사용자의 리소스 요청을 처리할 수 없을 때 나타납니다. 이러한 에러는 서버 구성 에러로 인해 발생하는 일반적인 에러입니다. 문제 요인으로 잘못된 형식의 htaccess 파일(Apache 기반 웹 서버에서 디렉토리에 대한 설정 옵션을 제공하는 파일)과 잘못 실행된 PHP 파일에서 누락된 패키지가 자주 의심됩니다.
개인 측면 의미: 내부 서버 오류는 특히 상황이 한동안 감지되지 않을 경우 SEO에 매우 강력하고 부정적인 영향을 미칠 수 있습니다. 가끔 일어나는 실수는 문제가 되지 않습니다. 하지만 페이지를 보내는 웹 서버가 페이지를 표시하려고 할 때 오류가 발생하기에 정상적으로 보여야할 페이지가 보이지 않을 경우 SEO는 영향을 받습니다.
– 503 (Service Unavailable)
의미: 503 코드는 서버를 현재 사용할 수 없으며 그 결과 클라이언트의 요청을 처리할 수 없음을 나타냅니다. 404 에러는 한개의 페이지에서 일어난다면, 503 에러는 웹사이트 전체에 영향을 줍니다. 대개의 경우에는 서버 점검, 혹은 서버 과부하 때문에 발생합니다.
개인 측면 의미: 일시적인 503 에러는 사실 문제가 되지 않습니다. 하지만, 503 상태가 지속되면 검색 엔진의 인덱스에서 URL이 제거되어 SEO에 심각한 영향을 미칠 수 있습니다.
+HTTP 상태 코드 확인 방법
https://seo.tbwakorea.com/blog/what-is-http-status-code/#part1
'。*:・゚☆・゚schedule・゚*:・゚★・:*:・☆ *:・゚★ > 개인프로젝트' 카테고리의 다른 글
교착상태(Deadlock) (2) | 2023.11.23 |
---|---|
IT의 개요 1 (0) | 2023.10.31 |
[개인프로젝트] JSP 게시판 만들기 5 (회원가입 페이지 디자인) (0) | 2023.10.11 |
[개인프로젝트] JSP 게시판 만들기 3-1 (회원 데이터베이스 구축하기) (0) | 2023.10.09 |
[개인프로젝트] JSP 게시판 만들기 3 (회원 데이터베이스 구축하기) (1) | 2023.10.09 |