chipkkang9's story

[Whois 정보보안교육] REST API의 GET, POST, PUT, DELETE 본문

Hacking/Web

[Whois 정보보안교육] REST API의 GET, POST, PUT, DELETE

chipkkang 2021. 9. 11. 16:16

REST API


REpresentation State Trasfer API의 약자로, 다음과 같이 구성되어 있다.

 

- 자원(Resource) : URI (통합 자원 식별자, Uniform Resource Identifier - 인터넷에 있는 자원을 나타내는 유일한 주소)

- 행위(Verb) : HTTP Method (GET, POST, PUT, DELETE 등...)

- 표현(Representations)

 

즉, REST는 URI를 통해 자원을 표시하고, HTTP Method를 이용하여

해당 자원의 행위를 규정하여 그 결과를 받는 것을 의미한다.

 

GET Method


GET을 사용은 자원의 표현/정보만을 검색하기를 요청한다.

(검색한 이후 어떠한 수정도 거치지 않는다.)

 

GET Method는 자원(resource)의 어떠한 변화도 요청하지 않기 때문에, 안전한 방법(safe method)이라고도 불린다.

또한, GET API는 멱등하다(idempotent)고도 하는데,

 

" 이는 곧 또 다른 API(POST 혹은 PUT)가 서버의 자원을 변화시키기 전까지

다중의 검색에 대한 요청은 항상 같은 결과를 만들어 내야만 한다는 것을 의미한다. "

 

 

POST Method


POST API는 새로운 부속자원을 만들기 위해서 사용한다.

예를 들어, 파일이 어떤 디렉토리에 종속되어 있다 혹은, 어떤 행이 데이터베이스에 종속되어있다는 것이다.

 

REST, POST method들은 말한다는 것은 자원들의 집합에 있어서

그것들로 새로운 자원을 만드는 데 사용되는 것을 말한다.

 

PUT Method


PUT API는 주로 기존에 존재하던 자원을 업데이트하기 위해서 사용한다.

(만약 자원이 존재하지 않는다면, API는 먼저 새로운 자원을 만들어야 하는지 아닌지를 고민한다.)

 

만약 새로운 자원이 PUT API에 의해서 생성되었다면,

기존 서버는 무조건 HTTP 응답 코드(201(Created)) 응답을 통해서 user agent에게 알려야 한다.

그리고 만약 기존 자원이 수정되었다면,

또한 응답코드 200(OK) 혹은 204(No Content)를 이용해서 요청에 대한 성공적인 수행을 완료했음을 알려야만 한다.

 

DELETE Method


이름처럼, DELETE API는 자원의 삭제를 하는데에 사용한다.

 

 

출처


https://devuna.tistory.com/77

 

[REST API] REST API 규칙/PUT과 POST 차이/PUT과 PATCH 차이

먼저, REST란? Representational State Transfer의 약자이며, 다음과 같이 구성되어 있다. 자원(Resource): URI 행위(Verb): HTTP Method 표현(Representations) 즉 REST는 URI를 통해 자원을 표시하고, HTTP M..

devuna.tistory.com

 

https://restfulapi.net/http-methods/

 

HTTP Methods – REST API Verbs

REST API guidelines suggest to use specific HTTP method on specific type of call made to server i.e. HTTP GET, PUT, POST, DELETE or TRACE.

restfulapi.net

 

Comments