Backend Language
홀서버 - 요리사 - 냉장고
(서버 프로그램) - (백엔드 랭기지) - (데이터베이스)
API (Application Programming Interface) : 응용프로그램에서 상호 작용하는 인터페이스
인터페이스: 서로 다른 개체들이 상호작용할 수 있도록 연결하는 장치
예시) 노트북 키보드
예시) 당근마켓의 휴대폰 인증번호 받기 API
[클라이언트와 서버의 관계]
클라이언트: Request
서버: Response
예시)상호작용은 휴대폰 인증번호 받기를 통해 이루어진다.
API : http 메소드 + URI(ex: url)
URL : 프로토콜 + hostname + port/path
http 프로토콜은 http 패킷으로 데이터를 보냄
http 패킷(운송장: header, 박스: body, 내용물: data)
Header + Body
Header에는 메타데이터가 들어있음
메타데이터는 클라이언트와 서버에 따라 다르다.
클라이언트 : http 메소드, path 경로, 주소
[http 메소드의 종류]
API : http 메소드 + URI
http 메소드 : 클라이언트가 웹서버에게 사용자의 요청 목적, 종류를 알리는 수단
CRUD(Create Read Update Delete)
<당근마켓 예시>
Select 문 사용 : Read
Insert into 문: Create
GET: 조회, POST: 생성
PATCH, PUT: 수정
DELETE: 삭제
[http 메소드의 종류]
GET: Read ( 서버로 부터 정보를 조회하기 위한 메서드)
API : GET https://www.court.com:8080/products
Rest api 네이밍 방식이 있음
<GET 특징>
body를 통해 값을 넣어서 보낼 수 없음
조회를 하더라도 데이터를 필터링할 때 사용: GET
예시) 유저 목록을 조회할 때 gender=M,F 인 지, age=22 인 지 필터링
Query String을 이용한다.
예시) user?gender=m&age=22
<Post 특징>
POST: Create
POST는 리소스를 생성하기 위해 생성
패킷을 바디에 담아서 데이터를 송신
클라이언트가 비밀번호, 아이디를 보낼때 Post 사용
<데이터 포맷>
데이터를 주고 받을 때 데이터 포맷으로 사용
XML보다 JSON을 요즘 사용
JSON 장점:
XML 처럼 종류 태그가 없음
빨리 읽고 쓸 수 있음(XML X)
배열 사용 가능
직관적으로 볼 수 있음
API 명세서
API를 문서화하는 것
예시) 무슨 메서드, 바디에는 무슨값, 쿼리 스트링은 뭘 썼는지 표로 표현
문서화: 노션도 사용 가능, swagger
api: 메소드 + uri
http 패킷: api를 요청할 때 http 패킷으로 데이터 송수신
http 메서드
데이터 포맷
'💻 Backend' 카테고리의 다른 글
RESTful 설계 방법 / Validation / Server to Server (0) | 2021.11.14 |
---|---|
RESTful API에 대한 이해 (0) | 2021.11.07 |
서버 4주차 정리 - DB에 관하여 - (2) (0) | 2021.10.24 |
서버 4주차 정리 - DB에 관하여 - (1) (0) | 2021.10.17 |
서버 3주차 - OS와 AWS에 대하여 (0) | 2021.10.10 |