
서버와 클라이언트의 개념
서버는 네트워크 상에서 서비스를 제공하고, 클라이언트 요청에 응답합니다.
데이터, 파일, 웹 페이지, 애플리케이션, 기타 리소스를 정리하고 관리한다.
대규모의 저장공간, 높은 처리량, 안정성과 높은 보안이 필요하다.
클라이언트는 서버에게 요청하고 서버로부터 응답을 받아 다양한 방법으로 사용자에게 전달한다.
내가 만약 유튜브 사이트에 접속을 한다면 유튜브 본사에 있는 서버에서 저장된 내 정보를 통해 유튜브
홈페이지에서 내 정보를 띄워주는 것 처럼.
쉽게 서버는 요청을 받아 자신에게 있는 데이터를 가지고 클라이언트에게 주고 클라이언트는 사용자에게
그 정보를 보여준다.
서버의 구조
이제 서버의 구조를 한번 보도록 하자.
1) 하드웨어 : 하드웨어는 앞에 'hard' 딱딱하다는 의미처럼 우리가 직접 눈으로보고 손으로 만질 수 있는 물질이다. CPU, 메모리, 저장 장치 등이 주요 구성 요소이다.
2) 소프트웨어 : 소프트웨어는 위에 하드웨어와 반대로 'soft' 부드럽다라는 의미처럼 우리가 직접 눈으로 볼 수는 있지만 실제 현실에서 손으로 만질수는 없는 데이터 OS(운영체제), DBMS (데이터 베이스 관리시스템),
웹 서버 소프트웨어 등이 포함된다.
3) 서버 운영체제 : 서버 운영체제 서버 하드웨어를 관리하고, 서버 소프트웨어의 실행을 지원하는 역할을 한다.
4) 서버 네트워크 : 서버는 네트워크를 통해 사용자와 연결된다. 이를 위해 네트워크 인터페이스 카드, 스위치,
라우터 등의 장비와 TCP/IP와 같은 프로토콜을 사용한다.
클라이언트 서버 모델
클라이언트 서버 모델(client–server model)은 서비스 요청자인 클라이언트와 서비스 자원의 제공자인 서버 간에 작업을 분리해주는 분산 애플리케이션 구조이자 네트워크 아키텍처를 나타낸다. 웹 시스템도 확장된 '클라이언트 서버 시스템'으로 분류되나, 일반적으로는 클라이언트 서버 시스템이라고 하면 웹 시스템이 나오기 이전의, 사용자 PC에는 클라이언트가 설치되어 화면을 처리하고 서버에서는 자료를 처리하는 시스템을 일컫는다.
WAS(웹 어플리케이션 서버) 와 게임 서버

먼저 WAS(웹 어플리케이션 서버) 웹 어플리케이션을 실행하기 위한 서버 소프트웨어이다.
클라이언트의 요청에 따라 동적인 웹 페이지를 생성하며 DB와의 상호작용, 트랜잭션 처리, 보안, 세션관리 등의 애플리케이션의 핵심 비즈니스 로직을 수행한다.
ex - Tomcat, Jeus, IBM WebSphere, Red Hat JBoss 등등
주요 기능
1) 동적 웹 페이지 생성 : 클라이언트의 요청에 따라 동적으로 웹 페이지를 생성하여 반환한다. 웹 애플리케이션의 비즈니스 로직을 실행하고, 결과를 HTML, JSON 등의 형식으로 클아이언트에 전달한다.
2) 데이터베이스 연동: 데이터베이스와 상호작용하여 데이터의 조회, 삽입, 수정, 삭제 등의 데이터베이스 연동을 지원한다.
3) 트랜잭션 관리: 웹 애플리케이션에서 발생하는 작업은 트랜잭션(작업) 단위로 관리되어야 한다. WAS는 트랜잭션 관리를 제공하여 데이터 일관성과 안정성을 유지한다.
4) 세션 관리: 웹 애플리케이션은 상태를 유지해야 할 때가 있다. 이를 위해 WAS는 세션 관리를 지원하여 클라이언트의 상태 정보를 저장하고 관리한다.
게임서버?
멀티플레이 비디오 게임을 즐기기 위해 게임 클라이언트에 쓰이는 서버로, 자신의 컴퓨터나 다른 사람의 컴퓨터에서 실행된다.
TCP Server, Binary Server, Stateful Server 라고도 불립니다.
클라이언트가 패킷을 서버에 전송해도 서버에서 응답을 꼭 보내주지 않아도 됩니다.
서버에서 클라이언트로 패킷을 전송할 수 있습니다.
실시간 통신이 중요합니다.
실시간 통신이 중요한 예로 MMORPG게임을 예시로 들 수 있다. 다수의 사용자가 한 공간에서 움직이며 사냥하고 채팅을 친다고 하면 다른 사용자에게도 그것이 실시간으로 그 사용자가 하는 행동을 동일하게 움직이듯 보여야 한다.
출저
https://blog.naver.com/PostView.naver?blogId=ssudol2&logNo=223363845080&noTrackingCode=true
https://ko.wikipedia.org/wiki/%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8_%EC%84%9C%EB%B2%84_%EB%AA%A8%EB%8D%B8
https://velog.io/@yarogono/%EA%B2%8C%EC%9E%84-%EC%84%9C%EB%B2%84-%EC%9B%B9-%EC%84%9C%EB%B2%84%EC%99%80-%EA%B2%8C%EC%9E%84-%EC%84%9C%EB%B2%84%EC%9D%98-%EC%B0%A8%EC%9D%B4
https://leeeunda.tistory.com/entry/WS%EC%9B%B9-%EC%84%9C%EB%B2%84%EC%99%80-WAS%EC%9B%B9-%EC%96%B4%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98-%EC%84%9C%EB%B2%84%EB%9E%80-%EA%B0%9C%EB%85%90%EA%B3%BC-%EC%B0%A8%EC%9D%B4%EC%A0%90-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0
'네트워크' 카테고리의 다른 글
| OSI 7계층 중 전송 계층 (24.09.12 강의 관련) (0) | 2024.09.11 |
|---|---|
| OSI 7계층 중 네트워크 계층 (09.10 강의 관련) (2) | 2024.09.09 |
| 데이터 링크 계층(09.05 강의 관련) (1) | 2024.09.04 |
| 물리계층에 관하여 (24.09.03 강의 관련) (0) | 2024.09.02 |
| OSI 7계층 (08.29 강의 관련) (1) | 2024.08.28 |