HTTP Method 란!

Sia·2023년 9월 1일
0

HTTP Method 란!!

클라이언트(사용자)와 서버 사이(내부)에 이루어지는 요청(Request)과 응답(Response) 데이터를 전송하는 방식을 HTTP Method라 말합니다!

쉽게 말해 서버에 주어진 리소스에 수행하길 원하는 행동, 서버가 수행해야 할 동작을 지정하는 요청을 보내는 방법이다.
*예시 참조!!*

HTTP Method의 예시!

나(클라이언트) / 친구(서버) 로 가정하면 됩니다!

나: 친구야 나 저기 있는 저것 좀 줘!

친구: 저기 책상에 있는 연필 이지?


위 부분에서 친구에게 수행하길 원하는 행동을 요청하였습니다!

친구는 요청 온 동작을 수행하여 나에게 주는 행동을 응답 해준다.

HTTP 메소드의 종류와 특징들을 알아보자!

주요 메소드와 기타 메소드로 구분 되어 있더라구요!

간단하게 주요 메소드가 많이 사용 되는 메소드 이고!
기타 메소드는 이런게 있었구나... 라고 알고 있으면 될 것 같습니다!

(솔직히 기타메소드가 있는 줄 몰랐어요....😂)

HTTP 메소드 종류

* 주요메소드

GET : 리소스 조회

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

PUT : 리소스를 대체(덮어쓰기), 해당 리소스가 없으면 생성

PATCH : 리소스 부분 변경 (PUT이 전체 변경, PATCH는 일부 변경)

DELETE : 리소스 삭제

* 기타 메소드

HEAD : GET과 동일하지만 메시지 부분(body 부분)을 제외하고, 상태 줄과 헤더만 반환

OPTIONS : 대상 리소스에 대한 통신 가능 옵션(메서드)을 설명(주로 CORS에서 사용)

CONNECT : 대상 자원으로 식별되는 서버에 대한 터널을 설정

TRACE : 대상 리소스에 대한 경로를 따라 메시지 루프백 테스트를 수행

HTTP 메소드 특징

GET

GET 방식은 메소드는 주로 데이터를 읽거나(Read) 검색(Retrieve)하여 리소스를 조회 할 때에 사용되는 메소드이다. GET요청이 성공적으로 이루어진다면 XML 혹은 JOSN 형태와 함께 200 (Ok) HTTP 응답 코드를 리턴한다.

GET 요청은 idempotent 입니다! 그렇기 때문에 같은 요청을 여러 번 하여도 변함없이 항상 같은 응답을 받을 수 있습니다!

HTTP 명세에 의하면 GET 요청은 오로지 데이터를 읽을 때만 사용되고 수정할 때는 사용하지 않는다.

POST

POST 메소드는 주로 데이터 처리/ 새로운 리소스를 생성(create)할 때 사용된다.

전달된 데이터로 주로 신규 리소스 등록, 프로세스 처리에 사용

메시지 바디(body)를 통해 서버로 요청 데이터 전달하면 서버는 요청 데이터를 처리하여 업데이트

만일 데이터를 GET 하는데 있어, JSON으로 조회 데이터를 넘겨야 하는 애매한 경우 POST를 사용 됩니다!

PUT

리소스를 생성, 대체로 수정(Update)하는 메소드 입니다!

만일 요청 메세지에 리소스가 있으면 기존 리소스에 덮어쓰고, 없으면 새로 생성한다.

PUT은 부분 수정이 되지 않는다! (예시)

기존 데이터에 책상과 의자가 들어가있다! (기존데이터)

하지만 예쁜의자를 넣고 싶어서 넣었더니! (수정)

책상과 의자가 없어지고 예쁜의자만 남아있는 형태가 만들어진다! (데이터 덮어쓰기)

PATCH

PATCH은 리소스를 부분적으로 변경한다.

PATCH을 지원하지 않는 경우도 있어 이런 경우 POST로 대체하여 사용

PATCH 부분 수정!! (예시)

기존 데이터에 책상과 예쁜의자가 들어가있다! (기존데이터)

하지만 예쁜의자는 마음에 드는데 책상이 마음에 들지 않아 책상 대신 멋있는 책상을 넣어줬더니! (부분 수정)

예쁜 의자도 남아있고 책상 대신 멋있는 책상으로 변경 되어 같이 있는 형태가 만들어진다! (부분 데이터 변경)

DELETE

DELETE 방식은 말 그대로 삭제이다! 지정된 리소스를 삭제하는 것을 말한다!

삭제 할 때 전달은 URL을 통해서 어떠한 데이터를 삭제할지 파라메터를 전달 해준다.

데이터 삭제에 성공한다면 Body 값 없이 성공 응답만 보내게 된다.

0개의 댓글