- 서버 (Server)
- 서버는 서비스나 데이터를 제공하는 컴퓨터 혹은 프로그램을 의미
- 클라이언트가 요청하는 자원(파일, 데이터베이스 정보, 웹 페이지 등)을 제공하는 역할
- 예를 들어, 웹서버는 HTML 페이지와 같은 웹 콘텐츠를 제공하고, 데이터베이스 서버는 데이터를 제공하는 역할
- 클라이언트 (Client)
- 클라이언트는 서버에 서비스를 요청하는 컴퓨터나 프로그램을 의미
- 클라이언트는 사용자가 필요로 하는 데이터를 요청하고, 서버로부터 해당 데이터를 받아서 사용자에게 제공하거나 사용할 수 있게 한다
- 예를 들어, 웹 브라우저(Chrome, Firefox 등)는 웹 서버에 요청을 보내고 웹 페이지를 받아오는 클라이언트 프로그램이다
- 서버-클라이언트 모델
- 네트워크 상에서 서버와 클라이언트가 상호작용하는 구조
- 이 모델은 분산 컴퓨팅에서 자주 사용된다
- 중앙 집중식 관리: 서버가 모든 자원(데이터, 파일, 프로그램)을 관리하여 효율적인 운영이 가능하다
- 확장성: 여러 클라이언트가 동시에 서버에 접근하여 자원을 사용할 수 있다
- 예: 웹 애플리케이션, 이메일 서비스 등.
- 요청-응답 (Request-Response)
- 요청-응답은 서버-클라이언트 모델의 핵심 통신 방식이다
- 클라이언트가 서버에 특정 데이터를 요청(Request)하면, 서버는 그 요청을 처리한 후에 그에 맞는 응답(Response)을 클라이언트에게 반환한다
- 이 과정은 주로 HTTP 프로토콜을 통해 이루어진다
- 예를 들어, 웹 브라우저에서 특정 URL에 접근하면, 브라우저는 서버에 HTML 파일을 요청한다. 서버는 그 요청을 처리하여 응답으로 해당 HTML 파일을 반환하고, 브라우저는 그 파일을 렌더링하여 화면에 보여준다
- 웹서버 (Web Server)
- 웹서버는 HTTP 요청을 처리하여 웹 페이지(HTML 파일, 이미지, CSS, JavaScript 파일 등)를 제공하는 서버이다
- 웹서버는 클라이언트(보통 웹 브라우저)의 HTTP 요청을 받아들이고, 요청에 해당하는 리소스(웹 페이지, API 데이터 등)를 제공하는 역할을 한다
- 웹서버의 대표적인 예로는 Apache HTTP Server, Nginx, Microsoft IIS 등이 있다
- 웹서버 동작 과정:
- 클라이언트 요청: 사용자가 웹 브라우저에서 특정 URL을 입력하면, 브라우저는 그에 해당하는 서버에 HTTP 요청을 보낸다
- 서버 응답: 서버는 해당 요청을 처리한 후 HTML 페이지나 다른 자원을 HTTP 응답으로 클라이언트에게 반환한다
- 브라우저 렌더링: 클라이언트의 웹 브라우저는 받은 응답 데이터를 해석하여 화면에 표시한다
====>
- 서버는 요청을 처리하고 데이터를 제공하는 컴퓨터나 프로그램
- 클라이언트는 서버에 요청을 보내는 사용자 측 프로그램
- 서버-클라이언트 모델은 클라이언트가 서버에 요청을 보내고, 서버가 응답하는 구조
- 요청-응답 관계는 클라이언트가 요청하고 서버가 응답하는 통신 방식
- 웹서버는 클라이언트로부터 HTTP 요청을 받아 웹 페이지나 API 데이터를 제공하는 서버