hayu's 개발 일지

[TIL]240221 네트워크와 서버 본문

IT 개념 정리 & ETC

[TIL]240221 네트워크와 서버

hayu00 2024. 2. 21. 21:59

네트워크란?

- 네트워크는 여러대의 컴퓨터 또는 장비가 서로 연결되어서 정보를 주고 받을 수 있게 도와주는 기술이다.

Client 와 Server

브라우저(Client)에서 서버에 정보를 요청하는 과정

- 사용자는 브라우저를 이용하여 서버에 정보를 요청하고 응답을 받는다. 

- 이때 사용자의 요청이 서버에 도달하기 위해서는 해당 서버의 정보가 필요하다.

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

 

웹 서버란?

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

웹 서버의 기본 동작 원리

- 브라우저를 통해 HTTP Request 로 웹사이트를 웹서버에 요청합니다. 

- 이후 웹서버는 요청을 승인하고 HTTP Request  를 통해 웹사이트 데이터를 브라우저에 전송한다.

- 브라우저는 서버에서 받아온 데이터를 이용해 웹사이트를 브라우저에 그려내는 일을 한다.

 

API란?

- API(Application Programming Interface) 는 다른 소프트웨어 시스템과 통신하기 위해 따라야 하는 규칙을 정의한다. 

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

- 인터페이스(Interface)는 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면을 의미한다. 즉, 사용자가 기기를 동작시키는데 도움을 준다.

=> API 는 하나의 "약속"이다. 서로 다른 애플리케이션이 약속한 방식의 API 요청을 수행하면 정해진 결과물을 반환한다.

 

RESTful API란?

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

- REST 는 처음에 인터넷과 같은 복잡한 네트워크에서 통신을 관리하기 위한 지침으로 만들어졌다.

- REST 아키텍쳐 스타일을 따르는 API 를 REST API 라고 한다. 그리고 REST 아키텍쳐를 구현하는 웹 서비스를 RESTful 웹 서비스라고 한다.

 

서버의 API 가 적절하게 HTTP 를 준수하여 잘 설계되어 있으면 RESTful 하게 설계되어 있다고 생각할 수 있다