HTTP 메소드 및 상태 코드

Noa·2022년 12월 15일
0

React

목록 보기
20/22

HTTP 메소드란

클라이언트가 웹 서버에게 사용자 요청의 목적이나 종류를 알리는 수단이다.

HTTP 메소드 종류와 특징

주요 메소드

GET: 리소스 조회

GET은 보통 리소스를 조회할 때 사용, 서버에 전달하고 싶은 데이터를 query를 통해서 전달한다.
메시지 바디를 사용해서 데이터를 전달할 수는 있지만, 지원하지 않는 곳이 많아서 권장하지 않는다.

=> 리소스 조회용도, 데이터를 query를 통해서 전달, 바디에 데이터를 담지 않는 것을 권장

POST: 요청 데이터 처리, 주로 데이터 등록에 사용

POST는 데이터 요청을 처리하고, 메시지를 바디를 통해 서버로 데이터를 전달. 주로 신규 리소스를 등록하거나 프로세서 처리에 사용.

=> 바디를 통해 서버로 데이터 전달, 신규 리소스 등록, 프로세서 처리에 사용

PUT: 리소스를 대체, 해당 리소스가 없으면 생성

PUT은 리소스가 있으면 대체하고, 리소스가 없으면 생성한다.

=> 즉 데이터를 덮어쓴다.

PATCH: 리소스를 일부만 변경

PATCH는 PUT과 마찬가지로 리소스를 수정할 때 사용하지만, PATCH는 리소스를 일부분만 변경할 수 있다.

=> 리소스의 일부분만 수정

DELETE: 리소스 삭제

DELETE는 리소스를 제거할 때 사용

=> 리소스 제거

HTTP 메소드의 속성

안전(Safe Methods)

계속해서 메소드를 호출해도 리소스를 변경하지 않는다. 주요 메소드 중에는 GET 메소드가 안전하다고 볼 수 있다.

멱등(Idempotent Methods)

메소드를 계속 호출해도 결과가 똑같다는 뜻. GET, PUT, DELETE는 멱등하다고 볼 수 있지만, POST나 PATCH는 멱등하다고 볼 수 없다.

캐시가능(Cacheable Methods)

캐시 가능하다 = 캐싱을 해서 데이터를 효율적으로 가져올 수 있다.
GET, HEAD, POST, PATCH가 캐시가 가능하지만, 실제로는 GET과 HEAD만 주로 캐싱이 쓰인다.

요청(클라이언트가 보낼때)에 Body가 있음: POST, PUT, PATCH
응답에 Body가 있음: GET, POST, PUT, DELETE, PATCH

보통 이러한 메소드는 적절한 uri설계와 같이 이루어 지는데, restful api설계 방식을 보통 따르곤한다.


HTTP 상태코드종류와 의미

200 번대는 성공의 의미를 뜻함.

200 OK: 요청 성공

201 Created: 요청 성공해서 새로운 리소스가 생성됨

400 번대는 클라이언트 측에서 오류가 발생했다고 알려주는 것

400 Bad Request: 클라이언트가 잘못된 요청을 처리할 수 없음

401 Unauthorized: 클라이언트가 해당 리소스에 대한 인증이 필요함

403 Forbidden: 서버가 요청을 이해했지만 승인을 거부함

404 Not Found: 요청 리소스를 찾을 수 없음

500번대는 서버측 오류

500 Internal Server Error: 서버 문제로 오류 발생, 애매하면 500 오류

503 Service Unavailable: 서비스 이용 불가

다양한 상태 코드

기타 메소드

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

profile
몰입

1개의 댓글

comment-user-thumbnail
2022년 12월 16일

sadfsad

답글 달기