HTTP & REST API

조건호·2024년 4월 23일

API(Application Programming Interace)

  • 어떠한 응용프로그램에서 데이터를 주고 받기 위한 방법

    쉽게 말하면 클라이언트가 원하는 정보를 백엔드에 요청을 할 때 api를 거쳐서 주는 느낌이라고 생각하면 된다. (중개 역할)

    클라이언트

  • 사용자의 요청을 보내는 쪽

    백엔드

  • 데이터를 처리하는 서버 측

    클라이언트 - 손님
    api - 은행 점원
    백엔드 - 창구

    Interace - 중간에서 양쪽에 있는 애들을 매개체가 되어주는 역할


웹(web)은 인터넷 망 속에 가상공간이다. 하지만 웹이 가상공간이라도 해도 이 공간만의 룰이 있다. 룰을 지켜줘야하며 이 룰을 웹 상에서는 규약이라 하며 흔히 부르는 프로토콜 http이다.

룰을 지켜야할 예시 : 서로 정보를 주고 받을 때 얻너 정보를 어디에 담아야하는지

프로토콜을 지켜야 하는 이유

서로 정보를 주고 받을 떄에 지켜야 하는 약속이 있는데 반드시 이 약속을 지켜서 통신해야 하며 이 약속 규약을 프로토콜

REST API(형식 따르면 효율 극대화)

http 규ㅜ약을 잘 따른 api

RESTFUL API

너무 잘따른 개쩌는 HTTP 규약을 매움애ㅜ 매우매우

인터넷 상에서 굥유/전달 하고 싶은 모든 것들은 다 HTTP에 넣어서 보내야한다.

Body

  • 전달해줄 데이터/ 화면
    이 데이터 좀 줄래? + '목적'

    URL

    인터넷 상에서 웹 페이지가 어디있는지 '위치'를 알려주는 것뿐만 아니라 데이터 연산 해달라고 서버에 요청을 보내는 방법. 웹 페이지 주소
    http://localhost:8888
    localhost-> 주소

    http://localhost:8888/상품 등록 "POST"/prouct
    http://localhost:8888/상품 등록 "GET"/ products
    http://localhost:8888/전체 상품 삭제 "DELETE" / products

    규칙
    소문자만 씀
    언더 바 x , 하이픈 o
    / 포함 x
    행위를 포함 x = 메서드를 포함하지 않는다.
    파일 확장자 포함 x
    복수형을 쓴다.

    RUL + method

    1. 상품 전체 조회 GET
      /products
    2. 상품 id 개별 조회 GET
      /products/1
      /products/2
      /products/3
      /products/{id}

    3. 상품 개별 수정 PUT
      /proudct/{id}
    • 복수형으로 표현하면 좋은 이유
      상품"들" 중에 id값을 가지는 개별 데이터
      통일감
profile
주니어 프론트엔드 개발자입니다.

0개의 댓글