서버 클라이언트 통신 예제

클라이언트와 서버는 요청 응답 메시징 패턴으로 메시지를 교환합니다. 클라이언트는 요청을 보내고 서버는 응답을 반환합니다. 이러한 메시지 교환은 프로세스 간 통신의 예입니다. 통신하려면 컴퓨터에 공통 언어가 있어야 하며 클라이언트와 서버 모두 예상을 알 수 있도록 규칙을 따라야 합니다. 통신의 언어와 규칙은 통신 프로토콜에 정의되어 있습니다. 모든 클라이언트-서버 프로토콜은 응용 프로그램 계층에서 작동합니다. 응용 프로그램 계층 프로토콜은 대화의 기본 패턴을 정의합니다. 데이터 교환을 더욱 공식화하기 위해 서버는 애플리케이션 프로그래밍 인터페이스(API)를 구현할 수 있다. [3] API는 서비스에 액세스하기 위한 추상화 계층입니다. 특정 콘텐츠 형식으로 통신을 제한하 여 구문 분석이 용이합니다. 액세스를 추상화하여 플랫폼 간 데이터 교환을 용이하게 합니다. [4] 클라이언트-서버 아키텍처의 초기 형태는 원격 작업 항목으로, 적어도 OS/360(1964년 발표)으로 거슬러 올라가는데, 여기서 요청이 작업을 실행하는 것이고 응답은 출력이었습니다.

클라이언트 서버 컴퓨팅에서 클라이언트는 리소스를 요청하고 서버는 해당 리소스를 제공합니다. 클라이언트가 하나의 서버와만 접촉하는 동안 서버는 동시에 여러 클라이언트를 제공할 수 있습니다. 클라이언트와 서버는 일반적으로 컴퓨터 네트워크를 통해 통신하지만 때로는 동일한 시스템에 상주할 수 있습니다. 서버 팜의 성능은 프로세서의 성능에 의해 평가되지 않습니다. 서버 팜 성능은 실제로 서버룸의 냉각 시스템과 전기 비용에 의해 제한됩니다. 전기 소비량이 많기 때문에 서버 팜의 설계 매개 변수는 일반적으로 와트당 성능을 기반으로 합니다. 24/7 실행 시스템의 경우, 전력 절전 기능은 시스템이 수요에 따라 일부 부품을 종료할 수 있는지 확인하는 데 더 중요합니다. 따라서 시스템이 더 많은 전력을 절약 할 수있는 동안 서비스가 중단되지 않습니다. [9] 클라이언트-서버 네트워킹은 네트워크 응용 프로그램을 관리하는 한 가지 접근 방식에 불과합니다. 클라이언트-서버 네트워킹, 피어 투 피어 네트워킹의 기본 대안은 모든 장치를 특수 클라이언트 또는 서버 역할이 아닌 동등한 기능을 갖는 것으로 취급합니다.

클라이언트-서버 네트워크에 비해 피어 투 피어 네트워크는 많은 수의 클라이언트를 처리하도록 네트워크를 확장할 때 더 나은 유연성과 같은 몇 가지 이점을 제공합니다. 클라이언트-서버 네트워크는 일반적으로 하나의 중앙 집중식 위치에서 응용 프로그램 및 데이터를 관리하는 기능과 같이 피어 투 피어 네트워크에 비해 이점을 제공합니다. 클라이언트-서버 모델은 서로 통신하는 두 컴퓨터 프로그램 간의 관계로 정의됩니다. 클라이언트는 서버에 서비스 요청을 전송하여 통신을 시작합니다.