본문 바로가기
웹(Web)/웹리뷰

'HTTP 상태 코드' 왜 알아야할까? 내 머리만 더 복잡해지네

by 앱또웹 2024. 1. 30.
728x90
반응형

처음 개발을 시작하고자 코딩을 접한 여러분들

어떻게 시작하고 어떤 언어를 해야 할지 막막하지 않으신가요?

저 또한 지금, 현재 그렇게 느끼고 있답니다.

그러던 중 흔한 질문에 빠지게 됩니다.

"앱개발을 배워야 할까? 웹개발을 배워야 할까?"

(아빠냐 엄마냐...?)

흔히들 이런 질문에 답합니다.

"요즘 대새는 스마트폰 '앱 개발'이지!"

하지만 저는 언더독 성향이 강해서 그런지

청개구리 마냥 반대로 생각했습니다.

'모두가 앱 개발을 시작하는 이 시점에서,

가장 먼저 진입하였지만 현재는 외면 받아가는 웹 개발을 시작함으로써

방대한 기존 자료들로 javascript 언어를 독학하고

무자본으로 무언갈 이루어 낼 수 있지 않을까?'

 

그렇다면 ... 웹(Web)에 대해서 조금 더 알아보자!

이렇게 다짐을 하게 되었지요 ....

 

[목차]

- error 404, not found

- HTTP 상태 코드


- error 404, not found

제목에 있는 그대로 익숙한 에러 페이지 아닌가요?

웹이 활성화 되어있는 때에도,

앱이 활성화 되어있는 요즘에도

간간히 보게되는 에러 페이지 입니다.

이 페이지를 보게된다면 항상 생각하죠

'아... 문제가 생겼구나'

개발을 배우기 전 그냥 그러려니 하고

뒤로가거나 다른 페이지 혹은 재 검색을 통해 원하는 결과를 도출 했습니다.

뭔가 찾을 수 없다고하니깐 그냥 다시 찾지 뭐

혹자는 우리에게는 있잖아! Backspace! 백스페이스느님!!

블리자드는 아옳옳을 내새운 페이지를 찾을수 없는 귀여움을 보여주고

깃허브에서는 마스코드인 캐릭터를 보여주고

맵을 활용한 배틀그라운드처럼

 

이제는 HTTP 에러 페이지 조차 하나의 브랜드화가 되어 있다는 사실!


- HTTP 상태 코드

그렇다면 우리는 이제 다양한 HTTP 상태 코드를 파헤쳐 봅시다!

우선 어떻게 찾아야할지 막막한 독학개발자들을 위한 요즘 대세!

인공지능 AI!

참고로 저는 챗gpt에서 바드로 갈아탄 유저이기 때문에 바드 찬스를 한번 사용해보겠습니다.

우리 바드는 친절하게 알려주는데 그 내용을 한번 나열하며 곱씹는 시간을 가져볼께요

 

우선 크게 5가지로 나뉩니다

1** / 2** / 3** / 4** / 5**

각 각의 숫자로 시작하는 항목별로 지닌 의미가 다른데요

우선은

1**(정보, Informational) : 요청 받아 프로세스를 계속한다.

  1. 100, continue : 클라이언트 요청을 계속한다.
  2. 101, switching Protocols : 프로코톨 전환한다.
  3. 102, processing : 요청 처리 중이다.
  4. 103, early Hints : 요청 처리 전 미리 정보 제공한다.

2**(성공, Successful) : 요청 성공

  1. 200, ok : 요청 성공
  2. 201, created : 요청 완료하여 새 리소스 생성
  3. 202, accepted : 요청 수락되었으나 처리 완료 불가
  4. 203, non-authoritative information : 요청 완료지만 해당 정보 권한이 없는 기관에서 제공
  5. 204, no content : 요청 성공하였으나 응답 콘텐츠 존재하지 않음
  6. 205, reset content : 요청 성공하였으나 클라이언트 콘텐츠 재 로드
  7. 206, partial content : 요청 성공하였으나 응답 요청에 모든 콘텐츠 미 포함
  8. 207, multi-status : 
  9. 208, already reported :
  10. 226, im used :

3**(리다이렉션, Redirection) : 요청 완료를 위한 추가 작업 필요

  1. 300, multiple choices : 
  2. 301, moved permanently : 요청 리소스 영구적 이동
  3. 302, found : 요청 리소스 임시 이동
  4. 303, see other : 요청 완료를 위한 다른 URL 사용
  5. 304, not modified : 요청 리소스 변경
  6. 305, use proxy :
  7. 307, temporary redirect : 요청 완료를 위한 다른 URL 사용해야 하지만, 클라이언트는 이전 URL로 유지
  8. 308, permanent redirect : 

4**(클라이언트 오류, Client Error) : 요청 문법 에러 혹은 요청 처리 불가

  1. 400, bad request : 요청이 잘못 됨
  2. 401, unauthorized : 요청 수행 시 인증 필요
  3. 402, payment required : 요청 지불 필요하여 유료에 대한 요청 발생
  4. 403, forbidden : 요청 수행 권한 필요
  5. 404, not found : 요청 리소스 없음
  6. 405, method not allowed : 요청 된 http 메서드 허용 불가
  7. 406, not acceptable : 요청 콘텐츠 유형 사용 불가
  8. 407, proxy authentication required : 요청 시 프록시 인증 필요
  9. 408, request timeout : 요청 시간 오버
  10. 409, conflict : 요청 완료 불가, 이미 만료되었거나 다른 요청 충돌 발생
  11. 410, gone : 요청 리소스 영구 삭제
  12. 411, length required : 요청 콘텐츠 길이 미 포함
  13. 412, precondition failed : 요청 포함 조건 미 충족
  14. 413, payload too large : 요청 포함 콘텐츠가 너무 크다
  15. 414, request-uri too long : 요청 URI가 너무 길다
  16. 415, unsupported media type : 요청 콘텐츠 유형 미 지원
  17. 416, request range not satisfiable : 요청 범위 콘텐츠 미 제공
  18. 417, expectation failed : 요청 기대치 미 충족
  19. 418, i'm a teapot : 1998년 4월 1일 만우절 농담 콘텐츠
  20. 420, enhance your calm : 2015년 4월 1일 만우절 농담 콘텐츠
  21. 421, misdirected request : 요청 대상 잘못 전송
  22. 422, unprocessable entity : 요청 콘텐츠 잘못 혹은 서버 미 처리 시 발생
  23. 423, locked : 요청 리소스 잠김
  24. 424, failed dependency : 요청 완료 시 다른 요청 실패
  25. 425, too early : 요청을 너무 일찍 도착함
  26. 426, upgrade required : 요청 완료 시 http 프로토콜 버전 업그레이드 필요
  27. 428, precondition required : 요청 완료 조건 미 충족
  28. 429, too many requests : 요청을 너무 많이 보냄
  29. 431, request header fields too large : 요청 헤더 필드 큼
  30. 444, no response : 서버 요청 미 응답
  31. 450, blocked by windows parental controls : 요청은 법적으로 미 사용
  32. 451, unavailable for legal reasons : 요청은 공공 정책 이유로 미 사용
  33. 497, http request sent to https port : 요청 포함 기대치 미 충족
  34. 498, token expired/invalid : 요청 범위 콘텐츠 미 제공
  35. 499, client closed request : 클라이언트 요청 취소

5**(서버 오류, Server Error) : 서버 오류 발생 요청 수행 불가

  1. 500, internal server error : 서버 내부 오류 발생
  2. 501, not implemented : 요청 기능 미 구현, http 메서드 서버 미 지원 시 발생
  3. 502, bad gateway : 프록시 서버 요청 처리 불가
  4. 503, service unavailable : 서버 사용 불가, 일반적 서버 과부화 호은 유지 보수 관리 중일 경우
  5. 504, gateway timeout : 프록시 서버 요청 시 딜레이 발생
  6. 506, variant also negotiates : 요청 완료 시 다른 프로토콜 사용
  7. 507, insufficient storage : 요청 완료 시 더 큰 저장 공간 필요
  8. 508, loop detected : 요청 무한 루프 발생
  9. 509, bandwidth limit exceeded : 요청 완료 시 더 많은 대역폭 필요
  10. 510, not extended : 요청 시 확장 미 지원
  11. 511, network authentication required : 요청 완료 시 네트워크 인증 필요
  12. 521, web server is down : 웹 서버 다운
  13. 522, connection timed out : 클라이언트 서버 간 연결 타임 아웃
  14. 523, origin is unreachable : 요청 원본 미 도달
  15. 525, http version not supported : 요청 http 프로토콜 미 지원
  16. 530, forbidden by proxy : 프록시 서버 요청 금지
  17. 599, network connect refused : 네트워크 연결 거부

 

헥헥 ...

위처럼 다양한 http 상태 코드를 알아보았는데요

주로 1** 에 해당하는 친구들은 요청 처리 중으로 취급되어 잘 만나지 않게 되지만,

2** / 3** / 4** / 5** 친구들은 주로 만나게 된답니다.

그리고 이전에 기억을 더듬어 보면 그 중 가장 많이 만나는 친구들은 4** / 5** !!!

(그래서 그런가 ... 엄청 항목도 많은거 같아요....)

사실 제가 나름 정리해서 쓰긴 했지만,

뛰어난 능력을 지닌 웹-벡엔드 개발자도 아닌 독학개발자들에게는 잘 와닿지 않는데요

그 중 이미지로 조금 더 친숙하게 접할 수 있는 페이지를 마지막으로 공유하고 저는 오늘은 이만

물러나 보도록 하겠습니다!

https://http.cat/

 

 

HTTP Cats

API for HTTP Cats

http.cat

 

 

728x90
반응형