끄적끄적 REST API ? <1>

Posted by lib oimb
2019. 3. 12. 00:43 TOPIC





자 오늘은 REST API에 대해서 알아보자

항상 ANGULAR, SPRING , JAVA 등등 한 틀을 잡고 공부를 해왔는데 오늘은 번외로 REST API를 공부해보려 한다.


REST API 

어떤 느낌이 드시나요.?  먼가 되게 어렵게 느껴지진 않으신가요..?  저는 처음에 굉장히 어렵게 느껴졌답니다. 물론 지금도 쉽지는 않아요... 항상 선배님들이 ' REST API ' , 

' REST API로 주고받음 되자나'  라고 말할 때마다 ... 도무지 무슨소린지 이해를 할수 없었죠. 하지만 언제나 그렇듯 알고나면 별거 없다는거... 그렇죠?

그럼 지금부터 시작하겠습니다.


1. REST  -  Representational State Transfer


대표적인 상태(정보)들을 주고받는 것

어렵죠?  더 쉽게 설명하자면 " 자원이라 할수 있는 모든것들을 주고 받는것 " 더 더 쉽게 웹과 관련 지어서  " HTTP 프로토콜을 사용하여 주고받을수 있는 모든것 "

아직도 어려우 실수 있으니 더 설명해드리겠습니다. 


요청

GET /restapi/v1.0 HTTP/1.1
Accept: application/json
Authorization: Bearer UExBMDFUMDRQV1MwMnzpdvtYYNWMSJ7CL8h0zM6q6a9ntw

응답

HTTP/1.1 200 OK
Date: Mon, 23 May 2005 22:38:34 GMT
Content-Type: text/html; charset=UTF-8
Content-Encoding: UTF-8
Content-Length: 138
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux)
ETag: "3f80f-1b6-3e1cb03b"
Accept-Ranges: bytes
Connection: close

<html>
<head>
  <title>An Example Page</title>
</head>
<body>
  Hello World, this is a very simple HTML document.
</body>
</html>

HTTP 프로토콜에서 보실수 있는 요청과 응답의 헤더와 바디 입니다. 우리가 아까 말한 '자원'이란 저 요청과 응답안에 있는 모든 라인이 자원에 해당됩니다. 


요청의 경우 GET 방식이며 url은 /restapi/v1.0 이며 http 1.1 버전 그리고 accept... 전부가 '자원'에 해당 되는 것이죠 응답은 말할것도 없구요! 특히나 응답의 경우 

connection : close  \r\n

\r\n

<html>...</html>

이러한 바디부도 존재 하겠네요. 각 줄마다 date는 머고 content-type은 머고.. 알면 좋지만 모르셔도 됩니다. 필요할 때 그때그때 찾아서 공부하고 넘어가면 되는 부분이니까요 

이렇듯 RESThttp 프로토콜을 그대로 사용하기 때문의 http 프로토콜을 극대화 하여 사용한다는점을 알수 있습니다.


REST는 이게 끝입니다. 더 어렵게 알필요도 없습니다. 자세한 부분은 그떄 그때 찾아보면 되거든요 ( CRUD, 구성요소...등등)


2. API  -  Application Programming Interface

데이터와 기능의 집합을 제공하여 ...어쩌고 저쩌고....


단순하게 생각하자 그냥 응용 프로그램 (웹,앱) 간에 상호작용을 좀더 쉽게 하여 상호간 정보 교환을 더 용이하게 만드는것 이라고 할수 있다.

이게 끝이다 API는 정말로 끝이다. 


3. REST API


위 설명 2가지를 합치면 된다. REST 기반으로 서비스 API를 구현하는것인데 쉽게 말하면 자원을 주고받는 , 즉 정보교환에 있어 http자원들을 사용하는것이다. 

이게 끝이다. 그외 REST API 설계 규칙 , 자원에 대한 명명 규칙이 있는데 이런건 그때그떄 필요할때 찾아보자. 우린 핵심만 짚고 넘어가는게 핵심이다.


우린 이제 REST API가 뭘 말하는지 알게됬다. 장황하게 알 필요도 없다. 우린 교수가 될게 아니니 말이다.


자 그럼 다음 공부 때 이 REST API를 가지고 구현한 것들을 한번 알아보고 공부해보자 REST API는 결국 도구 일뿐이다. 


'TOPIC' 카테고리의 다른 글

끄적끄적 REST API !! OAUTH ?? <2>  (0) 2019.03.12
끄적끄적 REST API ? <1>  (0) 2019.03.12
IP address  (0) 2018.07.10
Call by Value or Reference in JAVA  (0) 2018.07.02
3-WAY Handshake  (0) 2018.06.27
Unicode,UTF  (0) 2018.06.25
이 댓글을 비밀 댓글로