본문 바로가기
IT/Knowledge

HTTP Method (종류 및 상태코드)

by 성준하이 2024. 1. 12.
반응형

클라이언트와 서버와 통신을 하기위한 프로토콜은 HTTP를 주로 사용하는데 Method 방식이라는것이 있다.

 

Restapi를 사용할 경우 이 방식에 대한 개념이 필요하다.

Restapi에 대해서는 아래 참고 포스팅을 참고 바란다.

 

HTTP 메소드의 종류는 총 9가지가 있다. 이 중 주로 쓰이는 메소드는 5가지가 있다.

종류는 아래와 같다.

주요 Method 5가지

GET : 리소스 조회
POST : 요청 데이터 처리, 주로 데이터 등록에 사용
PUT : 리소스를 대체, 해당 리소스가 없으면 생성
PATCH : 리소스를 일부만 변경
DELETE : 리소스 삭제

 

기타 Method 4가지

HEAD: GET과 동일하지만 메시지 부분을 제외하고, 상태 줄과 헤더만 반환
OPTIONS: 대상 리소스에 대한 통신 가능 옵션을 설명(주로 CORS에서 사용)
CONNECT: 대상 자원으로 식별되는 서버에 대한 터널을 설정
TRACE: 대상 리소스에 대한 경로를 따라 메시지 루프백 테스트를 수행

 

이렇게 Method 의 종류가 있다.

그리고 상태값에 대한 내용은 아래와 같다.

100번대 (Informational): 요청이 수신되어 처리중
200번대 (Successful): 요청 정상 처리
300번대 (Redirection): 요청을 완료하려면 추가 행동이 필요
400번대 (Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음
500번대 (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함


HTTP 상태코드 종류와 의미

  • 1xx
    100 번대는 요청이 수신되어 처리중이라는 뜻인데 거의 사용하지 않됨
  • 2xx
    200번대는 성공의 의미를 뜻하는데 더 자세하게는 다음과 같다.
    200 OK : 요청 성공
    201 Created : 요청 성공해서 새로운 리소스가 생성됨
    202 Accepted : 요청이 접수되었으나 처리가 완료되지 않았음
    204 No Content : 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없음
  • 3xx
    300 번대는 리다이렉션인데 이는 location 헤더가 있으면 location 위치로 자동 이동
    301 Moved Permanently : 리다이렉트시 요청 메서드가 GET으로 변하고, 본문이 제거될 수 있음
    302 Found : 리다이렉트시 요청 메서드가 GET으로 변하고, 본문이 제거될 수 있음
    303 See Other : 리다이렉트시 요청 메서드가 GET으로 변경
    304 Not Modified : 캐시를 목적으로 사용
    307 Temporary Redirect : 리다이렉트시 요청 메서드와 본문 유지(요청 메서드를 변경하면 안된다.)
    308 Permanent Redirect : 리다이렉트시 요청 메서드와 본문 유지(처음 POST를 보내면 리다이렉트도 POST 유지)
  • 4xx
    400번대는 클라이언트 측에서 오류가 발생했다고 알려주는 것이다. 자세한 사항은 다음과 같다.
    400 Bad Request : 클라이언트가 잘못된 요청을 해서 서버가 요청을 처리할 수 없음
    401 Unauthorized : 클라이언트가 해당 리소스에 대한 인증이 필요함
    403 Forbidden : 서버가 요청을 이해했지만 승인을 거부함
    404 Not Found : 요청 리소스를 찾을 수 없음
  • 5xx
    500번대는 서버 측에서 오류가 발생했다고 알려주는 것이다. 자세한 사항은 다음과 같다.
    500 Internal Server Error : 서버 문제로 오류 발생, 애매하면 500 오류
    503 Service Unavailable : 서비스 이용 불가

참고 포스팅

https://thenicesj.tistory.com/120

 

REST API / RESTful API 차이점?

REST(REpresentational State Transfer) 자원을 이름으로 구분해서 해당 자원의 상태를 주고 받는 것을 의미한다. 즉, resource(자원) 의 represeㅜtation(표현) 에 의한 상태 전달이다. HTTP 프로토콜을 그대로 사용

thenicesj.tistory.com

 

반응형

'IT > Knowledge' 카테고리의 다른 글

Dispatcher Servlet 이란? (feat. FrontController 패턴)  (25) 2024.01.18
SPA / MPA 에 대해서  (23) 2024.01.16
Service Mesh 란?  (34) 2024.01.09
[kubernetes] 사이드카 패턴  (21) 2024.01.08
메시 네트워크(Mesh network)  (25) 2024.01.07

댓글