웹 통신, API, REST 와 GraphQL

홍예림·2023년 1월 11일
0

JavaScript & 웹 백엔드

목록 보기
13/19

🔗 함께보기

🚩서버, 포트, 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(데이터 조회) 명령어 사용

📚 참고자료

profile
SYNC 5반 2023.07 - 2023.12

0개의 댓글