본문 바로가기
CS 면접 준비

Http Socket 통신

by wanna_dev 2024. 7. 22.

HTTP

웹 서비스에서 Client - Server 간의 정보를 요청(request) / 응답 (response) 받기 위해 만들어진 프로토콜

CLient가 요청이 있을때만, Server에서 응답을 반환(단 방향 통신)

Statefuless protocol - Server가 Client의 상태를 저장하지 않음

반드시 DB를 거쳐 데이터를 주고 받음 

서버 자체의 메모리에 유저 데이터를 들고 있지 않음

 

SOCEKT

패킷이라는 형식화된 데이터 메모리 단위를 주고받아 통신함

Client 와 Server가 특정 port를 열어서 실시간으로 양방향 통신을 하는 방식

Stateful Protocol - Server가 Client의 상태를 저장하고 있음

(Client / Server 측에서 임의로 연결상태를 끊지 않는 한 서로 연결 유지)

DB를 통해 데이터를 주고 받을 수도 있고, 임시로 데이터를 서버 프로그램 자체 내에서 생성해서 가지고 있을 수도있음

서버 자체의 메모리에 유저 데이터를 저장하고 있음 

 

 

Server

client -> request -> WAS(Web Server - WebContainer) <-(connection)> DB

싱글스레드 소켓 서버의 구조 : 여러개의 일을 처리하게 되면 느려짐, 하나의 큐로 처리

멀티스레드 소켓 서버의 구조 : 각각의 큐로 처리

 

Peer to Peer (P2P) : 클라이언트가 서버에 접속하지 않고 서로 통신함