💻 Backend

서버 5주차 정리 [키워드 정리]

미미누 2021. 10. 31. 00:12

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 메서드

데이터 포맷