서버와 클라이언트
클라이언트가 요청(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 호출해보기
( + 목킹 : 어떠한 기능이 있는 것처럼 흉내내어 구현한 것 )