클라이언트 - 서버 아키텍처
서버간의 통신을 서버와 클라이언트로 분리시킨 설계방식으로, 이러한 설계방식을 2티어 아키텍처, 또는 클라이언트 - 서버 아키텍처라고 부른다.
클라이언트-서버 아키텍처는 현대 네트워크 기반시스템에서 혁신적인 개념이다. 이 아키텍처는 클라이언트와 서버간의 효율적인 통신과 데이터 교환을 가능하게 합니다. 클라이언트 - 서버 아키텍처와 주요 프로토콜인 HTTP, HTTPS, TCP/IP, WebSocket등이 있습니다.
클라이언트 - 서버 아키텍처
클라이언트-서버 아키텍처는 네트워크 환경에서 애플리케이션의 구조를 설명하는 개념이다. 클라이언트는 서비스를 요청하는 디바이스나 소프트웨어를 의미하며, 서버는 요청을 처리하고 결과를 제공하는 디바이스나 소프트웨어를 의미한다. 클라이언트와 서버는 네트워크 통신을 통하여 데이터와 서비스를 교환한다.
HTTP
HTTP는 클라이언트와 서버 사이에서 데이터를 전송하기 위해 사용되는 프로토콜이다. 주로 웹 브라우저가 웹 서버에서 웹 페이즈를 요청하고, 서버가 요청에 대한 응답으로 웹 페이즈를 제공한다. HTTP는 주로 텍스트 데이터를 전송하며 요청-응답 방식으로 동작한다.
HTTPS
HTTPS는 HTTP의 보안 버전으로, 데이터의 안전한 전송을 제공한다. HTTPS는 SSL, TLS 프로토콜을 사용하여 데이터의 암호화와 인증을 수행한다. 이를 통해 클라이언트와 서버간 통신이 안전하게 이루어진다. 주로 온라인 결제, 개인정보 보호등보안이 필요한 통신에서 사용된다.
TCP/IP
TCP/IP는 인터넷을 위한 기본 프로토콜 스택이다. TCP는 데이터의 신뢰성을 보장하기 위해 사용되는 전송 계층 프로토콜이며 IP는 데이터 패킷의 라우팅과 전달을 담당하는 네트워크 계층 프로토콜이다. TCP/IP는 인터넷에서 데이터를 주고 받을 수 있도록 해준다.
WebSocket
WebSocket는 양방향 통신을 지원하는 프로토콜로, 클라이언트와 서버간의 지속적인 연결을 제공한다. HTTP와 달리 WebSocket은 서버와 클라이언트 간의 연결을 유지하고 실시간으로 데이터를 전송 할 수 있습니다. 주로 실시간 채팅, 주식 시세업에티으 등에 사용됩니다.