HTTP란 HyperText Transfer Protocol의 약자로, 뜻 그대로 HyperText를 통신하기 위한 규약이다.
웹 브라우저와 서버 사이에 통신을 하기 위해 정해놓은 약속이라고 이해하면 된다.
이 HTTP에 보안성을 더한 것이 HTTPS이다.
HTTP 메소드는 자원을 어떤 방식으로 주고받을지 명시해주는 것이다.
대표적으로 CRUD의 역할을 하는 4가지의 메소드를 많이 사용한다.
C(Create) R(Read) U(Update) D(Delete)를 의미한다. 보통 게시판의 기능을 생각하면 이해가 쉽다.
아래에서는 각각의 기능을 하는 메소드들을 정리한다.
R(Read), 즉 데이터를 받아서 조회할 때 사용하는 메소드이다. GET 통신의 경우 아래와 같은 특징을 가진다.
C(Create), 새로운 리소스를 생성할 때 사용하는 메소드이다.
U(Update), 리소스를 생성하거나, 기존의 리소스를 수정할 때 사용하는 메소드이다.
PUT과 PATCH는 기존의 리소스를 수정할 수 있는 메소드라는 점에서 공통점을 가진다.
두 메소드의 차이점을 예시로서 정리해보면,,
기존의 데이터가 "name" : "Kim", "age" : 23 이고, "age" : 24라는 리퀘스트를 보낸다고 해보자.
"name" : "Kim", "age" : 23
→ "age" : 24
"name" : "Kim", "age" : 23
→ "name" : "Kim", "age" : 24
PUT의 경우 보낸 요청에 담긴 데이터로 기존의 데이터를 완전히 대체하고,
PATCH의 경우 보낸 요청에 담긴 데이터를 기존 데이터의 해당하는 부분에만 대체한다.
D(Delete), 기존릐 리소스를 삭제할 때 사용하는 메소드이다.
아래 링크는 자바 스프링부트를 입문하며 공부했을 때 CRUD를 간단하게 구현해본 코드 + 간단하게 풀어본 문제를 정리한 글 링크이다.
CRUD(Rest API) 구현 실습 코드
간단한 계산기 API 만들기
https://developer.mozilla.org/ko/docs/Web/HTTP/Methods
https://velog.io/@yh20studio/CS-Http-Method-%EB%9E%80-GET-POST-PUT-DELETE
https://rachel0115.tistory.com/entry/HTTP-%EB%A9%94%EC%84%9C%EB%93%9C-%EC%A0%95%EB%A6%AC-GET-POST-PUT-PATCH-DELETE