2022. 3. 29.ㆍ공부/네트워크
웹클라이언트가 서버에 url을 요청하면, 서버는 요청에 따라 적합한 처리를 해서 응답을 준다. 클라이언트의 요청이 어떤 요청인지 구분할 수 있도록, 구분할 수 있는 체계를 API라고 부르며, 서버와 클라이언트는 API로 통신한다.
API는 서버 개발자가 개발하고, 클라이언트 개발자는 그 API를 사용한다. API로 요청과 응답을 할 때에는 데이터도 같이 담긴다. (ex. 로그인 요청 시 클라에서 서버에게 아이디와 비밀번호 데이터 전송 -> 서버는 데이터를 받아 로그인 기능을 수행) 즉, API에는 클라의 요청을 어떤 요청인지 구분하고 적절한 처리를 하는 기능과 함께, 데이터를 주고 받는 기능도 들어간다.
소프트웨어가 서버에게 요청을 보낼 때는 CRUD의 관점에서 바라볼 수 있으며, 이 4가지 요청은 개발자가 데이터를 다룰 때 중요한 기준이 되기도 하고, 이 CRUD Operation이 적용되어 보다 체계적으로, Restful하게, 주소 갯수가 줄어든 설계를 REST(Respresentational State Transfer) 아키텍쳐라고 부른다.
C --> Create (올려줘!)
ex. 사용자가 업로드 버튼 클릭 시 클라는 서버에게 '타임라인에 사진 업로드 해주세요.'라는 요청을 한다.
R --> Read (불러와줘!)
ex. 사용자가 A 회원 프로필 조회 시 클라는 서버에게 'A 회원 프로필 사진 좀 불러와주세요.'라는 요청을 한다.
U --> Update(바꿔줘!)
ex. 사용자가 회원 정보 변경하여 전화번호 변경할 시 클라는 서버에게 '회원 정보에서 전화번호 변경해주세요.'라는 요청을 한다.
D --> Delete(지워줘!)
ex. 사용자가 회원 탈퇴 시 클라는 서버에게 '탈퇴한 회원 계정 지워주세요.'라는 요청을 한다.
REST(Respresentational State Transfer)는 웹서비스의 통신을 위한 아키텍처이다. 설계에 CRUD operation이 적용되어 CRUD를 '하나의 주소'로 관리한다. 그리고 request를 할 때 어떤 요청을 보냈는지 파악할 수 있는 스티커(Method)를 붙여서 함께 전송한다.
method="POST"(생성해줘)
method="GET" (불러와줘)
method="PUT" (바꿔줘-전체), "PATCH" (바꿔줘-일부)
method="DELETE" (삭제해줘)
'공부 > 네트워크' 카테고리의 다른 글
[Servlet] 도메인을 가진 웹서버 만들기 (0) | 2022.04.13 |
---|---|
[Network] WAS(Web Application Server) (0) | 2022.03.31 |
[Network] Cookie와 Session (0) | 2022.03.30 |
[Network] Http methods : GET과 POST (0) | 2022.03.29 |
[Network] OSI 7 Model, TCP/IP Model, IP (0) | 2022.03.04 |