🔗 함께보기
🚩서버, 포트, REST-API와 API-Docs
: REST의 구조, REST-API를 구축하고 스웨거를 통해 테스트해보기
🌿 통신
웹 서비스에서 통신
클라이언트 사용자의 요청request — 서버의 응답response
🌿 API
: Application Programming Interface
- 정의: 데이터 처리를 요청request했을때 CRUD 명령어에 따라 실행되는 기능(like. 함수). 각각의 요청마다 실행된다.
CRUD
: 컴퓨터에서 소프트웨어에서 데이터 처리를 위해 사용하는 기능으로, Create(생성), Read(읽기(조회)), Update(갱신(수정)), Delete(삭제)를 의미.
- 역할: 서버 및 리소스에 대한 액세스 권한을 제공함으로서 보안과 제어를 유지한다
JavaScript를 사용한 API 구축
- 프레임워크: JavaScript로 데이터 요청-응답받는 경우, express를 사용해 API를 효율적으로 만들 수 있다
- JSON(JavaScript Object Notation): JavaScript로 데이터 요청-응답받는 경우, 객체처럼 표기되어 응답을 받게 되며, 이렇게 표기된 타입을 JSON이라고 한다.
- app.listen(): 서버 프로그램. 서버를 원하는 포트에서 실행하고 접속을 기다리기 위해 24시간 동안 서버를 켜놓는 기능을 한다
(터미널에서 ctrl + C
를 이용해 서버를 끄고 켤 수 있다)
포트 번호
: 동일한 컴퓨터에서 여러 서버 프로그램 실행을 위해 구분을 짓는 숫자. 0 ~ 65535까지 있다.
API 표준
: 애플리케이션 프로그래밍 인터페이스(API)를 구축하는 방법을 정의한다
REST-API
: Representational state transfer
- 정의: API 작동 방식에 대한 조건을 부과하는 소프트웨어 아키텍처 (프로토콜이 아님!!)
- 통신용 라이브러리: axios (엑시오스)
- 응답결과: 객체의 모든 데이터
- 연습툴: swagger와 postman
아키텍처
: 애플리케이션을 설계하고 구축하는 데 사용하는 패턴과 기술. API를 사용한다.
RESTful API
: REST용으로 설계된, REST 아키텍처의 제약 조건을 준수하는 웹 API
GrapgQL-API
- 정의 _ 애플리케이션 프로그래밍 인터페이스(API)의 서버 런타임 (통합 개발 환경(Integrated Development Environment, IDE)
- 통신용 라이브러리: apollo-client (아폴로 클라이언트)
- 응답결과: 객체 안, 사용자가 클라이언트에게 요청한 데이터
- 연습툴
: playground
: 요청할 때 Mutation(데이터 변경), Query(데이터 조회) 명령어 사용
📚 참고자료