Home
>
Network
>
2024
>
๐[Network] WSS(WebSocket Secure) ํ๋กํ ์ฝ์ด๋ ๋ฌด์์ผ๊น์?
Network
๐[Network] WSS(WebSocket Secure) ํ๋กํ ์ฝ์ด๋ ๋ฌด์์ผ๊น์?
-
WSS(WebSocket Secure)๋ WebSocket ํ๋กํ ์ฝ์ ๋ณด์๋ฒ์ ์
๋๋ค.
- WebSocket์ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์๋ฐฉํฅ ํต์ ์ ์ํ ํ๋กํ ์ฝ๋ก,
ws://
๋ ๋ณด์์ด ์ ์ฉ๋์ง ์์ ์ผ๋ฐ WebSocket ์ฐ๊ฒฐ์ ์๋ฏธํ๋ฉฐ, wss://
๋ TLS(Transport Layer Security) ์ํธํ๋ฅผ ์ฌ์ฉํ๋ ๋ณด์ WebSocket ์ฐ๊ฒฐ์ ์๋ฏธํฉ๋๋ค.
1๏ธโฃ WSS(WebSocket Secure)์ ํน์ง.
1๏ธโฃ TLS(Transport Layer Security) ์ํธํ ์ง์.
- WSS(WebSocket Secure)๋ HTTPS(Hypertext Transfer Protocol Secure)๊ณผ ์ ์ฌํ๊ฒ TLS/SSL ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ํธํํฉ๋๋ค.
- ์ด๋ฅผ ํตํด ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ํต์ ์ ๋ณดํธํ๊ณ , ๋ฐ์ดํฐ๊ฐ ๋์ฒญ, ๋ณ์กฐ๋์ง ์๋๋ก ํฉ๋๋ค.
2๏ธโฃ ๋ณด์ ๊ฐํ.
- WSS๋ ์ผ๋ฐ WebSocket(ws://)๋ณด๋ค ๋ณด์ ์์ค์ด ๋์ผ๋ฉฐ, ๋คํธ์ํฌ ํธ๋ํฝ์ ๊ฐ์ํ๊ฑฐ๋ ๊ณต๊ฒฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋ก์ฑ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
3๏ธโฃ HTTPS ํ๊ฒฝ๊ณผ ํจ๊ป ์ฌ์ฉ.
- WSS๋ HTTPS ํ๊ฒฝ์์ ์ฌ์ฉ๋๋ฉฐ, HTTPS๋ฅผ ์ฌ์ฉํ๋ ์น์ฌ์ดํธ์์ ๋ฐ๋์ WSS๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
- ๋ธ๋ผ์ฐ์ ๋ HTTPS ์ฌ์ดํธ์์ ws:// ์ฐ๊ฒฐ์ ํ์ฉํ์ง ์์ต๋๋ค.
2๏ธโฃ WSS ์ฌ์ฉ ์ฌ๋ก.
-
์ค์๊ฐ ์ฑํ
์ ํ๋ฆฌ์ผ์ด์
.
- ์: Slack, Discord ๊ฐ์ ์๋น์ค์์ ์ฌ์ฉ์ ๊ฐ ์ค์๊ฐ ๋ฉ์์ง ์ ์ก.
-
๋ผ์ด๋ธ ๋ฐ์ดํฐ ์คํธ๋ฆฌ๋ฐ.
- ์: ์ฃผ์ ๊ฐ๊ฒฉ ์
๋ฐ์ดํธ, ์คํฌ์ธ ๊ฒฝ๊ธฐ ์ค์ฝ์ด.
-
๊ฒ์ ์๋ฒ.
- ์: ์ค์๊ฐ ๋ฉํฐํ๋ ์ด์ด ๊ฒ์์์์ ๋น ๋ฅธ ๋ฐ์ดํฐ ๊ตํ.
-
IoT ๊ธฐ๊ธฐ ๊ด๋ฆฌ.
- IoT ์ฅ์น์ ์๋ฒ ๊ฐ์ ์์ ํ ๋ฐ์ดํฐ ์ ์ก.
3๏ธโฃ WSS์ HTTPS์ ์ฐจ์ด.
ํน์ง |
HTTPS |
WSS |
์ฌ์ฉ ํ๋กํ ์ฝ |
HTTP over TLS |
WebSocket over TLS |
ํฌํธ ๋ฒํธ |
443 |
443(๋๋ถ๋ถ์ ๊ฒฝ์ฐ) |
ํต์ ๋ฐฉ์ |
์์ฒญ-์๋ต(Request-Response) |
์๋ฐฉํฅ(Full-Duplex, Real-Time) |
์ฌ์ฉ ๋ชฉ์ |
์ผ๋ฐ ์น ๋ธ๋ผ์ฐ์ง ๋ฐ API ํต์ |
์ค์๊ฐ ๋ฐ์ดํฐ ๊ตํ |
4๏ธโฃ WSS๋ฅผ ์ค์ ํ๋ ค๋ฉด?
1๏ธโฃ ์๋ฒ์์ SSL/TLS ์ธ์ฆ์ ์ค์น.
- ์ธ์ฆ์๋ Letโs Encrypt, DigiCert ๋ฑ์์ ๋ฐ๊ธ๋ฐ์์ผ ํฉ๋๋ค.
- ์: Nginx๋ Apache์ TLS๋ฅผ ์ค์ .
2๏ธโฃ WebSocket ์๋ฒ ๊ตฌํ.
- Node.js, Java, Python ๋ฑ์์ WebSocket ์๋ฒ๋ฅผ ๊ตฌํํ๊ณ , TLS ์ธ์ฆ์๋ฅผ ์ ์ฉํฉ๋๋ค.
3๏ธโฃ ํด๋ผ์ด์ธํธ์์ WSS ์ฐ๊ฒฐ ์ฌ์ฉ.
- ํด๋ผ์ด์ธํธ ์ฝ๋๋
wss://
๋ฅผ ์ฌ์ฉํ์ฌ WebSocket ์๋ฒ์ ์ฐ๊ฒฐํด์ผ ํฉ๋๋ค.
- ์(JavaScript)
const socket = new WebSocket('wss://example.com/socket');
socket.onopen = () => console.log('Connected');
socket.onmessage = (event) => console.log(event.data);
5๏ธโฃ ์์ฝ.
- WSS๋ WebSocket์ ๋ณด์ ๋ฒ์ ์ผ๋ก, ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ฌ ์์ ํ๊ฒ ์ ๋ฌํฉ๋๋ค.
-
ws://
๋ HTTP์ ๊ฐ์ด ๋ณด์์ด ์๋ ํ๊ฒฝ์์ ์ฌ์ฉ๋๊ณ , wss://
๋ HTTPS์ฒ๋ผ TLS๋ฅผ ์ ์ฉํ ํ๊ฒฝ์์ ์ฌ์ฉ๋ฉ๋๋ค.
- HTTPS ์น์ฌ์ดํธ๋ ๋ฐ๋์
wss://
๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.