Amenable
Amenable's Blog
Amenable
  • λΆ„λ₯˜ 전체보기 (189)
    • πŸ“‚ JAVA (87)
      • μ΄νŽ™ν‹°λΈŒ μžλ°” (65)
      • μ£Όμš” κ°œλ… (22)
    • πŸ“‚ 개발 μ„œμ  (22)
      • μ‹€μš©μ£Όμ˜ ν”„λ‘œκ·Έλž˜λ¨Έ (1)
      • 객체지ν–₯의 사싀과 μ˜€ν•΄ (2)
      • 클린 μ½”λ“œ (8)
      • ν•¨κ»˜ 자라기 (1)
      • 그림으둜 λ°°μš°λŠ” HTTP&Network Basic (10)
    • πŸ“‚ λ°μ΄ν„°λ² μ΄μŠ€ (8)
      • κ°œλ… (8)
      • λ¬Έμ œν’€μ΄ (0)
    • πŸ“‚ λ„€νŠΈμ›Œν¬ (14)
      • κ°œλ… (6)
      • 성곡과 μ‹€νŒ¨λ₯Ό κ²°μ •ν•˜λŠ” 1%의 λ„€νŠΈμ›Œν¬ 원리 (8)
    • πŸ“‚ μŠ€ν”„λ§ (13)
      • κΈ°λ³Έ κ°œλ… (13)
    • πŸ“‚ WEB (5)
    • πŸ“‚ 자료ꡬ쑰 (12)
      • κ°œλ… (2)
      • μ •λ ¬ (8)
      • 트리 (2)
    • πŸ“‚ μ•Œκ³ λ¦¬μ¦˜ (10)
      • μ΅œμ†Œμ‹ μž₯트리 (2)
      • μ΅œλ‹¨ 경둜 (2)
      • λ¬Έμžμ—΄ (2)
      • ETC (4)
    • πŸ“‚ μ•Œκ³ λ¦¬μ¦˜_λ¬Έμ œν’€μ΄ (4)
      • BOJ_λ°±μ€€ (4)
    • πŸ“‚ ν”„λ‘œκ·Έλž˜λ° (3)
    • πŸ“‚ DevOps (2)
      • 배포 (2)
    • πŸ“‚ ν›„κΈ° (8)
      • μš°μ•„ν•œ ν…Œν¬μ½”μŠ€(ν”„λ¦¬μ½”μŠ€) (4)
      • 2023λ…„ (3)
      • 2024λ…„ (1)
    • πŸ“‚ 회고 (1)
      • 2023λ…„ (1)

λΈ”λ‘œκ·Έ 메뉴

  • πŸš€ GitHub

ν‹°μŠ€ν† λ¦¬

hELLO Β· Designed By μ •μƒμš°.
Amenable

Amenable's Blog

제 5μž₯. HTTP와 μ—°κ³„ν•˜λŠ” μ›Ή μ„œλ²„
πŸ“‚ 개발 μ„œμ /그림으둜 λ°°μš°λŠ” HTTP&Network Basic

제 5μž₯. HTTP와 μ—°κ³„ν•˜λŠ” μ›Ή μ„œλ²„

2023. 5. 31. 12:43

πŸ“˜ 1. 가상 호슀트(Virtual Host)

  • 가상 호슀트 κΈ°λŠ₯을 μ‚¬μš©ν•˜λ©΄ λ¬Όλ¦¬μ μœΌλ‘œλŠ” μ„œλ²„κ°€ 1λŒ€μ§€λ§Œ κ°€μƒμœΌλ‘œ μ—¬λŸ¬ λŒ€κ°€ μžˆλŠ” κ²ƒμ²˜λŸΌ μ„€μ •ν•˜λŠ” 것이 κ°€λŠ₯ν•˜λ‹€
  • κ³ κ°λ§ˆλ‹€ λ‹€λ₯Έ 도메인을 κ°€μ§€κ³ , λ‹€λ₯Έ μ›Ή μ‚¬μ΄νŠΈλ₯Ό μ‹€ν–‰ν•  수 μžˆλ‹€

 

  • 이름 κΈ°λ°˜μ˜ κ°€μƒ ν˜ΈμŠ€νŠΈ(Name-Based Virtual Host)
    같은 IP μ£Όμ†Œλ₯Ό κ°€μ§€κ³  μ—¬λŸ¬ κ°œμ˜ ν˜ΈμŠ€νŠΈλͺ…을 κ°€μ§„λ‹€.
    example1.com -> 192.168.0.1
    example2.com -> 192.168.0.1
  • μ£Όμ†Œ κΈ°λ°˜μ˜ κ°€μƒ ν˜ΈμŠ€νŠΈ(IP-Based Virtual Host)
    ν•˜λ‚˜μ˜ μ„œλ²„에 μžˆλŠ” λ„λ©”μΈλ“€μ—κ²Œ κ°κ° IP μ£Όμ†Œλ₯Ό ν• λ‹Ήν•˜μ—¬ μš΄μš©
    example1.com -> 192.168.0.0
    example2.com -> 192.168.0.1
  • 포트 κΈ°λ°˜μ˜ κ°€μƒ ν˜ΈμŠ€νŠΈ(Port-Based Virtual Host)
    ν•˜λ‚˜μ˜ μ„œλ²„에 κΈ°λ³Έ ν¬νŠΈλ₯Ό μ£Όν˜ΈμŠ€νŠΈλ‘œ μ„€μ •ν•˜κ³  μ—¬λŸ¬ κ°œμ˜ λ‹€λ₯Έ ν¬νŠΈλ₯Ό μ§€μ •ν•˜μ—¬ μš΄μš©
    example1.com -> 192.168.0.1:8080
    example2.com -> 192.168.0.1:80
  • κΈ°λ³Έ κ°€μƒ ν˜ΈμŠ€νŠΈ(Default Virtual Host)
    μ§€μ •λœ 가상 ν˜ΈμŠ€νŠΈκ°€ 없을 λ•Œ 응닡에 응할 호슀트λ₯Ό μ§€μ •ν•΄ λ‘” 것

 

  • 같은 IP μ£Όμ†Œμ—μ„œ λ‹€λ₯Έ ν˜ΈμŠ€νŠΈλͺ…(www, mail, comic,...)κ³Ό λ„메인 λͺ…(naver.com, daum.com)을 κ°€μ§„ μ—¬λŸ¬ κ°œμ˜ μ›Ή μ‚¬μ΄νŠΈκ°€ μ‹€ν–‰λ˜κ³  μžˆλŠ” κ°€μƒ ν˜ΈμŠ€νŠΈμ˜ μ‹œμŠ€ν…œμ΄ μžˆλ‹€.
  • κ·Έλ ‡κΈ° λ•Œλ¬Έμ— HTTP μš”청을 λ³΄λ‚΄λŠ” κ²½μš°μ—λŠ” ν˜ΈμŠ€νŠΈλͺ…κ³Ό λ„메인 λͺ…을 μ™„μ „ν•˜κ²Œ ν¬ν•¨ν•œ URIλ₯Ό μ§€μ •ν•˜κ±°λ‚˜, λ°˜λ“œμ‹œ Host ν—€λ” ν•„λ“œμ—μ„œ μ§€μ •ν•΄μ•Ό ν•œλ‹€.

 

 

 

πŸ“˜ 2. ν†΅μ‹  μ€‘계 ν”„λ‘œκ·Έλž¨

  • HTTPλŠ” ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ μ΄μ™Έμ— ν”„λ‘μ‹œ(Proxy), κ²Œμ΄νŠΈμ›¨μ΄(Gateway), ν„°λ„(Tunnel)κ³Ό κ°™μ€ ν†΅μ‹ μ„ μ€‘κ³„ν•˜λŠ” ν”„λ‘œκ·Έλž¨κ³Ό μ„œλ²„λ₯Ό μ—°κ³„ν•˜λŠ” κ²ƒλ„ κ°€λŠ₯
  • μ΄λŸ¬ν•œ ν”„λ‘œκ·Έλž¨κ³Ό μ„œλ²„λŠ” κ·Έλ‹€μŒμ— μžˆλŠ” λ‹€λ₯Έ μ„œλ²„에 μš”청을 μ€‘κ³„ν•˜κ³ , κ·Έ μ„œλ²„λ‘œλΆ€ν„° λ°›μ€ μ‘닡을 ν΄λΌμ΄μ–ΈνŠΈμ— λ°˜ν™˜ν•˜λŠ” μ—­ν• μ„ λ‹΄λ‹Ή

 

πŸ”Ž 2-1. ν”„λ‘μ‹œ(Proxy)

  • μ„œλ²„μ™€ ν΄λΌμ΄μ–ΈνŠΈμ˜ μ–‘μͺ½ μ—­ν• μ„ ν•˜λŠ” μ€‘계 ν”„λ‘œκ·Έλž¨
  • ν΄λΌμ΄μ–ΈνŠΈλ‘œλΆ€ν„° μš”청을 μ„œλ²„에 μ „μ†‘ν•˜κ³ , μ„œλ²„λ‘œλΆ€ν„°μ˜ μ‘닡을 ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ μ „μ†‘ν•œλ‹€.

 

  • 체인과 κ°™μ΄ ν”„λ‘μ‹œ μ„œλ²„λ₯Ό μ—¬λŸ¬ λŒ€ κ²½μœ ν•˜λŠ” κ²ƒλ„ κ°€λŠ₯
  • 쀑계할 λ•Œμ—λŠ” Via ν—€λ” ν•„λ“œμ— κ²½μœ ν•œ ν˜ΈμŠ€νŠΈ μ •보λ₯Ό μΆ”κ°€ν•΄μ•Ό ν•¨
  • μ‚¬μš© μ΄μœ 
    μΊμ‹œλ₯Ό μ‚¬μš©ν•΄μ„œ λ„€νŠΈμ›Œν¬ λŒ€μ—­ λ“±μ„ νš¨μœ¨μ μœΌλ‘œ μ‚¬μš©ν•˜κΈ°
    쑰직 λ‚΄μ— νŠΉμ • μ›Ή μ‚¬μ΄νŠΈμ— λŒ€ν•œ μ•‘μ„ΈμŠ€ μ œν•œ
    μ•‘μ„ΈμŠ€ λ‘œκ·Έλ₯Ό νšλ“ν•˜λŠ” μ •책을 μ² μ €ν•˜κ²Œ μ§€ν‚€λ €λŠ” λͺ©μ 

 

  • 캐싱 ν”„λ‘μ‹œ(Cashing Proxy)
    ν”„λ‘μ‹œ μ„œλ²„ μƒμ— λ¦¬μ†ŒμŠ€ μΊμ‹œλ₯Ό λ³΄μ‘΄ν•΄ λ‘λŠ” νƒ€μž…μ˜ ν”„λ‘μ‹œ
    자주 μ‚¬μš©ν•˜λŠ” 컨텐츠 및 μžμ› μΈμŠ€ν„΄μŠ€λ₯Ό ν”„λ‘μ‹œ μ„œλ²„μ— 둜컬둜 μ €μž₯ν•˜μ—¬ μ›Ή 페이즈 및 μ›Ή μ‚¬μ΄νŠΈ μš”μ²­μ„ κ°€μ†ν™”ν•˜λŠ” μˆ˜λ‹¨
  • 투λͺ… ν”„λ‘μ‹œ(Transparent Proxy)
    λ©”μ‹œμ§€ λ³€κ²½μ„ ν•˜μ§€ μ•ŠλŠ” νƒ€μž…μ˜ ν”„λ‘μ‹œ
    κΈ°κΈ° μ‚¬μš©μžμ˜ μ˜¨λΌμΈ ν™œλ™μ„ λͺ¨λ‹ˆν„°λ§ν•˜κ³  νŠΉμ • μ›Ήμ‚¬μ΄νŠΈμ— μ ‘κ·Όν•˜μ§€ λͺ»ν•˜λ„둝 μ°¨λ‹¨ν•˜κ³  μ‹Άμ€ κ²½μš°μ— μ‚¬μš©
    ν˜Έν…”κ³Ό μΉ΄νŽ˜μ—μ„œ 곡용 μ™€μ΄νŒŒμ΄μ—μ„œ μ‚¬μš©μžλ₯Ό μΈμ¦ν•˜κ³  μ•‘μ„ΈμŠ€ κΆŒν•œμ„ ν—ˆμš©ν•˜λŠ” 것이 ν•˜λ‚˜μ˜ μ˜ˆμ‹œμž„

 

πŸ”Ž 2-2. κ²Œμ΄νŠΈμ›¨μ΄(Gateway)

  • λ‹€λ₯Έ μ„œλ²„λ₯Ό μ€‘κ³„ν•˜λŠ” μ„œλ²„
  • ν΄λΌμ΄μ–ΈνŠΈλ‘œλΆ€ν„° μˆ˜μ‹ ν•œ μš”청을 λ¦¬μ†ŒμŠ€λ₯Ό λ³΄μœ ν•œ μ„œλ²„인 κ²ƒμ²˜λŸΌ μˆ˜μ‹ 
  • κ·Έλ‹€μŒμ— μžˆλŠ” μ„œλ²„κ°€ HTTP μ„œλ²„ μ΄μ™Έμ˜ μ„œλΉ„μŠ€λ₯Ό μ œκ³΅ν•˜λŠ” μ„œλ²„μž„
  • ν΄λΌμ΄μ–ΈνŠΈμ™€ κ²Œμ΄νŠΈμ›¨μ΄ μ‚¬μ΄λ₯Ό μ•”ν˜Έν™”ν•˜λŠ” λ“±μœΌλ‘œ μ•ˆμ „ν•˜κ²Œ μ ‘μ†ν•¨μœΌλ‘œμ¨ ν†΅μ‹ μ˜ μ•ˆμ „성을 λ†’μ΄λŠ” μ—­ν• 
  • ν•œ λ„€νŠΈμ›Œν¬(segment)μ—μ„œ λ‹€λ₯Έ λ„€νŠΈμ›Œν¬λ‘œ μ΄λ™ν•˜κΈ° μœ„ν•˜μ—¬ κ±°μ³μ•Ό ν•˜λŠ” μ§€μ 

 

  • μ§‘ μ»΄ν“¨ν„°μ—μ„œ 인터넷에 μ ‘μ†ν•˜λ €λŠ” 경우, 인터넷에 μ ‘μ†ν•˜κΈ° μœ„ν•˜μ—¬ μˆ˜λ§Žμ€ κ²Œμ΄νŠΈμ›¨μ΄λ₯Ό 거쳐야 ν•œλ‹€. (μ§‘ → 곡유기 → 인터넷 제곡 νšŒμ‚¬ λΌμš°ν„° → 인터넷망)
  • λ°μ΄ν„°λ² μ΄μŠ€μ— μ ‘속해 SQL μΏΌλ¦¬λ₯Ό μ‚¬μš©ν•΄μ„œ λ°μ΄ν„°λ₯Ό μ–»λŠ” κ³³μ— μ΄μš© κ°€λŠ₯
  • μ‡Όν•‘ μ‚¬μ΄νŠΈ λ“±μ—μ„œ μ‹ μš© μΉ΄λ“œ κ²°μ œ μ‹œμŠ€ν…œκ³Ό μ—°κ³„ν•  λ•Œ μ‚¬μš©λ˜κΈ°λ„ ν•¨

 

πŸ”Ž 2-3. ν„°λ„(Tunnel)

  • μ„œλ‘œ λ–¨μ–΄μ§„ λ‘ λŒ€μ˜ ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ μ‚¬μ΄λ₯Ό μ€‘κ³„ν•˜λ©° μ ‘속을 μ£Όμ„ ν•˜λŠ” μ€‘계 ν”„λ‘œκ·Έλž¨
  • μš”κ΅¬μ— λ”°λΌμ„œ λ‹€λ₯Έ μ„œλ²„μ™€μ˜ ν†΅μ‹  κ²½λ‘œλ₯Ό ν™•λ¦½ν•œλ‹€
  • ν΄λΌμ΄μ–ΈνŠΈλŠ” SSL κ°™μ€ μ•”ν˜Έν™” ν†΅μ‹ μ„ ν†΅ν•΄ μ„œλ²„와 μ•ˆμ „ν•˜κ²Œ ν†΅μ‹ μ„ ν•˜κΈ° μœ„ν•΄ μ‚¬μš©
  • 터널 μžμ²΄λŠ” HTTP μš”청을 ν•΄μ„ν•˜λ €κ³  ν•˜μ§€ μ•ŠλŠ”λ‹€
  • κ²°κ΅­ μš”청을 κ·ΈλŒ€λ‘œ λ‹€μŒ μ„œλ²„에 μ€‘κ³„ν•œλ‹€

 

 

πŸ“˜ 3. μΊμ‹œ(Cache)

  • μΊμ‹œ(Cache)λŠ” ν”„λ‘μ‹œ μ„œλ²„와 ν΄λΌμ΄μ–ΈνŠΈ λ‘œμ»¬ λ””μŠ€ν¬μ— λ³΄κ΄€λœ λ¦¬μ†ŒμŠ€μ˜ μ‚¬λ³Έμ„ κ°€λ¦¬ν‚¨λ‹€
  • μΊμ‹œλ₯Ό μ‚¬μš©ν•˜λ©΄ λ¦¬μ†ŒμŠ€λ₯Ό κ°€μ§„ μ„œλ²„λ‘œμ˜ μ•‘μ„Έμ„œλ₯Ό μ€„μ΄λŠ” κ²ƒμ΄ κ°€λŠ₯ν•˜κΈ° λ•Œλ¬Έμ— ν†΅μ‹ λŸ‰κ³Ό ν†΅μ‹  μ‹œκ°„을 μ ˆμ•½ν•  μˆ˜ μžˆλ‹€

 

  • μΊμ‹œ μ„œλ²„λŠ” ν”„λ‘μ‹œ μ„œλ²„μ˜ ν•˜λ‚˜λ‘œ μΊμ‹± ν”„λ‘μ‹œλ‘œ λΆ„λ₯˜λœλ‹€
  • μΊμ‹œ μ„œλ²„μ˜ μž₯점은 μΊμ‹œλ₯Ό μ΄μš©ν•¨μœΌλ‘œμ¨ κ°™μ€ λ°μ΄ν„°λ₯Ό λͺ‡ λ²ˆμ΄κ³  μ˜€λ¦¬μ§„ μ„œλ²„에 μ „솑할 ν•„μš”κ°€ μ—†λ‹€λŠ” κ²ƒμ΄λ‹€

 

  • μΊμ‹œλ₯Ό κ°€μ§€κ³  μžˆλ”라도 ν΄λΌμ΄μ–ΈνŠΈμ˜ μš”κ΅¬λ‚˜ μΊμ‹œμ˜ μœ νš¨ κΈ°κ°„ λ“±μ— μ˜ν•΄μ„œ μ˜€λ¦¬μ§„ μ„œλ²„에 λ¦¬μ†ŒμŠ€μ˜ μœ νš¨μ„±μ„ ν™•μΈν•˜κ±°λ‚˜ λ¦¬μ†ŒμŠ€λ₯Ό λ‹€μ‹œ νšλ“ν•˜λŸ¬ κ°€κ²Œ λ˜λŠ” κ²½μš°κ°€ μžˆλ‹€

 

  • μΊμ‹œ μ„œλ²„λ§Œ μΊμ‹œλ₯Ό κ°€μ§€κ³  μžˆλŠ” 게 μ•„λ‹ˆλΌ ν΄λΌμ΄μ–ΈνŠΈκ°€ μ‚¬μš©ν•˜λŠ” λΈŒλΌμš°μ €μ—μ„œλ„ μΊμ‹œλ₯Ό κ°€μ§ˆ μˆ˜ μžˆλ‹€
  • λΈŒλΌμš°μ €κ°€ μœ νš¨ν•œ μΊμ‹œλ₯Ό κ°€μ§€κ³  μžˆλŠ” κ²½μš°, κ°™μ€ λ¦¬μ†ŒμŠ€μ˜ μ•‘μ„ΈμŠ€λŠ” μ„œλ²„에 μ•‘μ„ΈμŠ€ ν•˜μ§€ μ•Šκ³  λ‘œμ»¬ λ””μŠ€ν¬λ‘œλΆ€ν„° λΆˆλŸ¬μ˜¨λ‹€
  • μΊμ‹œ μ„œλ²„와 λ§ˆμ°¬κ°€μ§€λ‘œ λ¦¬μ†ŒμŠ€κ°€ μ˜€λž˜λœ κ²ƒμœΌλ‘œ νŒλ‹¨λœ κ²½μš°μ—λŠ” μ˜€λ¦¬μ§„ μ„œλ²„에 λ¦¬μ†ŒμŠ€μ˜ μœ νš¨μ„±μ„ ν™•μΈν•˜λŸ¬ κ°€κ±°λ‚˜ μƒˆλ‘œμš΄ λ¦¬μ†ŒμŠ€λ₯Ό λ‹€μ‹œ νšλ“ν•˜λŸ¬ κ°€λŠ” μΌμ΄ μžˆλ‹€

 

[참고자료]
홍크 λ‹˜μ˜ '[Network] Virtual Host(가상 호슀트)λž€?',
yein λ‹˜μ˜ '[λ„€νŠΈμ›Œν¬] 가상 호슀트(Virtual Host)',
melonicedlatte λ‹˜μ˜ 'κ²Œμ΄νŠΈμ›¨μ΄(Gateway)λž€? κ°œλ… 정리',
λ₯Ό μ°Έκ³ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

'πŸ“‚ 개발 μ„œμ  > 그림으둜 λ°°μš°λŠ” HTTP&Network Basic' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

제 7μž₯. 웹을 μ•ˆμ „ν•˜κ²Œ μ§€μΌœμ£ΌλŠ” HTTPS  (0) 2023.05.31
제 6μž₯. HTTP 헀더  (0) 2023.05.31
제 4μž₯. κ²°κ³Όλ₯Ό μ „λ‹¬ν•˜λŠ” HTTP μƒνƒœ μ½”λ“œ  (0) 2023.05.30
제 3μž₯. HTTP μ •λ³΄λŠ” HTTP λ©”μ‹œμ§€μ— μžˆλ‹€.  (0) 2023.05.30
제 2μž₯. κ°„λ‹¨ν•œ ν”„λ‘œν† μ½œ HTTP  (0) 2023.05.30
    'πŸ“‚ 개발 μ„œμ /그림으둜 λ°°μš°λŠ” HTTP&Network Basic' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • 제 7μž₯. 웹을 μ•ˆμ „ν•˜κ²Œ μ§€μΌœμ£ΌλŠ” HTTPS
    • 제 6μž₯. HTTP 헀더
    • 제 4μž₯. κ²°κ³Όλ₯Ό μ „λ‹¬ν•˜λŠ” HTTP μƒνƒœ μ½”λ“œ
    • 제 3μž₯. HTTP μ •λ³΄λŠ” HTTP λ©”μ‹œμ§€μ— μžˆλ‹€.
    Amenable
    Amenable
    CS, μžλ°”, 자료ꡬ쑰, μ•Œκ³ λ¦¬μ¦˜, μŠ€ν”„λ§, μŠ€ν”„λ§ λΆ€νŠΈμ— ν•΄λ‹Ήν•˜λŠ” κ°œλ°œμ— κ΄€ν•œ λ‚΄μš©μ„ κ³΅μœ ν•©λ‹ˆλ‹€.

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”