📌HTTP 상태 코드
에러가 발생한 경우에는 클라이언트에 에러가 났다고 알려줘야합니다. 그 때 보내는 게 상태 코드입니다. 이제부터 어떤 종류의 응답 코드가 있는지 알아보겠습니다.
1. 1XX 정보
- 100은 서버가 요청의 일부를 받았으며, 나머지 요청을 더 기다리고 있다는 것을 나타냅니다.
- 101은 http에서 https같이 프로토콜 전환이 일어났을 때 전환이 승인되었음을 알려줍니다. 보통 웹소켓을 할 때 101을 본 것 같습니다.
2. 2XX 성공
- 200은 성공을 의미하거든요. 대부분은 200이고 몇 가지 다른 게 있습니다.
- 201은 새로운 컨텐츠 만들기에 성공했을 때 사용합니다. 새로운 포스트를 썼다든가, 새로운 댓글을 썼을 때 보내주면 됩니다. POST 메소드에 대한 응답으로 잘 어울립니다.
- 204는 요청이 성공은 했지만 응답할 콘텐츠가 없을 경우를 뜻합니다.
- 206은 스트리밍의 경우와 같이 요청에 대한 응답으로 일부만 먼저 전송한 경우 보내줍니다.
3. 3XX 리다이렉션
300번대는 페이지를 이동 시킬 때 사용합니다.
- 특히 301 페이지는 영구적으로 주소가 바뀌었을 경우, 301 코드와 함께 새로운 주소로 이동시킵니다. 새로운 주소는 캐싱되기 때문에 속도가 빨라집니다.
- 반면, 302는 임시적으로 주소가 바뀌었을 경우 사용합니다. 또는 로그인 후 메인페이지로 이동한다든가 할 때에도 사용됩니다. 대부분의 리다이렉트는 302 코드를 사용합니다. 영구적으로 주소를 바꾸는 경우는 드물거든요.
- 304는 이전에 방문했을 때의 요청 결과와 다르지 않을 경우 표시됩니다. 즉 캐시된 페이지를 그대로 사용합니다.
- 307은 임시로 페이지를 리다이렉트하는 겁니다.
4. 4XX 클라이언트 오류
400번대 부터는 에러입니다.
- 400은 서버가 요청을 이해하지 못 할 경우 발생합니다. 올바른 요청을 보냈는지 검사해야 합니다.
- 401은 로그인을 하지 않아 페이지를 열 권한이 없는 겁니다.
- 403은 금지된 페이지입니다. 로그인을 하든 안하든 상관없이 접근할 수 없는 페이지는 403을 전송합니다. 관리자 페이지가 이겁니다.
- 404는 찾을 수 없는 페이지입니다. 주소를 잘못 입력했거나 하면 404를 요청합니다. 403 대신에 404를 전송하는 경우도 많습니다. 왜냐하면, 403을 전송하면 금지되었긴 하지만 어쨌든 어떠한 페이지는 있는 것이기 때문에 해커들의 공격을 받을 수 있습니다. 이를 방지하고자 아예 404를 보내 없는 페이지처럼 위장하기도 합니다.
- 408은 요청 시간 초과입니다.
- 409는 서버가 요청을 처리하는 과정에서 충돌이 발생한 경우입니다. (회원가입을 했는데 이미 사용하고 있는 아이디인 경우)
- 410은 영구적으로 사용할 수 없는 페이지입니다.
- 451은 새로 생겼습니다. warning.or.kr처럼 법적으로 막힌 페이지를 표시할 때 451 코드를 전송합니다.
5. 5XX 서버 오류
500번대는 서버 오류입니다. 요청은 제대로 전송되었지만 서버가 처리하지 못하는 경우입니다.
- 500은 내부 서버 에러(Internal Server Error)가 날 때 전송됩니다. 이것은 서버 상의 에러이기 때문에 해당 서버 관리자가 반드시 살펴봐야 합니다.
- 501은 서버에 아직 해당 요청을 처리하는 기능을 만들지 않았다는 뜻입니다.
- 502는 서버로 가는 요청이 중간에서 유실된 경우입니다.
- 503은 서버가 터졌거나(접속이 폭주 또는 Ddos 공격) 유지보수중일 때 전송합니다. 하지만 유지보수중일 때는 503을 보내기보다는 유지보수중이라는 것을 알려주는 페이지를 전송해주는 것이 좋습니다.
- 504는 서버 게이트웨이에 문제가 생겨 시간 초과가 된 경우입니다.
- 505는 HTTP 버전이 달라 요청을 처리할 수 없음을 뜻합니다.
'System > 네트워크' 카테고리의 다른 글
💻 Web Server와 WAS의 차이 (0) | 2022.06.17 |
---|---|
📌출처(Origin) 정의 (0) | 2022.06.16 |
📌쿠키, 세션, 웹 스토리지 (0) | 2022.04.27 |
💻 SOP, CORS 이란? (0) | 2022.04.25 |
HTTP vs HTTPS (0) | 2022.04.12 |