[C/F TIL] 32일차 - HTTP / 네트워크 실습, REST API

mu-eng·2023년 5월 25일
1

TIL (in boost camp)

목록 보기
33/53
post-thumbnail

Code States
Front-end boost camp
Today
I
Learned

🏞️ 32일차 수업 시작


🏞️ REST API

  • 웹에서 사용되는 데이터나 자원(Resource)을 HTTP URI로 표현하고, HTTP 프로토콜을 통해 요청과 응답을 정의하는 방식
    -- 클라이언트와 서버 사이에 데이터와 리소스를 요청하고 요청에 따른 응답을 전달하기 위한 매개체
    -- 2단계까지만 적용해도 좋은 API디자인이라고 볼 수 있다! ▼

🏞️ REST 성숙도 모델 - 0단계

  • 단순히 HTTP 프로토콜을 사용하기만 해도 됨
    -- REST API라고 할 수는 없음
    -- REST API를 작성하기 위한 기본 단계

🏞️ REST 성숙도 모델 - 1단계

  • 개별 리소스(Resource)와의 통신을 준수해야 함
  • 적절한 엔드포인트 작성이 중요
    -- 동사, HTTP 메서드, 혹은 어떤 행위에 대한 단어 사용은 지양하고 리소스에 집중해 명사 형태의 단어로 작성하는 것이 바람직
  • 요청에 따른 응답으로 리소스를 전달할 때에도 사용한 리소스에 대ㅏㄴ 정보와 함께 리소스 사용에 대한 성공/ 실패 여부를 반환해야 함

🏞️ REST 성숙도 모델 - 2단계

  • CRUD에 맞게 적절한 HTTP 메서드를 사용하는 것에 중점을 둔다.
    -- GET 메서드 : 조회를 위한 요청을 보냄
    -- POST 메서드 : 생성을 위한 요청을 보냄
    -- PUT 메서드 : 요청마다 같은 리소스 반환
    -- PATCH 메서드 : 수정의 용도
    -- 201 Created : 응답 코드
    -- Location..
  • 3단계까지 무조건 적용해야 하는 것은 아니다.

🏞️ REST 성숙도 모델 - 3단계

  • HATEOAS(Hypermedia As The Engine Of Application State) : 하이퍼미디어 컨트롤
  • 2단계와 동일하지만 응답에는 리소스의 URI를 포함한 링크 요소를 삽입하여 작성해야 함
  • 응답 내에 새로운 링크를 넣어 새로운 기능에 접근할 수 있도록 함

🏞️ Open API

  • 누구에게나 열려 있는 API
    -- "무제한으로 이용할 수 있다"는 아님
    -- API 마다 정해진 이용 수칙이 있고 그 이용 수칙에 따라 제한사항(가격, 정보의 제한 등)이 있을 수 있다.
  • API Key : 서버의 문을 여는 열쇠
    -- 필요한 경우에는 로그인한 이용자에게 자원에 접근할 수 있는 권한을 API Key 형태로 제공, 데이터를 요청할 때 API Key를 같이 전달해야 원하는 응답을 받을 수 있다.

🏞️ 32일차 수업을 마치며...

들어만 보았던 클라이언트, 서버, API에 대한 이론을 공부하며... 뭔가 와닿는 기분은 아니다. 추상적으로만 그려지는 느낌! 유튜브 등 다른 자료들을 더 찾아보아야 할 것 같다.

profile
[무엥일기] 무엥,,, 내가 머쨍이 개발자가 될 수 이쓰까,,,

0개의 댓글