웹소켓(Web Socket)이란? -클라이언트와 서버간의 양방향 통신을 가능하게 하는 프로토콜입니다. HTTP와 같은 웹표준 프로토콜입니다. 이는 실시간, 이벤트 기반 통신이 필요한 애플리케이션을 개발할때 쓰이며, 서버와 클라이언트간에 자유롭게 메세지를 보낼 수 있게 연결을 합니다. 이 연결을 통해 클라이언트와 서버는 자유롭게 데이터를 서로 송수신을 할 수 있고, 서버측에서는 웹소켓 연결된 클라이언트를 관리할 수 있습니다. 스프링 웹소켓 구현 과정 WebSocket 설정 @Configuration과 @EnableWebSocketMessageBroker를 이용해 웹소켓 설정 파일을 구현합니다. 이 설정 클래스는 WebSocketMessageBrokerConfigurer를 구현하고 있는데, 총 두개의 메서드..
HTTP 프로토콜이란? -HTTP는 인터넷에서 데이터를 주고받기 위해 사용되는 프로토콜입니다. HTTP는 클라이언트-서버 모델을 따르며, 통신에 사용됩니다. TCP기반의 프로토콜 스택을 사용하여 데이터를 전송하지만 Stateless한 프로토콜이라 쿠키, 세션과 같은 기술을 사용해야합니다. Stateless란? -상태를 유지하지 않는다 라는 의미로, 클라이언트와 서버간의 통신에서 이전 요청에 대한 정보를 유지하지 않습니다. 따라서 각각의 요청이 독립적으로 처리되며, 그전의 정보는 유지하지않아 서버에 대한 부하를 줄일 수 있습니다. 하지만,서버가 이전 요청과 현재 요청이 같은 클라이언트의것임을 알 수 없기 때문에 세션,쿠키와 같은 방식으로 클라이언트의 정보를 구별할 수 있습니다. HTTP request ty..
*공부 기록용으로 하는 블로그입니다.잘못된 개념이나 오타가 있을 수 있습니다. 잘못된 정보알려주시면 수정하겠습니다!* UDP 프로토콜이란? -UDP는 데이터를 신속하고 간편하게 보내는 프로토콜입니다. TCP처럼 데이터를 안정적이고 신뢰성있게 보내진않지만 빠르게 응답하고 보낼 수 있는 장점이 있습니다. 다음은 UDP의 특징입니다. 1.빠른 속도 : UDP는 TCP에 비해 전송 신뢰성이 떨어지지만 TCP보다 빠른 속도와 적은 오버헤드를 가지고 있습니다. 2.비연결 지향 :UDP는 데이터를 주고받을 때 연결 절차를 거치지않고 일방적으로 데이터 전송만 합니다. 3.데이터 신뢰성X : 흐름제어 혼잡제어 같은 기능이 없이 일방적으로 데이터 전송만 하기에 데이터가 유실되거나 순서가 꼬일 수 있습니다. TCP는 세그먼..
*공부 기록용으로 하는 블로그입니다.잘못된 개념이나 오타가 있을 수 있습니다. 잘못된 정보알려주시면 수정하겠습니다!* TCP 프로토콜이란? -TCP는 데이터를 안정적이고 신뢰성 있게 전송하기 위한 프로토콜입니다. TCP는 연결 지향적으로 패킷전송을 안정적으로 보장합니다. 다음은 TCP의 특징입니다. 1.연결지향 : 연결지향으로 3-way handshake를 통해 연결을 하여 데이터를 전송합니다. 2.신뢰성있는 데이터 전달 보장 : TCP는 연결지향적으로 ACK과정을 통해 데이터를 신뢰성있게 보냅니다. 3.데이터의 순차적인 전달 보장 : TCP는 세그먼트 넘버를 통해 분할되어 있는 데이터를 순차적으로 전달 하는것을 보장합니다. 4.흐름제어 : 데이터 전송 속도를 조절하여 수신 측에서 처리할 수 있는 데이터..