본문 바로가기

CS/알고리즘

[알고리즘] 개발형 코딩테스트_REST API

서버와 클라이언트

클라이언트가 요청(Request)를 보내면 서버가 응답(Response)함

출처 : 이코테

클라이언트(Client) = 고객

서버로 요청을 보내고 응답이 도착할 때까지 대기

서버로부터 응답을 받은 뒤에 서버의 응답을 화면에 출력

- 웹 브라우저 : 서버로부터 받은 HTML, CSS 코드를 화면에 적절한 형태로 출력

서버(Server) = 서비스 제공자

클라이언트로부터 받은 요청(Request)을 처리해 응답(Response)을 전송

- 웹 서버 : 로그인 요청을 받아 아이디와 비밀번호가 정확하지 검사하고 그 결과를 응답

HTTP 개요

HTTP(HyperText Transfer Protocol) : 웹상에서 데이터를 주고받기 위한 프로토콜

- 웹 문서(HTML 파일)를 주고받는 데 사용

- 모바일 앱 및 게임 개발 등에서 특정 형식의 데이터를 주고받는 용도로 사용

클라이언트는 요청의 목적에 따라서 적절한 HTTP 메서드를 이용해 통신을 진행

GET 특정한 데이터의 조회 요청 특정 페이지 접속, 정보 검색
POST  특정한 데이터의 생성 요청 회원가입, 글쓰기
PUT 특정한 데이터의 수정 요청 회원 정보 수정
DELETE 특정 데이터의 삭제 요청 회원 정보 삭제

REST의 개요

HTTP는 GET, POST, PUT, DELETE 등의 다양한 HTTP 메서드 지원

실제로 서버가 각 메서드의 기본 설명을 따르지 않아도 프로그램을 개발할 수 있음

하지만 저마다 다른 방식으로 개발하면 문제가 될 수 있어 기준이 되는 아키텍처가 필요함

REST(Representatinal State Transfer)각 자원에 대하여 자원의 상태에 대한 정보를 주고받는 개발 방식

REST의 구성 요소

- 자원(Resource) : URI 이용

- 행위(Verb) : HTTP 메서드를 이용

- 표현(Representations) : 페이로드 이용

REST API

API (Application Programming Interface) : 프로그램이 상호작용하기 위한 인터페이스

REST API : REST 아키텍처를 따르는 API

REST API 호출 : REST 방식을 따르고 있는 서버에 특정한 요청을 전송하는 것

JSON

JSON(JavaScript Object Notation) : 데이터를 주고받는 데 사용하는 경량의 데이터 형식

- JSON 데이터는 키와 값의 쌍으로 이루어진 데이터 객체를 저장

REST API 호출해보기

( + 목킹 : 어떠한 기능이 있는 것처럼 흉내내어 구현한 것 )