프레임워크/Angular

Protocol, websocket, TCP, HTTP

천재짱_develop 2022. 10. 31. 14:07

* 영어표기가 디폴트, 이하 한글표기

* Angular 기준


0. Protocol ~ 프로토콜이 뭔가요?

- Protocol: 의례, (조약의) 초안[원안], (합의안·조약의) 보충 협약.

- 컴퓨터 내부 혹은 컴퓨터 사이에서 데이터의 교환 방식을 약속 ~ 정의하는 규칙 체계

- 참고: https://steemit.com/kr-dev/@wonnieyoon/it-story


1. websocket ~ 웹소켓
- TCP 연결을 통해 실시간 전이중통신을 가능케 하는 프로토콜

- HTML5 표준기술을 바탕으로함 (이 또한 기기의 발전으로 가능해진 기술)

- -> 사용자의 브라우저와 서버 사이의 인터액티브 통신 세션을 설정할 수 있게 하는 고급기술

- 웹 소켓 API를 통해 서버로 메세지를 보내고, 서버의 응답을 위해 서버를 폴링하지 않아도 이벤트 중신의 응답 수신 가능

 

1-1. 웹 소켓의 역사

- 문서 전달과 하이퍼링크를 통한 문서 연결을 위해 HTTP 가 개발되었는데,

- 시대의 흐름에 따라 데이터의 양방향 통신이 필요해짐. 그래서 웹 소켓이 탄생하였다.

- 요약하자면 / 자연스럽게, HTML5 (기기 스펙이 좋아짐)에 따라 기능이 발전하였다.

 

1-2. 방식

- 전이중 통신: 말 그대로 양방향으로 이중 통신이 가능함.

- 예를 들면 HTTP 는 단방향 (요청 →, 응답←) 인데. 양방향(↔)이 가능한것.

- 연속적인 데이터 전송(실시간)의 신뢰성 보장을 위한 Handshake 과정을 진행

- (기존: TCP기반 / 진화된 양방향: HTTP 기반의 웹 소켓 ) +  Handshake

 

HTTP 웹 소켓
● 클라이언트와 서버간 접속 유지 X
   (요청 ~ 응답 까지 완료시, 수립했던 연결 끊김)

요청 →, 응답← / 단방향
따라서, 서버에서 클라이언트로 요청이 불가능
REST 한 방식의 HTTP 통신에서는 다량의 URL 과
   HTTP method 를 통해 웹 어플과 상호작용 하였음
● 클라이언트와 서버간 접속 유지 O
 요청과 응답 ↔ / 양방향
 따라서, 서버에서 클라이언트로 요청이 가능
하나의 URL 로, 모든 메세지는 초기에 설정한
    TCP 연결을 통해 이루어짐


? TCP: 전송 제어 프로토콜

- 인터넷 프로토콜 스위트(IP)의 핵심. IP와 함께 TCP/IP 라는 명칭으로 널리 불린다.

- 근거리 통신망, 인트라넷, 인터넷에 ~ 연결된 컴퓨터에서 실행하는 프로그램간에 일련된 옥텟(8비트, 바이트와 같은 개념)을 안정적으로, 순서대로, 에러 없이 교환 가능하다.

- 말 그대로 제어를 통해 안정적으로 데이터를 제어하는 프로토콜

- 전송 계층에 위치 / 계층 구조의 네트워크 구성요소와 프로토콜내에서 송신자와 수신자를 연결하는 통신 서비스를 제공

 

?HTTP (Hyper Text Transfer Protocol): w3 상에서 정보를 주고받을 수 있는 프로토콜

- 주로 HTML 문서를 주고받는데에 사용됨

- TCP 를 사용하며. Http/3 부터는 UDP 를 사용. 80번 포트를 이용한다는데... 가볍게 이해하고 다음에 이어서 공부할것

 


프로토콜에 대해 공부했노라.