[클라이언트 - 서버 - 머신러닝 서버] 의 구조로 프로젝트를 설계하고,
구현하는 중에 [클라이언트 - 서버] [서버 - 머신러닝 서버] 간의 통신을 구현했다.
근데 이 통신을 rest api를 사용해 구현했는데,
rest api에 대해서 몰라서 작성하게 됐다.
(파이썬에서는 크롤링에 사용했던 requests 라이브러리를 사용해 구현할 수 있음)
REST
REST는 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식이다.
- 네트워크 아키텍처 원리의 모음이라고 할 수 있는데 이는 자원을 정의하고, 자원에 대한 주소를 지정하는 방법을 말한다.
- 무상태성을 가지므로 서버는 클라이언트의 context를 가질 필요가 없고, 이런 특징때문에 클라이언트-서버 역할이 명확하게 분리되어있다.
- 하지만, REST는 설계 가이드일 뿐이지 명확한 표준이 없다.
REST(RESTful) API
REST API란 REST 아키텍처 스타일을 지키는 API라고 할 수 있다. 클라이언트와 서버는 따로 분리되어 데이터는 HTTP 프로토콜 위에서 주고 받는 형식이라고 생각하면 쉽다.
- 웹에 존재하는 모든 자원에 고유한 URI (Resource, Method, URL)을 부여해 활용한다.
- 자원(URL), 행위(HTTP method), 표현(요청에 대한 응답)으로 구성되어있다.
'이론 > 네트워크' 카테고리의 다른 글
[Cloud] VPC, 서브넷, NACL, ACG 에 대해 (0) | 2022.03.18 |
---|---|
URI, URL, URN 차이 정리 (0) | 2020.10.19 |
서버와 웹 서버 (0) | 2020.09.01 |