HTTP로 handshake 한 후 ws로 프로토콜을 변환하여 웹소켓 프레임을 통해 데이터를 전송
양방향 통신이여서 요청과 응답을 구분하지 않음
<aside> 💡 Handshake 통신의 양측 간에 조건에 합의 해 가는 정보 교환 과정
</aside>
웹 소켓 커켁션을 만들기 위해서는 ws라는 특수 프로토콜 사용
wss:// 사용하는 이유는 보안 이외에도 신뢰성 측명에서 ws보다 더 신뢰할만한 프롴토콜
wss://
는 보안 이외에도 신뢰성(reliability) 측면에서 ws
보다 좀 더 신뢰할만한 프로토콜입니다.
ws://
를 사용해 데이터를 전송하면 데이터가 암호화되어있지 않은 채로 전송되기 때문에 데이터가 그대로 노출됩니다. 그런데 아주 오래된 프락시 서버는 웹소켓이 무엇인지 몰라서 ‘이상한’ 헤더가 붙은 요청이 들어왔다고 판단하고 연결을 끊어버립니다.
반면 wss://
는 TSL(전송 계층 보안(Transport Layer Security))이라는 보안 계층을 통과해 전달되므로 송신자 측에서 데이터가 암호화되고, 복호화는 수신자 측에서 이뤄지게 됩니다. 따라서 데이터가 담긴 패킷이 암호화된 상태로 프락시 서버를 통과하므로 프락시 서버는 패킷 내부를 볼 수 없게 됩니다.