Http(Hypertext Transfer Protocol)는 웹 서버와 웹 클라이언트 간 데이터 통신방식으로 TCP/IP프로토콜 위에 동작합니다.
웹브라우저에 도메인 주소 (https://www.google.com) 를 입력하면 클라이언트와 서버간에 HTTP 연결을 통해 HTTP 요청 메시지가 요청, 응답을 진행 하게 됩니다. 이런 수많은 통신을 진행 하면서 서버와 클라이언트간의 정보를 주고 받을 수 있는데 이때 통신에 대한 상태 코드를 통해 해당 통신이 어떤 상태인지 확인 할수 있습니다.
1xx, 2xx.. 와 같이 첫번째 숫자는 HTTP 응답의 종류를 구분 나머지는 세부 정보를 표기 합니다.
👉1xx:Informational(정보제공)
임시 응답으로 현재 까지 클라이언트의 요청은 처리되었으나 계속 진행을 뜻하며 HTTP1.1 버전부터 추가됨
👉2xx:Success(성공)
클라이언트의 요청이 서버에서 성공적으로 처리
👉3xx:Redirection(리다이렉션)
완전한 처리를 위해서 추가 동작이 필요( 주로 서버 주소 및 요청한 URI의 웹문서가 이동되어 그주소로 다시 시도 요청 필요
👉4xx:Client Error(클라이언트 에러)
없는 페이지 요청 등 클라이언트 요청이 잘못된경우
👉5xx:Server Error(서버 에러)
서버 사정으로 메시지 처리에 문제가 발생, 서버 부하, DB처리 오류, 서버 예외에서 발생
HTTP 응답 상태코드는 IANA(Internet Assigned Numbers Authority)라는 인터넷 할당 번호 관리기관에서 HTTP 상태 코드를 레지스트라는 이름으로 관리
🦖 IANA(Internet Assigned Numbers Authority)란?
👉인터넷에서 가장 오래된 기관으로 인터넷 할당 번호 기관으로 IP주소
https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
Hypertext Transfer Protocol (HTTP) Status Code Registry
www.iana.org
✅ 1XX: Informational (정보 제공)
상태 코드상태 텍스트한국어 뜻서버 측면에서의 의미
상태코드 | 상태 텍스트 | 서버 측면에서 의미 | |
1XX | Informational | 정보 제공 | 클라이언트의 요청을 받았으며 작업을 계속 진행하고 있다는 정보 제공. 1XX 계열의 응답은 HTTP/1.1 클라이언트에게만 보낼 수 있으며 응답은 바디 없이 상태 라인, 헤더(생략 가능), 빈 줄로 종료됩니다. |
100 | Continue | 계속 | 클라이언트는 요청 헤더에 ‘Expect: 100-continue’를 보내고 서버가 이를 처리할 수 있으면 이 코드로 응답합니다. |
101 | Switching Protocols | 프로토콜 전환 | 프로토콜을 HTTP 1.1에서 업그레이드할 때 Upgrade 응답 헤더에 표시합니다. 현재는 HTTP 1.1이 최신이므로 사용되지 않음. |
102 | Processing | 처리 중 | 서버가 처리하는 데 오랜 시간이 예상되어 클라이언트에서 타임 아웃이 발생하지 않도록 이 응답 코드를 보냅니다. (WebDAV) |
103 ~ 199 | Unassigned | 할당되지 않음 | 현재 할당되지 않은 상태 코드입니다. |
✅ 2XX: Successful (성공적인 요청)
상태 코드상태 텍스트한국어 뜻서버 측면에서의 의미
상태코드 | 상태 텍스트 | 서버 측면에서 의미 | |
2XX | Successful | 성공 | 클라이언트가 요청한 동작을 서버가 수신하여 이해하였고 승낙하였으며 성공적으로 처리했다는 의미입니다. 서버는 요청을 올바르게 처리했으며 결과를 클라이언트에게 반환합니다. |
200 | OK | 정상 | 요청이 성공적으로 처리되었음 |
201 | Created | 생성됨 | 요청이 성공적으로 처리되어 새로운 리소스가 생성됨 |
202 | Accepted | 수락됨 | 요청이 접수되었지만, 아직 처리되지 않음 (비동기 처리) |
203 | Non-Authoritative Information | 비권한 정보 | 응답 내용이 원본 서버에서 온 것이 아님 (프록시 서버의 수정이 있을 때) |
204 | No Content | 콘텐츠 없음 | 요청이 성공했으나 반환할 콘텐츠가 없음 |
205 | Reset Content | 콘텐츠 리셋 | 클라이언트가 콘텐츠를 리셋하도록 지시 |
206 | Partial Content | 부분 콘텐츠 | 요청이 부분적으로만 성공적으로 처리됨 (Range 요청) |
✅ 3XX: Redirection (리디렉션)
상태 코드상태 텍스트한국어 뜻서버 측면에서의 의미
상태코드 | 상태 텍스트 | 서버 측면에서 의미 | |
3XX | Redirection | 리디렉션 | 클라이언트가 요청한 리소스를 찾기 위해 다른 위치로 리디렉션을 해야 함을 의미합니다. 클라이언트는 해당 URL로 요청을 재전송해야 할 수 있습니다. |
300 | Multiple Choices | 여러 선택지 | 요청한 리소스에 대해 여러 가지 선택이 있을 때 사용됩니다. |
301 | Moved Permanently | 영구 이동 | 요청한 리소스가 영구적으로 다른 위치로 이동했음을 알립니다. |
302 | Found | 임시 이동 | 요청한 리소스가 임시적으로 다른 위치로 이동했음을 알립니다. |
303 | See Other | 다른 곳 보기 | 요청 후 다른 URL로 리디렉션해야 한다는 의미입니다. |
304 | Not Modified | 수정되지 않음 | 클라이언트가 요청한 리소스가 수정되지 않았음을 알리며, 캐시된 데이터를 사용하도록 합니다. |
305 | Use Proxy | 프록시 사용 | 클라이언트가 요청을 프록시 서버를 통해 처리해야 한다는 의미입니다. |
307 | Temporary Redirect | 임시 리디렉션 | 요청한 리소스가 임시적으로 다른 위치로 리디렉션되었음을 알립니다. |
308 | Permanent Redirect | 영구 리디렉션 | 요청한 리소스가 영구적으로 다른 위치로 이동했음을 알리는 최신 리디렉션 상태 코드입니다. |
✅ 4XX: Client Error (클라이언트 오류)
상태 코드상태 텍스트한국어 뜻서버 측면에서의 의미
상태코드 | 상태 텍스트 | 서버 측면에서 의미 | |
4XX | Client Error | 클라이언트 오류 | 클라이언트가 잘못된 요청을 보냈기 때문에 서버가 이를 처리할 수 없음을 나타냅니다. |
400 | Bad Request | 잘못된 요청 | 서버가 요청을 이해하지 못했거나 요청 형식이 잘못되었을 때 사용됩니다. |
401 | Unauthorized | 인증되지 않음 | 요청한 리소스에 접근하려면 인증이 필요하며, 인증 정보가 부족하거나 잘못되었을 때 발생합니다. |
403 | Forbidden | 금지됨 | 요청은 유효하지만 서버가 이를 거부하는 경우 사용됩니다. |
404 | Not Found | 찾을 수 없음 | 요청한 리소스를 서버에서 찾을 수 없을 때 사용됩니다. |
405 | Method Not Allowed | 허용되지 않는 메소드 | 요청한 HTTP 메소드가 리소스에서 지원되지 않을 때 발생합니다. |
406 | Not Acceptable | 허용되지 않음 | 클라이언트가 요청한 리소스의 콘텐츠 유형이 서버에서 지원되지 않을 때 사용됩니다. |
407 | Proxy Authentication Required | 프록시 인증 필요 | 클라이언트가 요청을 프록시 서버를 통해 보내야 하며 인증이 필요함을 나타냅니다. |
408 | Request Timeout | 요청 시간 초과 | 서버가 클라이언트의 요청을 기다리던 중 시간 초과가 발생했을 때 발생합니다. |
409 | Conflict | 충돌 | 요청이 서버의 현재 상태와 충돌할 때 사용됩니다. |
✅ 5XX: Server Error (서버 오류)
상태 코드상태 텍스트한국어 뜻서버 측면에서의 의미
상태코드 | 상태 텍스트 | 서버 측면에서 의미 | |
5XX | Server Error | 서버 오류 | 서버가 클라이언트의 요청을 처리하는 동안 오류가 발생했을 때 사용됩니다. 서버에서 내부적인 문제가 발생했음을 나타냅니다. |
500 | Internal Server Error | 내부 서버 오류 | 서버 내부에서 처리할 수 없는 오류가 발생했을 때 사용됩니다. |
501 | Not Implemented | 구현되지 않음 | 서버가 요청한 기능을 구현하지 않았을 때 사용됩니다. |
502 | Bad Gateway | 잘못된 게이트웨이 | 서버가 게이트웨이 또는 프록시로서 요청을 처리하는 중에 오류가 발생했을 때 사용됩니다. |
503 | Service Unavailable | 서비스 이용 불가 | 서버가 일시적으로 과부하 상태이거나 유지보수 중일 때 발생합니다. |
504 | Gateway Timeout | 게이트웨이 시간 초과 | 서버가 게이트웨이나 프록시로서 다른 서버와의 연결에서 시간 초과가 발생했을 때 사용됩니다. |
505 | HTTP Version Not Supported | HTTP 버전 지원 안됨 | 서버가 요청에 사용된 HTTP 버전을 지원하지 않을 때 발생합니다. |
Ref. https://hongong.hanbit.co.kr/http-%EC%83%81%ED%83%9C-%EC%BD%94%EB%93%9C-%ED%91%9C-1xx-5xx-%EC%A0%84%EC%B2%B4-%EC%9A%94%EC%95%BD-%EC%A0%95%EB%A6%AC/
'💜99_기타 > 03_웹 지식' 카테고리의 다른 글
#AWS #AmazonWebServices #클라우드서비스 #AWS개념정리 (2) | 2024.11.18 |
---|---|
#SaaS #클라우드서비스 #소프트웨어서비스 #비즈니스효율성 #협업툴 #구독형서비스 #CRM #원격근무#비용절감 (0) | 2024.11.18 |
#HTTP상태코드 #HTTP에러코드 #404에러 #500에러 #HTTP상태 #웹개발 #API에러 #웹사이트에러 #서버에러 #클라이언트에러 #상태코드 (0) | 2024.11.18 |
#사이트맵 #sitemap.xml #SEO #SearchEngineOptimization #크롤링 #검색봇 (2) | 2024.03.14 |
#http #HyperTextTransperProtocol #특징 #Stateless #Stateful #비연결성 #무상태 (0) | 2024.02.13 |
댓글