팀 프로젝트 1주차. (용어 정리 2)

자몽·2021년 6월 27일
2

Team-Project

목록 보기
5/13

용어 정리 2

📕 REST

Representational State Transfer의 약자로,
엄격한 의미로 REST는 네트워크 아키텍처 원리의 모음이다.
여기서 '네트워크 아키텍처 원리'란 자원을 정의하고 자원에 대한 주소를 지정하는 방법 전반을 일컫는다.
간단한 의미로는, 웹 상의 자료를 HTTP위에서 SOAP이나 쿠키를 통한 세션 트랙킹 같은 별도의 전송 계층 없이 전송하기 위한 아주 간단한 인터페이스를 말한다.


◼ 요약:

자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미한다.
즉, 자원(resource)의 표현(representation) 에 의한 상태 전달

REST는 HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고, HTTP Method(POST, GET, PUT, DELETE)를 통해 해당 자원에 대한 CRUD Operation을 적용할 수 있다.
참고(https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html)

📙 API

API는 애플리케이션 소프트웨어를 구축하고 통합하기 위한 정의 및 프로토콜 세트로, 애플리케이션 프로그래밍 인터페이스(Application Programming Interface)를 나타낸다.
이러한 API를 통해 컴퓨터 프로그램간 상호작용을 촉진하며, 서로 정보를 교환 가능하도록 한다.

쉽게 정리하자면, API는 당사자들 간 계약을 나타내는 도큐멘테이션을 갖춘 계약으로 비유할 수 있다.
한쪽 당사자가 특정한 방식으로 구성된 원격 요청을 보내면 다른 쪽 당사자의 소프트웨어가 이에 응답하는 방식으로 구성되어 있기 때문이다.


참고(https://www.redhat.com/ko/topics/api/what-are-application-programming-interfaces)

📒 REST API

REST 기반으로 서비스 API를 구현한 것

◼ 특징:

  • 사내 시스템들도 REST 기반으로 시스템을 분산해 확장성과 재사용성을 높여 유지보수 및 운용을 편리하게 할 수 있다.
  • REST는 HTTP 표준을 기반으로 구현하므로, HTTP를 지원하는 프로그램 언어로 클라이언트, 서버를 구현할 수 있다.
  • REST API를 제작하면 델파이 클라이언트 뿐 아니라, 자바, C#, 웹 등을 이용해 클라이언트를 제작할 수 있다.


https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html

📗 WebSocket

웹소켓은 하나의 TCP 접속에 전이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜이다.

웹에서 WebSocket 객체는 서버와의 WebSocket 연결을 생성하고 관리할 수 있는 API 들을 제공한다. 이는 데이터를 전송하거나 주고 받는 등의 API 들을 포함한다.

  • RFC 6455 명세서에 정의된 프로토콜인 웹소켓(WebSocket)을 사용하면 서버와 브라우저 간 연결을 유지한 상태로 데이터를 교환할 수 있다.

  • 데이터는 ‘패킷(packet)’ 형태로 전달되며, 전송은 커넥션 중단과 추가 HTTP 요청 없이 양방향으로 이뤄진다.

  • stateless한 HTTP에 비해 오버헤드가 적으므로 유용하게 사용할 수 있다.
    참고(https://ko.javascript.info/websocket)

이런 특징 때문에 웹소켓은 온라인 게임이나 주식 트레이딩 시스템같이 데이터 교환이 지속적으로 이뤄져야 하는 서비스에 아주 적합하다.


사진을 보면, WebSocket은 추가 HTTP 요청 없이 양방향으로 전송을 한다는 것을 확인할 수 있다.

profile
꾸준하게 공부하기

0개의 댓글