[TIL] 230905 SSE VS WebSocket

CountryGirlΒ·2023λ…„ 9μ›” 5일
0

TIL

λͺ©λ‘ 보기
58/80

πŸ“Œ SSE (Server Sent Event)

: μ„œλ²„μ—μ„œ ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ 단방ν–₯ μ‹€μ‹œκ°„ 톡신을 κ°€λŠ₯ν•˜κ²Œ ν•˜λŠ” 기술

πŸ‘πŸ» μž₯점

  1. HTTP λ₯Ό ν†΅ν•œ μ—°κ²°
  2. μž¬μ—°κ²° κΈ°λŠ₯ (μ„œλ²„κ°€ 연결을 끊으면 ν΄λΌμ΄μ–ΈνŠΈλŠ” μ‚¬μš©μž κ°œμž…μ—†μ΄ μžλ™μœΌλ‘œ μž¬μ—°κ²° μ‹œλ„)
  3. Mozilla, Chrome, Safari λΈŒλΌμš°μ €λ₯Ό 지원
  4. WebSocket 보닀 섀정이 λΉ λ₯΄κ³  편리

πŸ‘ŽπŸ» 단점

  1. UTF-8 문자만 처리, Binary 데이터 지원 X
  2. μ—΄λ €μžˆλŠ” μ΅œλŒ€ μ—°κ²° 수 μ œν•œ
  3. 단방ν–₯ 기술
  4. λΈŒλΌμš°μ € 지원 μ œν•œ

πŸ“Œ WebSocket

: ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ κ°„μ˜ μ–‘λ°©ν–₯ μ‹€μ‹œκ°„ 톡신을 κ°€λŠ₯ν•˜κ²Œ ν•˜λŠ” 기술

πŸ‘πŸ» μž₯점

  1. μ‹€μ‹œκ°„ μ–‘λ°©ν–₯ 톡신
  2. 일반적으둜 'XMLHttpRequest'λ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠμœΌλ―€λ‘œ μΆ”κ°€ μ„œλ²„ 데이터가 ν•„μš”ν•  λ•Œ 헀더가 μ œκ³΅λ˜μ§€ μ•ŠμŒ ➑️ μ„œλ²„λ‘œ μ „μ†‘λ˜λŠ” κ³Όλ„ν•œ 데이터 λ‘œλ“œ κ°μ†Œ
  3. UTF-8 ν…μŠ€νŠΈ ν˜•μ‹μœΌλ‘œ 데이터λ₯Ό 보낼 수 있음
  4. Binary ν˜•μ‹μœΌλ‘œ 데이터λ₯Ό 보낼 수 있음 ➑️ λ°”μ΄νŠΈμ˜ λͺ¨λ“  값을 인코딩에 μ‚¬μš©ν•  수 μžˆμœΌλ―€λ‘œ 데이터 전솑 및 ν•΄μ„μ˜ νš¨μœ¨μ„±μ„ ν–₯μƒμ‹œν‚¬ 수 있음
  5. Google Chrome, Microsoft Edge, Opera, Firefox, Safari λΈŒλΌμš°μ €λ₯Ό 지원
  6. μ’…λ£Œλœ ν΄λΌμ΄μ–ΈνŠΈ μ—°κ²° 식별 κ°€λŠ₯

πŸ‘ŽπŸ» 단점

  1. HTTP μ—μ„œ μ™„μ „ν•œ μž‘λ™μ„ ν•˜μ§€ μ•Šμ•„ TCP 연결이 ν•„μš”
    a. 압좕지원 X
    b. HTTP/2 λ©€ν‹°ν”Œλ μ‹± 지원 X
  2. μ„€μ •ν•˜κΈ° μœ„ν•œ 사전 μž‘μ—…μ΄ λ³΅μž‘ν•˜κ³  였래걸림
  3. 2011λ…„ 이전 λΈŒλΌμš°μ € 지원 X

정리

SSEWebSocket
톡신 λ°©ν–₯단방ν–₯μ–‘λ°©ν–₯
λΈŒλΌμš°μ € 지원Mozilla, Chrome, SafariGoogle Chrome, Microsoft Edge, Opera, Firefox, Safari
μžλ™ μž¬μ—°κ²°OX
μ΅œλŒ€ λ™μ‹œ 접속 수HTTPλ₯Ό ν†΅ν•΄μ„œ ν•  λ•ŒλŠ” λΈŒλΌμš°μ €λ‹Ή 6개 κΉŒμ§€ κ°€λŠ₯
HTTP2λ‘œλŠ” 100κ°œκ°€ κΈ°λ³Έ
λΈŒλΌμš°μ € μ—°κ²° ν•œλ„λŠ” μ—†μ§€λ§Œ μ„œλ²„ 셋업에 따라 닀름
ν”„λ‘œν† μ½œHTTPWebSocket / TCP

βœ… REFERENCE

개발자둜 살아남기-μΊλ‚˜λ‹€ : μ›Ήμ†ŒμΌ“ κ³Ό SSE(Server-Sent-Event) 차이점 μ•Œμ•„λ³΄κ³  μ‚¬μš©ν•΄λ³΄κΈ°

Piumi Liyana Gunawardhana : WebSockets vs. Server-Sent Events

profile
πŸ’»πŸŒΎμ‹œκ³¨μ†Œλ…€μ˜ 엉망징창 개발 μ„±μž₯μΌμ§€πŸŒΎπŸ’» (2023.05.23 ~)

0개의 λŒ“κΈ€