HTTP(HyperText Transfer Protocol)
텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜이다
이렇게 규약을 정해두었기 때문에 모든 프로그램이 이 규약에 맞춰 개발해서 서로 정보를 교환할 수 있다
브라우저(클라이언트)가 서버에 요청(Requst)하고
서버가 브라우저에 응답(Response)하면
브라우저-서버 간 통신은 끝난다
따라서 HTTP는 연결 상태를 유지하지 않는 비연결성 프로토콜이다
Request Method
- GET
- POST
- PUT
- DELETE
Request Status Code
- 1XX (Information responses, 조건부 응답) : 서버가 요청을 받았으며, 서버에 연결된 클라이언트는 작업을 계속 진행한다
- 2XX (Successful responses, 성공) : 클라이언트가 요청한 동작을 수신했고 성공적으로 처리했다
- 3XX (Redirection messages, 리다이렉션 완료) : 요청에 대해서 하나 이상의 응답이 가능하다 사용자는 그중에 하나를 반드시 선택해야 한다
- 4XX (Client error responses, 요청 오류) : 브라우저(클라이언트)에 오류가 있다
- 5XX (Server error reponses, 서버 오류) : 서버에 문제가 있음을 의미한다
Web Socket
하나의 TCP 접속에 전이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜이다
클라이언트의 브라우저와 서버 사이의 동적인 양방향 연결 채널을 구성한다
Web Socket API를 통해 서버로 메세지를 보내고, 요청 없이 응답을 받아오는 것이 가능하다
HTTP의 Request, Response와 달리 Web Socket은 Open, Close가 존재한다
HTTP vs Web Socket
HTTP는 클라이언트의 요청(Request)이 있을 때만 서버가 응답(Response)하여 해당 정보를 전송하고 바로 연결을 종료하는 방식이지만,
Socket 통신은 HTTP 통신과 달리 서버와 클라이언트가 특정 포트를 통해 연결을 성립하고 있어 실시간으로 양방향 통신을 하는 방식이다
HTTP 통신은 실시간 연결이 아닌, 필요한 경우에만 서버로 접근하는 콘텐츠 위주의 데이터를 사용할 때 용이하다
실시간 스트리밍 중계나 채팅과 같이 즉각적으로 정보를 주고받는 경우에는 Socket을 사용한다
Web RTC(Web Real-Time Communications)
WebRTC는 웹 브라우저 간에 플러그인의 도움 없이 서로 통신할 수 있도록 설계된 API이며, P2P(Peer to Peer) 통신에 최적화되어 있다
웹 어플리케이션 및 사이트들이 별도의 소프트웨어 없이 음성, 영상 미디어 혹은 텍스트, 파일 같은 데이터를 브라우저끼리 주고 받을 수 있게 만든 기술이다
화상 통화, 화상 공유 구현이 가능하다
웹 브라우저 상에서는 어떠한 플러그인도 필요 없이 음성 채팅과 화상채팅, 데이터 교환까지도 가능하게 한다
@ P2P(Peer to Peer)
Peer to Peer 방식은 동등 계층간 통신 방식으로 클라이언트, 서버의 개념없이 동등한 노드들로 구성되어 데이터를 주고받는 형식으로 되어있다
'ETC' 카테고리의 다른 글
[#. ETC] 웹 브라우저에서 URL을 입력했을 때 과정(OSI 7계층) (0) | 2022.05.31 |
---|---|
[#. R] package ‘KoNLP’ is not available for this version of R, R 4 version 이상에서 발생하는 문제 해결 (1) | 2022.03.20 |
[#. ETC] 디자이너 없이 개발할 때 참고하기 유용한 사이트(color, gradient, svg, png, background) (0) | 2022.01.07 |
[#. Browser] Canary란? Chrome Canary, Microsoft Edge Canary (0) | 2021.12.16 |
[#. VSCode] Mac에서 code . 명령어로 VSCode 실행하기 (0) | 2021.11.30 |