왜 Web Socket이 등장했나?

코몽·2022년 2월 22일
0

AJAX에 관한 글을 읽던 도중 HTTP -> AJAX -> Web Socket 까지의 기술 발전을 알게 되었다.
이 글은 그에 대한 내용 정리이다.



HTTP

  • HTTP는 통신 제약이 있는 프로토콜이다.
  • 사용자가 요청하면 서버가 새로운 HTML 문서를 제공한다. 새로운 HTML문서를 응답으로 받는다는 것은 새로운 페이지로 이동한다는 것이다.



AJAX

  • AJAX는 프로토콜이 아닌 기술이다. Asynchronous JavaScript And XML의 약자이다.
  • XML로 데이터를 주고 받으며 비동기 처리를 가능하게 해주는 기술이다.
  • 최근에는 XML대신 JSON으로 통신을 한다.
  • XMLHttpRequest라는 객체로 서버에 요청을하며 결국 HTTP를 이용하여 서버와 통신을 한다.
  • 사용자가 요청시 새로운 HTML 문서를 서버에서 받는 것이 아닌 동일 페이지의 일부 DOM만 변경



차이점

  • HTTP는 웹 브라우저가 서버에 요청, AJAX는 XMLHttpRequest 객체가 서버에 요청
  • HTTP는 request후 response 받으면 서버와의 연결 끊김
  • AJAX는 서버와의 연결 유지.



공통점

  • AJAX도 HTTP로 서버와 통신을 한다.
  • 둘 다 클라이언트측에서 서버로 먼저 요청이 있어야 서버에서 응답 받기 가능



Web Socket

  • 웹 소켓 이전 클라이언트 측에서 계속 polling을 해주어 요청 없이 서버한테 응답 받는 기술 등장
  • 좀 더 근본적인 해결 방법으로 HTML5 Web Socket 등장
  • 웹 환경에서 실시간 양방향 통신 가능
  • 브라우저와 서버가 양방향 통신을 가능하게 해주는 프로토콜
  • 클라이언트의 요청이 없음에도 서버로부터 응답 수신 가능
profile
프론트엔드 웹 개발자(React) https://code-d-monkey.tistory.com/

0개의 댓글