๐Ÿ“–
Mini's Today I Learned
  • Today I Learned
  • ๐Ÿ’ปComputer Science
    • ๐ŸงฑComputer Science
      • Computer Architecture
    • ๐Ÿฆ•OperatingSystem
      • System Structure
      • 01. ์šด์˜์ฒด์ œ ์—ญํ• 
      • 02. History๋กœ ์ดํ•ดํ•˜๋Š” ์šด์˜์ฒด์ œ
      • 03. ์šด์˜์ฒด์ œ ๊ตฌ์กฐ
      • 04. ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ฅด๋ง
      • 05. ์Šค์ผ€์ฅด๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜
      • 06. ํ”„๋กœ์„ธ์Šค ์ƒํƒœ์™€ ์Šค์ผ€์ฅด๋Ÿฌ
      • 07. ์ธํ„ฐ๋ŸฝํŠธ
      • 08. ํ”„๋กœ์„ธ์Šค์™€ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ
      • 09. ํ”„๋กœ์„ธ์Šค๊ฐ„ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜(IPC ๊ธฐ๋ฒ•)
      • 10. Thread(์Šค๋ ˆ๋“œ)
      • 11. ๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ (Virtual Memory System)
      • 12. ํŒŒ์ผ์‹œ์Šคํ…œ ์ดํ•ด
      • 13. ๋ถ€ํŒ…์˜ ์ดํ•ด
      • 14. ๊ฐ€์ƒ๋จธ์‹ (Virtual Machine)
  • ๐Ÿ“ˆDatabase
    • MySQL CLI (Frequently used)
    • 1-Tier, 2Tier, 3Tier
    • Basic SQL
    • Built in function
    • Sub Query
    • View
    • Stored Program
    • index
    • Normalization(์ •๊ทœํ™”)
    • Transaction
    • Transaction
  • ๐ŸŒ Network
    • ๐Ÿ”Œ TCP&IP Basic
      • 01 TCP/IP ๋ง›๋ณด๊ธฐ
      • 02 TCP/IP ๊ฐœ์š”
      • 03 ํ†ต์‹  ์„œ๋น„์Šค์™€ ํ”„๋กœํ† ์ฝœ
      • 04 ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต
      • 05 ํŠธ๋ Œ์ŠคํฌํŠธ ๊ณ„์ธต
      • 06 ๋„คํŠธ์›Œํฌ๊ณ„์ธต
      • 07 ๋ฐ์ดํ„ฐ ๊ณ„์ธต๊ณผ ๋ฌผ๋ฆฌ๊ณ„์ธต
      • 08 ๋ผ์šฐํŒ…
      • 09 ๋ณด์•ˆ
      • 10 HTTP ํ”„๋กœํ† ์ฝœ
    • ๐Ÿฟ๏ธHTTP ์™„๋ฒฝ ๊ฐ€์ด๋“œ ์š”์•ฝ
      • 1. HTTP: ์›น์˜ ๊ธฐ์ดˆ
      • 2. URL ๊ณผ ๋ฆฌ์†Œ์Šค
      • 3. HTTP Message
      • 4. Connection Management
      • 5. Overview of web server architectures
      • 6. Proxies
      • 7.Caching
      • 8. Integration Points: Gateways, Tunnels, and Relays
      • 9. Web Robots
      • 10. HTTP/2.0
      • 11. Client Identification and Cookies
      • 12. Basic Authentication
      • 13. Digest Authentication
      • 14. Secure HTTP
      • 15. Entities and Encodings
      • 16. Internationalization
      • 17. Content Negotiation and Transcoding
      • 18. Web Hosting
  • ๐ŸดLanguage
    • โ˜•JAVA
      • Comparable vs Comparator
  • ๐Ÿ› ๏ธ Framework
  • ๐ŸงฉDesign Pattern
    • ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„ ์›์น™ (SOLID)
    • Design Pattern ๊ฐœ์š”
    • Template method
    • Singleton
  • ๐ŸฅFrontEnd
    • HTML&CSS
      • 01 Intro
      • 02 HTML Basic
      • 03 Content Section
      • 04 Block and Inline Elements
      • 05 Text Contents
      • 06 Inline Elements
      • 07 Multi Media
      • 08 Table&Form&etc
      • 09 Global Attribute & etc
      • 10 css basic
      • 11 css config
      • 12 css unit
      • 13 Box Model
      • 14 Font & Text
      • 15 Float(๋„์›€) & Position
      • 16 Background
      • 17 Transitions & Transforms
      • 18 Animation & Multi Columns(๋‹ค๋‹จ)
      • 19 Flex
      • 20 Grid
    • Sass(SCSS)
    • TypeScript
    • Webpack Introduction
      • ์›นํŒฉ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ
      • CommonJS
      • ESM
      • WebpackConfig
        • 1. Handlebars
        • 2. Caching
        • 3. Minification & Mangling
        • 4. Mode(Development mode & Production Mode)
        • 5. ์ด๋ฏธ์ง€ ํŒŒ์ผ ๋ชจ๋“ˆ๋กœ ๋‹ค๋ฃจ์–ด๋ณด๊ธฐ(file-loader)
        • 6. ์ด๋ฏธ์ง€ ํŒŒ์ผ ๋ชจ๋“ˆ๋กœ ๋‹ค๋ฃจ์–ด๋ณด๊ธฐ(url-loader)
        • 7. SASS Loader
        • 8. Post CSS
        • 9. BLOWSERS LIST
        • 10. Stylelint
        • 11. Babel
      • Webpack-Practice
    • ETC
      • GIT
      • MarkDown
Powered by GitBook
On this page
  • 1) TCP ์ปค๋„ฅ์…˜
  • โ‘  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก ํ†ต๋กœ TCP
  • โ‘กTCP ์ŠคํŠธ๋ฆผ์€ ์„ธ๊ทธ๋จผํŠธ๋กœ ๋‚˜๋‰˜์–ด IP ํŒจํ‚ท์„ ํ†ตํ•ด ์ „์†ก
  • โ‘ข TCP ์ปค๋„ฅ์…˜ ์œ ์ง€ํ•˜๊ธฐ
  • โ‘ฃ TCP ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
  • 2) TCP ์„ฑ๋Šฅ์— ๋Œ€ํ•œ ๊ณ ๋ ค
  • โ‘  HTTP ํŠธ๋žœ์žญ์…˜ ์ง€์—ฐ
  • โ‘ก ์ผ๋ฐ˜์ ์ธ TCP ๊ด€๋ จ ์ง€์—ฐ
  • 3) HTTP ์ปค๋„ฅ์…˜ ๊ด€๋ฆฌ
  • โ‘  Connection Header
  • โ‘ก ์ˆœ์ฐจํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ์— ์˜ํ•œ ์ง€์—ฐ
  • 4) ์ปค๋„ฅ์…˜ ๋Š๊ธฐ
  • โ‘  ๋งˆ์Œ๋Œ€๋กœ ์ปค๋„ฅ์…˜ ๋Š๊ธฐ
  • โ‘ก Content-Length, Truncation
  • โ‘ข ์ปค๋„ฅ์…˜ ๋Š๊ธฐ ํ—ˆ์šฉ, ์žฌ์‹œ๋„, ๋ฉฑ๋“ฑ์„ฑ
  • โ‘ฃ์šฐ์•„ํ•œ ์ปค๋„ฅ์…˜ ๋Š๊ธฐ

Was this helpful?

  1. ๐ŸŒ Network
  2. HTTP ์™„๋ฒฝ ๊ฐ€์ด๋“œ ์š”์•ฝ

4. Connection Management

Previous3. HTTP MessageNext5. Overview of web server architectures

Last updated 3 years ago

Was this helpful?

[ํ•™์Šต๋ชฉํ‘œ]

  • HTTP๋Š” ์–ด๋–ป๊ฒŒ TCP ์ปค๋„ฅ์…˜์„ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€

  • HTTP ์ปค๋„ฅ์…˜์ด ๋ฌด์—‡์ด๊ณ , ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋˜๋Š”์ง€ ์ดํ•ดํ•œ๋‹ค.

  • TCP์ปค๋„ฅ์…˜์˜ ์ง€์—ฐ, ๋ณ‘๋ชฉ, ๋ง‰ํž˜ํ˜„์ƒ

  • ๋ณ‘๋ ฌ์ปค๋„ฅ์…˜, keep-alive์ปค๋„ฅ์…˜, ์ปค๋„ฅ์…˜ ํŒŒ์ดํ”„๋ผ์ธ์„ ํ™œ์šฉํ•œ HTTP ์ตœ์ ํ™”

  • ์ปค๋„ฅ์…˜๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ทœ์น™

1) TCP ์ปค๋„ฅ์…˜

HTTP ํ†ต์‹ ์€ TCP/IP ๋ฅผ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง„๋‹ค.

TCP/IP : ์ง€๊ตฌ์ƒ์˜ ์ปดํ“จํ„ฐ์™€ ๋„คํŠธ์›Œํฌ ์žฅ๋น„์—์„œ ๋„๋ฆฌ ์“ฐ์ด๋Š” ํŒจํ‚ท ๊ตํ™˜ ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ๋“ค์˜ ๊ณ„์ธตํ™” ์ง‘ํ•ฉ.

์„ธ๊ณ„ ์–ด๋””์„œ๋“  TCP/IP ์ปค๋„ฅ์…˜์„ ๋งบ์„ ์ˆ˜ ์žˆ๋‹ค.

์ผ๋‹จ ์ปค๋„ฅ์…˜์ด ๋งบ์–ด์ง€๋ฉด, ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์ปดํ“จํ„ฐ๊ฐ„์— ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฉ”์‹œ์ง€๋“ค์€ ์†์‹ค๋˜๊ฑฐ๋‚˜, ์ˆœ์„œ๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๊ณ  ์•ˆ์ „ํžˆ ์ „๋‹ฌ์ด ๋œ๋‹ค.

โ‘  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก ํ†ต๋กœ TCP

  • ์ˆœ์„œ์— ๋งž๊ฒŒ, ์†์‹ค ์—†์ด, ์†์ƒ ์—†์ด, ์•ˆ์ •์ด๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ํ†ต์‹ 

โ‘กTCP ์ŠคํŠธ๋ฆผ์€ ์„ธ๊ทธ๋จผํŠธ๋กœ ๋‚˜๋‰˜์–ด IP ํŒจํ‚ท์„ ํ†ตํ•ด ์ „์†ก

  • Segment: Transport ๊ณ„์ธต [์˜ˆ:TCP] - ํ•ด๋‹น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์—ฐ๊ฒฐ(port)

  • Packet: Network ๊ณ„์ธต [์˜ˆ: IP] - ํ•ด๋‹น์ปดํ“จํ„ฐ์™€ ์—ฐ๊ฒฐ(host or ip address)

โ‘ข TCP ์ปค๋„ฅ์…˜ ์œ ์ง€ํ•˜๊ธฐ

์ปดํ“จํ„ฐ๋Š” ํ•ญ์ƒ TCP ์ปค๋„ฅ์…˜์„ ์—ฌ๋Ÿฌ๊ฐœ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ํ†ตํ•ด ์ปค๋„ฅ์…˜์„ ์œ ์ง€ํ•œ๋‹ค.

TCP ์ปค๋„ฅ์…˜ ์‹๋ณ„์€ ๋„ค๊ฐ€์ง€ ๊ฐ’์œผ๋กœ ํ•œ๋‹ค.

<๋ฐœ์‹ ์ง€ IP ์ฃผ์†Œ, ๋ฐœ์‹ ์ง€ port๋ฒˆํ˜ธ, ์ˆ˜์‹ ์ง€ IP์ฃผ์†Œ, ์ˆ˜์‹ ์ง€ IP๋ฒˆํ˜ธ>

์œ„ ๋„ค๊ฐ€์ง€ ๊ฐ’์œผ๋กœ ์œ ์ผํ•œ ์ปค๋„ฅ์…˜์„ ์ƒ์„ฑํ•œ๋‹ค. [๋„ค๊ฐ€์ง€ ๊ฐ’์ด ๋ชจ๋‘ ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ์—†๊ณ , ๊ตฌ์„ฑ ์š”์†Œ์ค‘ ์ผ๋ถ€๋Š” ๊ฐ™์„ ์ˆ˜ ์žˆ๋‹ค.]

โ‘ฃ TCP ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์šด์˜์ฒด์ œ๋Š” TCP ์ปค๋„ฅ์…˜ ์ƒ์„ฑ๊ณผ ๊ด€๋ จ๋œ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. [์†Œ์ผ“ API]

์ฒ˜์Œ์—๋Š” ์œ ๋‹‰์Šค ์šด์˜์ฒด์ œ์šฉ์œผ๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ๊ณ , ํ˜„์žฌ๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์šด์˜์ฒด์ œ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅ.

ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ TCP ์†Œ์ผ“ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ƒํ˜ธ์ž‘์šฉ ํ”„๋กœ์„ธ์Šค

2) TCP ์„ฑ๋Šฅ์— ๋Œ€ํ•œ ๊ณ ๋ ค

HTTP๋Š” TCP ๋ฐ”๋กœ ์œ„์— ์žˆ๋Š” ๊ณ„์ธต์ด๊ธฐ ๋•Œ๋ฌธ์— TCP ์„ฑ๋Šฅ์€ HTTP ํŠธ๋žœ์žญ์…˜์˜ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค.

โ‘  HTTP ํŠธ๋žœ์žญ์…˜ ์ง€์—ฐ

๋Œ€๋ถ€๋ถ„์˜ HTTP์ง€์—ฐ์€ TCP ๋„คํŠธ์›Œํฌ ์ง€์—ฐ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•œ๋‹ค. HTTP ํŠธ๋žœ์žญ์…˜ ์ง€์—ฐ ์›์ธ์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

  • ํด๋ผ์ด์–ธํŠธ๋Š” URI์—์„œ ์›น ์„œ๋ฒ„์˜ IP์ฃผ์†Œ์™€ ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ์•Œ์•„์•ผํ•˜๊ณ , ์ตœ๊ทผ์— ๋ฐฉ๋ฌธํ•œ์  ์—†๋Š” URI๋ผ๋ฉด, DNS๋กœ ํ˜ธ์ŠคํŠธ๋ช…์„ IP์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š”๋ฐ ์ˆ˜์‹ญ์ดˆ์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค.

    [ํ˜„์žฌ๋Š” ๋ฐ€๋ฆฌ์ดˆ ๋‹จ์œ„๋กœ ๋ถ„์„์ด ๋๋‚œ๋‹ค. host google.com ์„ terminal ์— ์ž…๋ ฅํ•ด์„œ ํ™•์ธํ•ด๋ณผ๊ฒƒ]

  • ํด๋ผ์ด์–ธํŠธ๋Š” TCP ์ปค๋„ฅ์…˜ ์š”์ฒญ์„ ์„œ๋ฒ„์— ๋ณด๋‚ด๊ณ  ์„œ๋ฒ„๊ฐ€ ํ—ˆ๊ฐ€ ์‘๋‹ต์„ ํšŒ์‹ ํ•˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฐ๋‹ค.

    ์ƒˆ๋กœ์šด ์ปค๋„ฅ์…˜์— ํ•ญ์ƒ ๋ฐœ์ƒํ•˜๋Š” ์‹œ๊ฐ„์œผ๋กœ, ํ˜„์žฌ๋Š” 1์ดˆ ๋ฏธ๋งŒ์œผ๋กœ ๋๋‚œ๋‹ค.

  • ์š”์ฒญ๋ฉ”์„ธ์ง€๊ฐ€ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์ „๋‹ฌ๋˜๊ณ , ์„œ๋ฒ„์— ์˜ํ•ด ์ฒ˜๋ฆฌ๋˜๋Š”๋ฐ๊นŒ์ง€ ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„.

  • ๋ฐ˜๋Œ€๋กœ ์›น์„œ๋ฒ„๊ฐ€ HTTP์‘๋‹ต์„ ๋ณด๋‚ด๋Š”๋ฐ ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„.

โ‘ก ์ผ๋ฐ˜์ ์ธ TCP ๊ด€๋ จ ์ง€์—ฐ

  • TCP ์ปค๋„ฅ์…˜ ํ•ธ๋“œ์…ฐ์ดํฌ ์„ค์ •

  • ์ธํ„ฐ๋„ท ํ˜ผ์žก์„ ์ œ์–ดํ•˜๊ธฐ์œ„ํ•œ TCP์˜ ๋А๋ฆฐ์‹œ์ž‘(slow-start)

  • ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋ฐ ๋ชจ์•„ ํ•œ๋ฒˆ์— ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ ๋„ค์ด๊ธ€(nagle) ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • TCP์˜ ํŽธ์Šน(piggyback) ํ™•์ธ์‘๋‹ต(acknowledgement) ์„ ์œ„ํ•œ ํ™•์ธ์‘๋‹ต ์ง€์—ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • TIME_WAIT ์ง€์—ฐ๊ณผ ํฌํŠธ ๊ณ ๊ฐˆ

3) HTTP ์ปค๋„ฅ์…˜ ๊ด€๋ฆฌ

โ‘  Connection Header

  • ์ปค๋„ฅ์…˜ ํ—ค๋”๋Š” 3๊ฐ€์ง€ ์ข…๋ฅ˜์˜ ํ† ํฐ์„ ์ „๋‹ฌ ํ•  ์ˆ˜ ์žˆ๋‹ค.

    • HTTP ํ—ค๋” ํ•„๋“œ๋ช…์€ ์ด ์ปค๋„ฅ์…˜์—๋งŒ ํ•ด๋‹น๋˜๋Š” ํ—ค๋”๋“ค์„ ๋‚˜์—ดํ•œ๋‹ค.

    • ์ž„์‹œ์ ์ธ ํ† ํฐ๊ฐ’์€ ๋น„ํ‘œ์ค€ ์˜ต์…˜์„ ์˜๋ฏธํ•œ๋‹ค.

    • close ๊ฐ’์€ ์ปค๋„ฅ์…˜์ด ์ž‘์—… ์™„๋ฃŒ๋˜๋ฉด ์ข…๋ฃŒ๋˜์•ผํ•จ์„ ์˜๋ฏธํ•œ๋‹ค.

  • HTTP ํ—ค๋” ํ•„๋“œ๋ช…์€ ํ˜„์žฌ ์ปค๋„ฅ์…˜๋งŒ์„ ์œ„ํ•œ ์ •๋ณด์ด๋ฏ€๋กœ ๋‹ค์Œ ์ปค๋„ฅ์…˜์— ์ „๋‹ฌํ•˜๋ฉด ์•ˆ๋˜๊ณ , ๋‹ค๋ฅธ ๊ณณ์œผ๋กœ ์ „๋‹ฌํ•˜๋Š” ์‹œ์ ์— ์‚ญ์ œํ•ด์•ผํ•œ๋‹ค.

  • HTTP ๋‚ด ์ปค๋„ฅ์…˜ ๊ด€๋ฆฌ๋Š” end-to-end๊ฐ€ ์•„๋‹Œ hop-by-hop์ธ ๋‘๊ฐœ์˜ ์—ฐ์†๋œ ๋…ธ๋“œ ์‚ฌ์ด์˜ ์ปค๋„ฅ์…˜์— ์ ์šฉ

    (='ํ—ค๋” ๋ณดํ˜ธํ•˜๊ธฐ')

โ‘ก ์ˆœ์ฐจํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ์— ์˜ํ•œ ์ง€์—ฐ

  • ์˜ˆ๋ฅผ๋“ค์–ด 3๊ฐœ์˜ ์ด๋ฏธ์ง€๊ฐ€ ์žˆ๋Š” ์›นํŽ˜์ด์ง€๋ฅผ ๋ณด๋ ค๋ฉด, ํ•ด๋‹น HTML ๊ณผ ์ด๋ฏธ์ง€ํŒŒ์ผ 3๊ฐœ๋ฅผ ๋ฐ›์•„์™€์•ผํ•˜๋Š”๋ฐ, ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค๋ฉด ์ด๋ฏธ์ง€๋ฅผ ๋‚ด๋ ค๋ฐ›๋Š”๋™์•ˆ ๋นˆ ํ™”๋ฉด๋งŒ์„ ๋ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. HTTP ์ปค๋„ฅ์…˜์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ์—ฌ๋Ÿฌ ์ตœ์‹ ๊ธฐ์ˆ  4๊ฐ€์ง€๋ฅผ ์‚ดํŽด๋ณธ๋‹ค.

    • ๋ณ‘๋ ฌ(Parallel) ์ปค๋„ฅ์…˜: ์—ฌ๋Ÿฌ๊ฐœ์˜ TCP ์ปค๋„ฅ์…˜์„ ํ†ตํ•œ HTTP ์š”์ฒญ

      • ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ปค๋„ฅ์…˜์„ ๋งบ์–ด ์—ฌ๋Ÿฌ๊ฐœ์˜ HTTP ํŠธ๋žœ์žญ์…˜์„ ๋ณ‘๋ ฌ๋กœ ์ฒ˜๋ฆฌ

      • ๋ณ‘๋ ฌ์ปค๋„ฅ์…˜์€ ํŽ˜์ด์ง€๋ฅผ ๋” ๋น ๋ฅด๊ฒŒ ๋‚ด๋ ค๋ฐ›๋Š”๋‹ค.

      • ํ•ญ์ƒ ๋” ๋น ๋ฅธ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์ ์€์ˆ˜์˜ ๋ณ‘๋ ฌ์ปค๋„ฅ์…˜๋งŒ ํ—ˆ์šฉํ•œ๋‹ค.(ํ˜„์žฌ ๋Œ€๋ถ€๋ถ„ 6~8๊ฐœ ํ—ˆ์šฉ)

        [๋„คํŠธ์›Œํฌ ๋Œ€์—ญํญ์ด ์ข์€๊ฒฝ์šฐ, ๋Œ€๋ถ€๋ถ„์˜ ์‹œ๊ฐ„์„ ๋ฐ์ดํ„ฐ ์ „์†ก์—๋งŒ ์“ฐ๊ฒŒ๋จ.]

        [๋‹ค์ˆ˜์˜ ์ปค๋„ฅ์…˜์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋งŽ์ด ์†Œ๋ชจํ•ด์„œ ์„ฑ๋Šฅ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ์Œ.]

      • ๋” ๋น ๋ฅด๊ฒŒ '๋А๊ปด์งˆ ์ˆ˜' ์žˆ๋‹ค. ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ฐ์ฒด๊ฐ€ ๋™์‹œ์— ๋ณด์ด๋ฉด์„œ ๋‚ด๋ ค๋ฐ›๋Š”๊ฑธ ๋ณด๊ธฐ๋•Œ๋ฌธ์— ์ž‘์—…์ด ์ผ์–ด๋‚˜๋Š” ์ค‘์ž„์„ ์‚ฌ์šฉ์ž๊ฐ€ ๋ˆˆ์œผ๋กœ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•ด์„œ ๋” ๋น ๋ฅด๋‹ค๊ณ  ๋А๋‚€๋‹ค.

    • ์ง€์†(Persistent) ์ปค๋„ฅ์…˜: ์ปค๋„ฅ์…˜์„ ๋งบ๊ณ  ๋Š๋Š”๋ฐ ๋ฐœ์ƒํ•˜๋Š” ์ง€์—ฐ ์ œ๊ฑฐ๋ฅผ ์œ„ํ•œ TCP ์ปค๋„ฅ์…˜ ์žฌํ™œ์šฉ

      • ์ฒ˜๋ฆฌ๊ฐ€ ์™„๋ฃŒ๋œ ํ›„์—๋„ TCP ์ปค๋„ฅ์…˜์„ ์œ ์ง€ํ•˜์—ฌ ์•ž์œผ๋กœ ์žˆ์„ HTTP ์š”์ฒญ์— ์žฌ์‚ฌ์šฉํ•œ๋‹ค.

      • ๋ณ‘๋ ฌ ์ปค๋„ฅ์…˜๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ์ƒํ˜ธ๋ณด์™„ํ•  ์ˆ˜ ์žˆ๋‹ค. (4.5.1 ์ฐธ์กฐ)

      • 2๊ฐ€์ง€ ํƒ€์ž…:

        • HTTP/1.0+ ์˜ keep-alive connection(4.5.2~4.5.7 ์ฐธ์กฐ)

          HTTP/1.1 ๋ช…์„ธ์—์„œ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š์ง€๋งŒ, ๋„๋ฆฌ ์‚ฌ์šฉ๋˜์—ˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•œ๋‹ค.

          ์ปค๋„ฅ์…˜ ์œ ์ง€๋ฅผ ์œ„ํ•ด์„œ Connection: Keep-Alive ํ—ค๋”๋ฅผ ํฌํ•จํ•œ๋‹ค.

          ํด๋ผ์ด์–ธํŠธ, ์„œ๋ฒ„ ๋ชจ๋‘ ์–ธ์ œ๋“  keep-alive ์š”์ฒญ์„ ๋Š๊ฑฐ๋‚˜ ์ฒ˜๋ฆฌ๋˜๋Š” ํŠธ๋žœ์ ์…˜ ์ˆ˜ ์ œํ•œ์ด ๊ฐ€๋Šฅ

          ํ”„๋ฝ์‹œ์—์„œ Connection ํ—ค๋”๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๊ณ  ๋ฌด์กฐ๊ฑด ์ „๋‹ฌํ•˜๋ฉด์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

          ์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ Proxy-Connection ์„ ํ†ตํ•ด ๋‹จ์ผ ๋ฌด์กฐ๊ฑด ์ „๋‹ฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์ค€๋‹ค.(์ฐจ์„ ์ฑ…)

          ํ•˜์ง€๋งŒ ํ”„๋ก์‹œ๊ฐ€ ๋งŽ์€ ๊ตฌ์กฐ์—์„œ๋Š” ์—ฌ์ „ํžˆ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

        • HTTP/1.1 persistent connection

          keep-alive๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋Œ€์‹  ์„ค๊ณ„๊ฐ€ ๋” ๊ฐœ์„ ๋œ ์ง€์† ์ปค๋„ฅ์…˜์„ ์ง€์›ํ•œ๋‹ค.

          ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๊ฐ€ ๋˜์–ด์žˆ๊ณ , ๋ณ„๋„ ์„ค์ •์ด ์—†๋‹ค๋ฉด ์ง€์†์ปค๋„ฅ์…˜์œผ๋กœ ์ทจ๊ธ‰ํ•œ๋‹ค.

          ์‘๋‹ต์— Connection:close ํ—ค๋”๊ฐ€ ์—†๋‹ค๋ฉด, ์‘๋‹ตํ›„์—๋„ ์ปค๋„ฅ์…˜์„ ์œ ์ง€ํ•˜๋Š”๊ฒƒ์œผ๋กœ ์ถ”์ •ํ•œ๋‹ค.

          ์–ธ์ œ๋“ ์ง€ ์„œ๋ฒ„,ํด๋ผ์ด์–ธํŠธ๋Š” ์ปค๋„ฅ์…˜์„ ๋Š์„ ์ˆ˜ ์žˆ๊ณ , Connection:close ์•ˆ ๋ณด๋ƒˆ๋‹ค๊ณ  ์ปค๋„ฅ์…˜์„ ์˜์›ํžˆ ์œ ์ง€ํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ๋Š” ์•„๋‹ˆ๋‹ค.

    • ํŒŒ์ดํ”„๋ผ์ธ(pipelined) ์ปค๋„ฅ์…˜: ๊ณต์œ  TCP ์ปค๋„ฅ์…˜์„ ํ†ตํ•œ ๋ณ‘๋ ฌ HTTP ์š”์ฒญ

      • keep-alive ์ปค๋„ฅ์…˜์˜ ์„ฑ๋Šฅ์„ ๋†’์—ฌ์ค€๋‹ค.

      • ์—ฌ๋Ÿฌ๊ฐœ์˜ ์š”์ฒญ์— ๋Œ€ํ•ด ์‘๋‹ต์ด ๋„์ฐฉํ•˜๊ธฐ์ „๊นŒ์ง€ ํ์— ์Œ“์—ฌ์žˆ๋‹ค.

      • ์ง€์†์ปค๋„ฅ์…˜์ธ ๊ฒฝ์šฐ์—๋งŒ ํด๋ผ์ด์–ธํŠธ๋Š” ํŒŒ์ดํ”„๋ผ์ธ์„ ์ด์„์ˆ˜์žˆ๋‹ค.

      • ์‘๋‹ต์€ ์š”์ฒญ ์ˆœ์„œ์™€ ๊ฐ™๊ฒŒ ์™€์•ผํ•œ๋‹ค.

      • ์ปค๋„ฅ์…˜์ด ๋Š์–ด์ง€๋”๋ผ๋„ ์–ธ์ œ๋“  ๋‹ค์‹œ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ค€๋น„๊ฐ€ ๋˜์–ด์žˆ์–ด์•ผํ•œ๋‹ค.

      • post๊ฐ™์€ ์š”์ฒญ์€ ์š”์ฒญ ์ค‘ ์–ด๋–ค๊ฒƒ์ด ์ฒ˜๋ฆฌ๋ฌ๋Š”์ง€ ์•Œ๊ธธ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— post๋ณด๋‚ด๋ฉด์•ˆ๋œ๋‹ค.

    • ๋‹ค์ค‘(Multiplexed) ์ปค๋„ฅ์…˜ : ์š”์ฒญ๊ณผ ์‘๋‹ต๋“ค์— ๋Œ€ํ•œ ์ค‘์žฌ

4) ์ปค๋„ฅ์…˜ ๋Š๊ธฐ

โ‘  ๋งˆ์Œ๋Œ€๋กœ ์ปค๋„ฅ์…˜ ๋Š๊ธฐ

ํด๋ผ์ด์–ธํŠธ, ์„œ๋ฒ„, ํ”„๋ก์‹œ ์–ธ์ œ๋“ ์ง€ TCP ์ „์†ก ์ปค๋„ฅ์…˜์„ ๋Š์„ ์ˆ˜ ์žˆ๋‹ค.

โ‘ก Content-Length, Truncation

์‹ค์ œ ์ „๋‹ฌ๋œ ์—”ํ„ฐํ‹ฐ ๋ณธ๋ฌธ์˜ ๊ธธ์ด์™€, content-length๊ฐ’์ด ์ผ์น˜ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ Content-Length ์ž์ฒด๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์ˆ˜์‹ ์ž๋Š” ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•ํ•œ๊ธธ์ด๋ฅผ ์„œ๋ฒ„์— ๋ฌผ์–ด๋ด์•ผํ•œ๋‹ค.

โ‘ข ์ปค๋„ฅ์…˜ ๋Š๊ธฐ ํ—ˆ์šฉ, ์žฌ์‹œ๋„, ๋ฉฑ๋“ฑ์„ฑ

์—๋Ÿฌ๊ฐ€ ์—†๋”๋ผ๋„ ์ปค๋„ฅ์…˜์€ ์–ธ์ œ๋“ ์ง€ ๋Š์„ ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ์ƒ์น˜ ๋ชปํ•˜๊ฒŒ ์ปค๋„ฅ์…˜์ด ๋Š๊ฒผ์„๋•Œ ์ ์ ˆํžˆ ๋Œ€์‘ํ• ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ํ•œ๋ฒˆ ํ˜น์€ ์—ฌ๋Ÿฌ๋ฒˆ ์‹คํ–‰ ๋˜์—ˆ๋Š”์ง€์™€ ์ƒ๊ด€์—†์ด ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ–ˆ์„ ๋•Œ ํŠธ๋žœ์žญ์…˜์„ ๋ฉฑ๋“ฑ(idempotent)ํ•˜๋‹ค๊ณ  ํ‘œํ˜„.

โ‘ฃ์šฐ์•„ํ•œ ์ปค๋„ฅ์…˜ ๋Š๊ธฐ

  • ์ „์ฒด๋Š๊ธฐ(a)์™€ ์ ˆ๋ฐ˜ ๋Š๊ธฐ(b,c)

[์ฐธ์กฐ๋งํฌ]

(์†Œ์ผ“์ด๋ž€? ์ฐธ์กฐ):

2

OSI 7 layers (segment,pakets,..):

์†Œ์ผ“ํ†ต์‹  ๊ทธ๋ฆผ:

HTTP ์ปค๋„ฅ์…˜:

๐Ÿฟ๏ธ
https://medium.com/@yeon22/term-socket์ด๋ž€-7ca7963617ff
https://krylon.tistory.com/114
http://jkkang.net/unix/netprg/chap2/net2_1.html
https://developer.mozilla.org/ko/docs/Web/HTTP/Connection_management_in_HTTP_1.x