Full-Stack 공부-05

Full-Stack 공부-05

크로스 브라우징(Cross Browsing)

웹 브라우저 간의 호환성에 문제가 없음을 의미한다.

웹 브라우저 통신 과정

  1. url 분석 및 접속
    웹 브라우저는 url을 분석하여 서버의 IP주소와 포스(기본은 80)을 이용하여 서버와 TCP/IP 연결을 요청한다.
  2. Request 헤더 전송
    브라우저에서 요청 파일명 등이 들어있는 헤더를 전송한다.
  3. Response 헤더 수신
    서버에서 헤더르,ㄹ 수신하고 응답상태(200, 404등)를 확인하며 바디의 content-type을 확인한다.
  4. Reponse 바디 수신
    바디가 있는 경우에 서버세서 수신한 바디를 헤더에 기술된 content-type에 따라서 text/html인 경우에 html을 렌더링하고, image/jpeg인 경우에는 그림을 띄우는 등의 적절하게 해석한다.

web socket

http프로토콜은 기본적으로 TCP연결을 지속적으로 열어두지 않는다. 문서 전달을 위한 프로토콜이기 때문에 Request와 Response가 교환되어 TCP연결을 종료한다. 또, http프로토콜은 단방향 통신이기 때문에 클라이언트의 Request 없이는 서버에서 일방적으로 데이터를 전송(server push)할 수 없다.
웹소켓 최초 연결시 http프로토콜을 이용한다.

socket.io

websocket은 tcp for web의 표준으로 채택되었지만, 크로스 브라우징 문제에서 자유롭지 못하다.socket.io 라이브러리는 node.js 모튤과 웹 브라우저 환경에 맞게 적절한 content 방식 또는 websocket을 이용하여 연결을 맺어주는 javascript 모듈을 제공하고 있다. 즉, 디바이스나 웹 브라우저에 관계없이 websocket 연결이나 실시간 서버, 클라이언트 양측을 위한 모듈이라고 할 수 있다.

댓글

가장 많이 본 글