CS

웹 클라이언트와 서버의 요청과 응답, REST API

다오__ 2023. 6. 13. 17:56

웹 클라이언트 

클라이언트는 웹에서 서버에 요청을 보내는 주체로써 서버에 HTTP프로토콜의 형식에 맞게끔 정보를 요청하고 응답을 받는다.  웹 브라우저로 요청을 보낼 수 있다.

사용자의 요청이 서버에 도달하기 위해서는 해당 서버의 정보가 필요한데. 해당 서버에 정확하게 도달할 수 있게 제공하는 정보는 IP주소이다.

 

IP

거대한 네트워크망에서 각 컴퓨터를 식별하기 위한 위치 주소값이다. 데이터의 송/수신의 기준은 이 주소를 기반으로 이루어진다.

 

웹서버

웹서버는 인터넷을 통해 HTTP를 이용하여 웹상의 클라이언트의 요청을 응답해주는 통신을 하는 일종의 컴퓨터이다

즉 요청이 들어오면 그에 해당하는 서버는 응답을 주는 주체이다.

 

오늘날 우리가 자주 사용하는 이메일이나 SNS등 대부분의 서비스는 웹 서버를 통해 우리가 사용할 수 있게 되었다.

 

웹 서버의 기본 동작 원리

1. 브라우저를 통한 HTTP Request로 웹사이트를 웹서버에 요청한다.

2. 웹서버는 요청을 승인하고 HTTP Response를 통해 데이터를 브라우저에 응답한다.

3. 브라우저는 서버로부터 받아온 데이터를 이용해 브라우저에 웹사이트를 그려낸다.

 

요청에 대한 규칙

API(application programming interface)

API는 소프트웨어간 시스템과 통신하기 위해 따라야 하는 규칙을 정의한다.

개발자는 애플리케이션이 프로그래밍방식으로 통신할 수 있도록 API를 표시하거나 생성한다.

(개발자끼리의 인터페이스라고 보면 된다.)

 

인터페이스

인터페이스는 서로 다른 두 개의 시스템, 장치 사이에서의 정보나 신호를 주고받는 경우의 접점이나 경계면을 의미한다.

즉 사용자가 기기를 쉽게 동작시키는데 도움을 주는 시스템이다. (TV와 리모컨)

 

RESTFul한 설계

Representational State Transfer(REST)는 API작동방식에 대한 조건을 부과하는 소프트웨어 아키텍처(구조)이다

REST 아키텍처를 구현하는 웹 서비스를 RESTFul 웹 서비스라고 한다.

 

REST아키텍처는 아래의 그림을 참조한다.

브라우저에서 HTTP규약에 따른 GET, POST, PUT, DELETE, PATCH메서드를 통하여 요청을 보내어 프론트엔드와 백엔드 개발자간 소통이 원활하게 되게끔 작성한다.

 

프론트엔트와 백엔드간의 서로의 소통이 중요하다.