[http통신]API, REST API, URI, HTTP통신

김은지·2022년 2월 6일
0

학습 내용 정리

목록 보기
5/25

API란

  • Application Programing Interface
  • 프로그램이 서로 소통하는 방법
  • SW(소프트웨어)가 또 다른 SW로 부터 '지정된 형식'으로 '요청', '명령'을 받을 수 있는 수단
  • 서버에서 만듦(일종의 함수)

REST API

  • API의 구성 형식
  • 특징 : 각 요청이 어떤 동작이나 정보를 위한 것인지 요청의 모습 자체로 추론이 가능한 API

URI

  • 웹 서버에서 정한 리소스 이름(클라이언트가 요청할 때 식별할 수 있도록 정한 ID)
  • 자원을 구조와 함게 나타내는 구분자 라는 정의도 있었는데
    예를들어 /classes/2/students?age=17page=2&count=10 이런식으로 나타내는 것을 말 하는 듯

HTTP(HyperText Transfer Protocol)

  • 서버에 API로 요청을 보낼 때, http규약에 따라 신호를 전송
  • 용도에 따라 메소드를 구별하여 사용함
GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH 등

각 메소드의 차이는 <POST, PUT, PATCH>의 경우 body가 있어서 GET, DELETE 보다
많은 양의 정보를, 안전하게 감춰서 실어보낼 수 있음

각각의 메소드가 용도에 따라 기능이 제한되지는 않지만(POST로 CRUD모두 가능)
*creat, read, update, delete
누구든 요청의 의도를 쉽게 파악할 수 있도록 
RESTful하게 API를 만들려면 이들을 목적에 따라 구분하여 사용하여야 한다고 함 

예를들어
GET() http://(도메인)/classes/2/student
-> 2반에 누가 있는지 보려고 하는구나

POST() http://(도메인)/classes/2/student
-> 새 학생 정보를 실어 보낸거구나

PUT() or PATCH() http://(도메인)/classes/2/student
-> 어떤 학생 정보를 변경하려는 거구나
*PUT : 정보를 통으로 갈아 끼울 때, PATCH : 특정 정보만 수정할 때
이런식으로
  • URI에 동작까지 표현 가능하지만, 'URI는 명사로만! 이뤄져야한다.'라는 말이 있다고 함..

REST API는 HTTP요청을 보낼 때, 어떤 uri에 어떤 메소드를 사용할지(+기타 등등)에 대해
개발자들 사이에서 널리 지켜지는 약속임

어플리케이션 간 http로 정보를 주고 받는 부분에서
이 형식, 규칙들을 준수해서 RESEful 한 서비스를 만드는 연습이 가능!


참고한 자료
🤷‍♀️ 개념공부: URI는 무엇이고 URL은 무엇일까?
API 기초개념 잡아드림. 5분 순삭.

REST API가 뭔가요?

참고하면 좋을 자료
(번역) RESTful API Designing guidelines — The best practices
Day1, 2-2. 그런 REST API로 괜찮은가

0개의 댓글