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

HTTP λ¦¬ν€˜μŠ€νŠΈ λ©”μ‹œμ§€λ₯Ό μž‘μ„±ν•œλ‹€. - [Ch 01. μ›Ή λΈŒλΌμš°μ €κ°€ λ©”μ‹œμ§€λ₯Ό λ§Œλ“ λ‹€]
πŸ“‚ λ„€νŠΈμ›Œν¬/성곡과 μ‹€νŒ¨λ₯Ό κ²°μ •ν•˜λŠ” 1%의 λ„€νŠΈμ›Œν¬ 원리

HTTP λ¦¬ν€˜μŠ€νŠΈ λ©”μ‹œμ§€λ₯Ό μž‘μ„±ν•œλ‹€. - [Ch 01. μ›Ή λΈŒλΌμš°μ €κ°€ λ©”μ‹œμ§€λ₯Ό λ§Œλ“ λ‹€]

2023. 7. 7. 22:13

πŸ“™ 1. νƒν—˜ 여행은 URL μž…λ ₯λΆ€ν„° μ‹œμž‘ν•œλ‹€.

  λ„€νŠΈμ›Œν¬μ˜ μΆœλ°œμ μ€ URLλΆ€ν„° μ‹œμž‘ν•œλ‹€.

  λΈŒλΌμš°μ €λŠ” μ›Ή μ„œλ²„μ— μ•‘μ„ΈμŠ€ ν•˜λŠ” ν΄λΌμ΄μ–ΈνŠΈλ‘œ μ‚¬μš©ν•˜λŠ” κ²½μš°κ°€ λ§Žμ§€λ§Œ, νŒŒμΌμ„ λ‹€μš΄λ‘œλ“œ/μ—…λ‘œλ“œν•˜λŠ” FTP의 ν΄λΌμ΄μ–ΈνŠΈ κΈ°λŠ₯μ΄λ‚˜ λ©”μΌμ˜ ν΄λΌμΈμ–ΈνŠΈ κΈ°λŠ₯도 κ°€μ§€κ³  μžˆλ‹€. κ·Έλž˜μ„œ μ›Ή μ„œλ²„μ— μ•‘μ„ΈμŠ€ ν•  λ•ŒλŠ” http:, FTP μ„œλ²„λΌλ©΄ ftp:λΌλŠ” μ‹μœΌλ‘œ μ—¬λŸ¬ μ’…λ₯˜μ˜ URL이 μžˆλ‹€.

  즉, λΈŒλΌμš°μ €λŠ” λͺ‡ 개의 ν΄λΌμ΄μ–ΈνŠΈ κΈ°λŠ₯을 κ²ΈλΉ„ν•œ 볡합적인 ν΄λΌμ΄μ–ΈνŠΈ μ†Œν”„νŠΈμ›¨μ–΄λΌκ³  ν•  수 μžˆλ‹€.

 

  μ›Ή μ„œλ²„λ‚˜ FTP μ„œλ²„μ— μ•‘μ„ΈμŠ€ ν•˜λŠ” κ²½μš°μ—λŠ” μ„œλ²„μ˜ 도메인λͺ…μ΄λ‚˜ μ•‘μ„ΈμŠ€ ν•˜λŠ” 파일의 경둜 등을 URL에 ν¬ν•¨μ‹œν‚¨λ‹€.

  • HTTP ν”„λ‘œν† μ½œλ‘œ μ›Ή μ„œλ²„μ— μ•‘μ„ΈμŠ€ ν•˜λŠ” 경우
    http://{μ‚¬μš©μžλͺ…(μƒλž΅κ°€λŠ₯)}:{νŒ¨μŠ€μ›Œλ“œ(μƒλž΅κ°€λŠ₯)}@{μ›Ή μ„œλ²„μ˜ 도메인λͺ…}:{포트번호}{파일의 경둜λͺ…}
    http://user:password@www.cyber.co.kr:80/dir/file1.html
  • FTP ν”„λ‘œν† μ½œλ‘œ νŒŒμΌμ„ λ‹€μš΄λ‘œλ“œν•˜κ±°λ‚˜ μ—…λ‘œλ“œν•˜λŠ” 경우
    ftp://{μ‚¬μš©μžλͺ…(μƒλž΅κ°€λŠ₯)}:{νŒ¨μŠ€μ›Œλ“œ(μƒλž΅κ°€λŠ₯)}@{FTP μ„œλ²„μ˜ 도메인λͺ…}:{포트번호}{파일의 경둜λͺ…}
    ftp://user:password@ftp.cyber.co.kr:21/dir/file1.html

  λ©”μΌμ˜ κ²½μš°μ—λŠ” λ³΄λ‚΄λŠ” μƒλŒ€μ˜ 메일 μ£Όμ†Œλ₯Ό URL에 ν¬ν•¨μ‹œν‚¨λ‹€.

  • 메일을 μ†‘μ‹ ν•˜λŠ” 경우
    mailto:{λ©”μΌμ£Όμ†Œ}
    mailto:duswo0624@naver.com

  이와 같이 μ“°λŠ” 방법은 λ‹€μ–‘ν•˜μ§€λ§Œ λͺ¨λ“  URLμ—λŠ” ν•˜λ‚˜μ˜ 곡톡점이 μžˆλ‹€.

  URL의 맨 μ•žμ— μžˆλŠ” λ¬Έμžμ—΄, 즉 http:, ftp:, file:, mailto:λΌλŠ” λΆ€λΆ„μ—μ„œ μ•‘μ„ΈμŠ€ ν•˜λŠ” 방법을 λ‚˜νƒ€λ‚Έλ‹€λŠ” 점이닀. μ•‘μ„ΈμŠ€ ν•˜λŠ” λ°©λ²•은 μ•‘μ„ΈμŠ€ ν•  λ•Œμ˜ ν”„λ‘œν† μ½œ μ’…λ₯˜λ₯Ό μ΄μš©ν•˜μ—¬ λ‚˜νƒ€λ‚Έλ‹€κ³  μƒκ°ν•˜λ©΄ λœλ‹€.

 

 

πŸ“™ 2. λΈŒλΌμš°μ €λŠ” λ¨Όμ € URL을 ν•΄λ…ν•œλ‹€.

  λΈŒλΌμš°μ €κ°€ 처음 ν•˜λŠ” 일은 μ›Ή μ„œλ²„μ— λ³΄λ‚΄λŠ” λ¦¬ν€˜μŠ€νŠΈμ˜ λ©”μ‹œμ§€λ₯Ό μž‘μ„±ν•˜κΈ° μœ„ν•΄ 이 URL을 ν•΄λ…ν•˜λŠ” 것이닀.  μ•„λž˜μ˜ URL을 λ‹€μŒκ³Ό 같이 해독할 수 μžˆλ‹€.

πŸ“Œ URL

http://www.lab.cyber.co.kr/dir1/file1.html

πŸ“Œ URL의 μš”μ†Œ

  1. http: 
    ν”„λ‘œν† μ½œ
  2. //
    λ‚˜μ€‘μ— μ΄μ–΄μ§€λŠ” λ¬Έμžμ—΄μ΄ μ„œλ²„μ˜ μ΄λ¦„μž„μ„ λ‚˜νƒ€λ‚Έλ‹€.
  3. www.lab.cyber.co.kr
    μ›Ή μ„œλ²„λͺ…
  4. /dir1/file1.html
    데이터 μΆœμ²˜(파일)의 κ²½λ‘œλͺ…

 

 

πŸ“™ 3. νŒŒμΌλͺ…을 μƒλž΅ν•œ κ²½μš°

  • http://www.lab.cyber.co.kr/dir/

  μœ„μ˜ URL은 /dir/의 λ‹€μŒμ— 써야 ν•  파일λͺ…을 μ“°μ§€ μ•Šκ³  μƒλž΅ν•œλ‹€λŠ” λœ»μ΄λ‹€. URL의 κ·œμΉ™μ—λŠ” 이와 같이 파일λͺ…을 μƒλž΅ν•΄λ„ μ’‹λ‹€.

  μ„œλ²„μ— 따라 λ‹€λ₯΄μ§€λ§Œ λŒ€λΆ€λΆ„μ˜ μ„œλ²„κ°€ 'index.html'μ΄λΌλŠ” 파일λͺ…을 μ„€μ •ν•΄ λ‘”λ‹€. κ·Έλž˜μ„œ 파일λͺ…을 μƒλž΅ν•˜λ©΄ /dir/index.htmlμ΄λΌλŠ” νŒŒμΌμ— μ•‘μ„ΈμŠ€ ν•œλ‹€.

 

 

πŸ“™ 4. HTTP의 κΈ°λ³Έ κ°œλ…

  URL을 ν•΄λ…ν•˜λ©΄ 어디에 μ•‘μ„ΈμŠ€ν•΄μ•Ό ν•˜λŠ”μ§€κ°€ 판λͺ…λœλ‹€. 그리고 λΈŒλΌμš°μ €λŠ” HTTP ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•˜μ—¬ μ›Ή μ„œλ²„μ— μ•‘μ„ΈμŠ€ ν•œλ‹€.

 

  μš”μ²­ λ©”μ‹œμ§€ μ•ˆμ—λŠ” '무엇을'κ³Ό 'μ–΄λ–»κ²Œ'λΌλŠ” λ‚΄μš©μ΄ λ“€μ–΄μžˆλ‹€.

  '무엇을'에 ν•΄λ‹Ήν•˜λŠ” 것은 URI(Uniform Resource Identifier)이고, 'dir1/file1.html'κ³Ό 같은 μ•‘μ„ΈμŠ€ λŒ€μƒμ„ μ“΄λ‹€.

  'μ–΄λ–»κ²Œ'에 ν•΄λ‹Ήν•˜λŠ” 것은 λ©”μ„œλ“œμ΄κ³ , 'GET, POST,...'와 같이 μ›Ή μ„œλ²„μ— μ–΄λ–€ λ™μž‘μ„ ν•˜κ³  싢은지λ₯Ό μ „λ‹¬ν•œλ‹€.

 

  응닡 λ©”μ‹œμ§€μ˜ 맨 μ•žλΆ€λΆ„μ—λŠ” μ‹€ν–‰ κ²°κ³Όκ°€ 정상 μ’…λ£Œλ˜μ—ˆλŠ”μ§€ λ˜λŠ” 이상이 λ°œμƒν–ˆλŠ”μ§€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μŠ€ν…Œμ΄ν„°μŠ€ μ½”λ“œκ°€ μžˆλ‹€.

  그리고 헀더 파일과 νŽ˜μ΄μ§€μ˜ 데이터가 μΆ”κ°€μ μœΌλ‘œ 있고, 이 응닡 λ©”μ‹œμ§€λ₯Ό ν΄λΌμ΄μ–ΈνŠΈμ—κ²Œ λ°˜μ†‘ν•œλ‹€. 응닡 λ©”μ‹œμ§€κ°€ ν΄λΌμ΄μ–ΈνŠΈμ— λ„μ°©ν•˜μ—¬ λΈŒλΌμš°μ €κ°€ λ©”μ‹œμ§€ μ•ˆμ—μ„œ λ°μ΄ν„°λ₯Ό μΆ”μΆœν•˜μ—¬ ν™”면에 ν‘œμ‹œν•˜λ©΄μ„œ HTTP의 λ™μž‘이 λλ‚œλ‹€.

 

 

πŸ“™ 5. HTTP λ¦¬ν€˜μŠ€νŠΈ λ©”μ‹œμ§€λ₯Ό λ§Œλ“ λ‹€.

  μ•žμ„  λ‚΄μš©μ€ HTTP의 기본이고, κ³„μ†ν•΄μ„œ 쑰금 더 μžμ„Ένžˆ μ•Œμ•„λ³΄μž.

  URL을 ν•΄λ…ν•˜κ³  μ›Ή μ„œλ²„μ™€ 파일λͺ…을 νŒλ‹¨ν•˜λ©΄ λΈŒλΌμš°μ €λŠ” 이것을 λ°”νƒ•μœΌλ‘œ HTTP의 λ¦¬ν€˜μŠ€νŠΈ λ©”μ‹œμ§€λ₯Ό λ§Œλ“ λ‹€. HTTPλŠ” ν¬λ§·μ΄ κ²°μ •λ˜μ–΄ μžˆμœΌλ―€λ‘œ λΈŒλΌμš°μ €λŠ” 이 포맷에 맞게 λ¦¬ν€˜μŠ€νŠΈ λ©”μ‹œμ§€λ₯Ό μž‘μ„±ν•œλ‹€.

  μš”μ²­ λ©”μ‹œμ§€ ν˜•μ‹μ€ λ‹€μŒκ³Ό κ°™λ‹€.

  μ„€λͺ… ν˜•μ‹
λ¦¬ν€˜μŠ€νŠΈ 라인 이 ν–‰μ„ ν†΅ν•΄ λ¦¬ν€˜μŠ€νŠΈμ˜ λ‚΄μš©μ„ λŒ€λž΅ μ•Œ μˆ˜ μžˆλ‹€. <λ©”μ†Œλ“œ><곡백><곡백></http λ²„μ „>
λ©”μ‹œμ§€ 헀더 λ¦¬ν€˜μŠ€νŠΈμ˜ 뢀가적인 정보λ₯Ό λ‚˜νƒ€λ‚Έλ‹€.
ν–‰ μˆ˜λŠ” μƒν™©μ— λ”°λΌ λ‹¬λΌμ§€λ©°, κ³΅λ°± ν–‰κΉŒμ§€κ°€ λ©”μ‹œμ§€ ν—€λ”κ°€ λœλ‹€.
<ν•„λ“œλͺ…>:<ν•„λ“œκ°’>
.
.
.
<곡백 ν–‰>
λ©”μ‹œμ§€ λ³Έλ¬Έ ν΄λΌμ΄μ–ΈνŠΈμ—μ„œ μ„œλ²„에 μ†‘μ‹ ν•˜λŠ” λ°μ΄ν„°
POST λ©”μ„œλ“œλ‘œ μ›Ή μ„œλ²„에 λ³΄λ‚Ό λ•Œμ˜ λ°μ΄ν„° λ“±μ΄ λ“€μ–΄κ°„λ‹€.
<λ©”μ‹œμ§€ λ³Έλ¬Έ>

 

 

πŸ“™ 6. λ¦¬ν€˜μŠ€νŠΈ λ©”μ‹œμ§€λ₯Ό λ³΄λ‚΄λ©΄ μ‘닡이 λ˜λŒμ•„μ˜¨λ‹€.

  응닡 λ©”μ‹œμ§€λ„ 포맷이 μ •ν•΄μ Έ 있고, κ·Έ ν˜•μ‹μ€ μ•„λž˜μ™€ κ°™λ‹€.

  μ„€λͺ… ν˜•μ‹
μŠ€ν…Œμ΄ν„°μŠ€ 라인 μŠ€ν…Œμ΄ν„°μŠ€ μ½”λ“œμ˜ λ‚΄μš©μ„ λ‚˜νƒ€λ‚΄λŠ” μ§§μ€ μ„€λͺ…λ¬Έ <곡백><μŠ€ν…Œμ΄ν„°μŠ€ μ½”λ“œ><곡백><응닡 λ¬Έκ΅¬></http λ²„μ „>
λ©”μ‹œμ§€ 헀더 μ‘λ‹΅μ˜ λΆ€κ°€μ μΈ μ •보λ₯Ό λ‚˜νƒ€λ‚Έλ‹€. <ν•„λ“œλͺ…>:<ν•„λ“œκ°’>
.
.
.
<곡백 ν–‰>
λ©”μ‹œμ§€ λ³Έλ¬Έ μ„œλ²„μ—μ„œ ν΄λΌμ΄μ–ΈνŠΈμ— μ†‘μ‹ ν•˜λŠ” λ°μ΄ν„°
λ©”μ‹œμ§€ λ³Έλ¬Έμ€ λ°”μ΄λ„ˆλ¦¬ λ°μ΄ν„°λ‘œ μ·¨κΈ‰ν•œλ‹€.
<λ©”μ‹œμ§€ λ³Έλ¬Έ>

 

HTTP의 λ©”μ‹œμ§€ κ΅¬μ‘°λŠ” 이 글을 μ°Έκ³ ν•˜λ©΄ 도움이 될 것이닀.

 

ν•΄λ‹Ή κΈ€μ€ Tsutomu Tone λ‹˜μ˜ '성곡과 μ‹€νŒ¨λ₯Ό κ²°μ •ν•˜λŠ” 1%의 λ„€νŠΈμ›Œν¬ μ›λ¦¬'λ₯Ό μ°Έκ³ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

'πŸ“‚ λ„€νŠΈμ›Œν¬ > 성곡과 μ‹€νŒ¨λ₯Ό κ²°μ •ν•˜λŠ” 1%의 λ„€νŠΈμ›Œν¬ 원리' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

μ„œλ²„μ— μ ‘μ†ν•œλ‹€. - [Ch 02. TCP/IP의 데이터λ₯Ό μ „κΈ° μ‹ ν˜Έλ‘œ λ§Œλ“€μ–΄ 보낸닀.]  (0) 2023.07.18
μ†ŒμΌ“μ„ μž‘μ„±ν•œλ‹€. - [Ch 02. TCP/IP의 데이터λ₯Ό μ „κΈ° μ‹ ν˜Έλ‘œ λ§Œλ“€μ–΄ 보낸닀.]  (0) 2023.07.10
ν”„λ‘œν† μ½œ μŠ€νƒμ— λ©”μ‹œμ§€ 솑신을 μ˜λ’°ν•œλ‹€. - [Ch 01. μ›Ή λΈŒλΌμš°μ €κ°€ λ©”μ‹œμ§€λ₯Ό λ§Œλ“ λ‹€]  (0) 2023.07.09
μ „ μ„Έκ³„μ˜ DNS μ„œλ²„κ°€ μ—°λŒ€ν•œλ‹€. - [Ch 01. μ›Ή λΈŒλΌμš°μ €κ°€ λ©”μ‹œμ§€λ₯Ό λ§Œλ“ λ‹€]  (0) 2023.07.09
μ›Ή μ„œλ²„μ˜ IPμ£Όμ†Œλ₯Ό DNS μ„œλ²„μ— μ‘°νšŒν•œλ‹€. - [Ch 01. μ›Ή λΈŒλΌμš°μ €κ°€ λ©”μ‹œμ§€λ₯Ό λ§Œλ“ λ‹€]  (0) 2023.07.08
    'πŸ“‚ λ„€νŠΈμ›Œν¬/성곡과 μ‹€νŒ¨λ₯Ό κ²°μ •ν•˜λŠ” 1%의 λ„€νŠΈμ›Œν¬ 원리' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • μ†ŒμΌ“μ„ μž‘μ„±ν•œλ‹€. - [Ch 02. TCP/IP의 데이터λ₯Ό μ „κΈ° μ‹ ν˜Έλ‘œ λ§Œλ“€μ–΄ 보낸닀.]
    • ν”„λ‘œν† μ½œ μŠ€νƒμ— λ©”μ‹œμ§€ 솑신을 μ˜λ’°ν•œλ‹€. - [Ch 01. μ›Ή λΈŒλΌμš°μ €κ°€ λ©”μ‹œμ§€λ₯Ό λ§Œλ“ λ‹€]
    • μ „ μ„Έκ³„μ˜ DNS μ„œλ²„κ°€ μ—°λŒ€ν•œλ‹€. - [Ch 01. μ›Ή λΈŒλΌμš°μ €κ°€ λ©”μ‹œμ§€λ₯Ό λ§Œλ“ λ‹€]
    • μ›Ή μ„œλ²„μ˜ IPμ£Όμ†Œλ₯Ό DNS μ„œλ²„μ— μ‘°νšŒν•œλ‹€. - [Ch 01. μ›Ή λΈŒλΌμš°μ €κ°€ λ©”μ‹œμ§€λ₯Ό λ§Œλ“ λ‹€]
    Amenable
    Amenable
    CS, μžλ°”, 자료ꡬ쑰, μ•Œκ³ λ¦¬μ¦˜, μŠ€ν”„λ§, μŠ€ν”„λ§ λΆ€νŠΈμ— ν•΄λ‹Ήν•˜λŠ” κ°œλ°œμ— κ΄€ν•œ λ‚΄μš©μ„ κ³΅μœ ν•©λ‹ˆλ‹€.

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