http request, Web API

삶은달걀·2023년 2월 10일
0

Http 요청의 종류, 메서드

  • 데이터 조회: GET
  • 데이터 추가: POST
  • 데이터 수정: PUT
  • 데이터 삭제: DELETE

Request의 구성

  • Head: Request에 대한 부가 정보(headers)를 담고 있는 부분(ex. 메소드)
  • Body: 실제 데이터를 담고 있는 부분

보낸 요청에 대해서 확인하기 위해서는 개발자 도구의 Network 탭을 보면 Header, body 등의 data를 볼 수 있다.

Web API

  • API(Application Programming Interface): 개발할 때 사용할 수 있도록 특정 라이브러리나 플랫폼 등이 제공하는 데이터나 함수 등
  • Web API: 서비스에서 사용될 모든 URL마다 request에 대한 처리와 response를 미리 정해놓은 규격

REST API: RESTful한 API

  • REST(REpresentational State Transfer)ful architecture: 상태 이전 표현에 있어서 가장 표준적인 구조
  • 기준
    1) Client-Server: client와 server의 역할이 분리되어야 함
    2) Stateless: 각 request에 대해 어떤 맥락(Context)도 저장하지 않음
    3) Cache: Cache를 활용해서 네트워크 비용을 절감해야 함
    4) Uniform Interface: Client가 Server와 통신하는 Interace가 준수해야 하는 하위 조건
    5) Layered System: Client와 Server 사이에는 프록시(proxy), 게이트웨이(gateway)와 같은 중간 매개 요소를 두고, 보안, 로드 밸런싱 등을 수행할 수 있어야 함(hierarchical layers들이 형성됨)
    6) Code On Demand: Server는 받아서 바로 실행할 수 있는 applet이나 script 파일을 Client로 보내야 함

Uniform Interface

  1. identification of resources: resources를 URI(Uniform Resource Identifier)로 식별할 수 있어야 함
  2. manipulation of resources through representations: Client와 Server 둘 다 직접적으로 resource를 다루는 게 아니라 리소스의 표현(representations)을 다뤄야 함
  3. self-descriptive messages: Client의 request와 Server의 response 모두 그 자체이 있는 정보만으로 모든 것을 해석할 수 있어야 함
  4. hypermedia as the engine of application state: 분산 하이퍼미디어 시스템(Distributed Hypermedia System)에 적합하도록, Server의 response에는 현재 상태에서 다른 상태로 이전할 수 있는 링크를 포함하고 있어야 함

identification of resources

  • URL은 리소스를 나타내기 위해서만 사용하고, 리소스에 대한 처리는 메소드로 표현해야 함
  • document는 단수 명사로, collection은 복수 명사로 표시함

0개의 댓글