오늘은 API의 개념
저번 시간에 클라이언트-서버 아키텍처에 대해서 알아보았고,
우리는 클라이언트가 요청을 하면 서버에서 응답해주는 걸 알고 있습니다.
여기서 클라이언트-서버 아키텍처에서는 서버 마음대로 클라이언트에 리소스를 전달하지 않습니다.
그리고 클라이언트와 서버 사이에 요청과 응답에 있어 서로가 이해할 수 없는 언어로 요청하고 응답할 수 없습니다.
여기서 나오는 개념이 프로토콜과 API 입니다.
프로토콜(Protocol)이란
"공통의 데이터 교환 방법 및 순서에 대해 정의한 의사소통 약속, 규약 혹은 규칙 체계"를 말합니다.
웹 애플리케이션 아키텍처에서는 클라이언트와 서버가 서로 HTTP라는 프로토콜을 이용해서 대화하고,
HTTP를 이용해 주고받는 메시지는 "HTTP 메시지"라고 부릅니다.
(다음에 더 자세히 알아보겠습니다.)
API(Application Programming Interface)
클라이언트가 요청을 하고 싶지만 클라이언트는 서버가 어떻게 구성되어 있는지는 모릅니다.
여기서 나오는 개념이 API입니다. Interface의 사전적 의미는 "의사소통이 가능"하도록 만들어진 "접점"입니다.
서버는 클라이언트에게 리소스를 잘 활용할 수 있도록 인터페이스(interface)를 제공해야 합니다.
즉, API를 구축해놓아야 클라이언트가 이를 활용할 수 있습니다.
보통 인터넷에 있는 데이터를 요청할 때에는 HTTP라는 프로토콜을 사용하며, 주소(URL, URI)를 통해 접근할 수 있게 됩니다.
http 사용자 관리 API
실제로 쓰일법한 API입니다. URL 디자인은 비교적 단순하나 "메소드"라는 개념이 나옵니다.
HTTP 요청에는 메소드라는 것이 존재합니다.
알아야하는 5가지 메소드
조회(read) : GET
추가(create) :POST
갱신(update) : PUT 또는 PATCH
삭제(delete) : DELETE
MDN "HTTP 요청 메서드"에서 더 자세히 알아볼 수 있습니다.
https://developer.mozilla.org/ko/docs/Web/HTTP/Methods
밑에 사이트도 참고!
'개발 공부 > 네트워크 기초' 카테고리의 다른 글
[Extensions] VScode에서 다양하게 주석 사용하는 방법 (0) | 2021.06.08 |
---|---|
Ubuntu 에서 deb 파일 설치, 제거 하기(터미널 명령어) (0) | 2021.05.30 |
[네트워크] HTTP Messages의 요청과 응답 (0) | 2021.05.23 |
nodejs_클라이언트(client)와 서버(server) 구조 그리고 데이터베이스(database) (0) | 2021.05.21 |
CLI 필수 command line (0) | 2021.05.09 |
댓글