Skip to content

Latest commit

Β 

History

History
49 lines (32 loc) Β· 3.44 KB

WEB.md

File metadata and controls

49 lines (32 loc) Β· 3.44 KB

λΈŒλΌμš°μ €μ—μ„œ URL μž…λ ₯ μ‹œ

λΈŒλΌμš°μ € β†’ DNS β†’ HTTP Request β†’ ν”„λ‘œν† μ½œ μŠ€νƒ β†’ LAN ν—ˆλΈŒ,μŠ€μœ„μΉ˜,λΌμš°ν„° κ±°μ³μ„œ β†’ ν”„λ‘œλ°”μ΄λ”(ISP) β†’ POP β†’ 인터넷 핡심뢀 β†’ κ³ μ†λΌμš°ν„° β†’ λ°©ν™”λ²½(μš”μ²­μ„œλ²„μ˜) β†’ μΊμ‹œ(이미 이전에 μ™”λ˜ μš”μ²­μΈμ§€ 확인) β†’ μ›Ή μ„œλ²„ β†’ WAS(응닡)

정리

λΈŒλΌμš°μ €κ°€ DNS μ„œλ²„μ—μ„œ 도메인λͺ…μœΌλ‘œ IP μ£Όμ†Œλ₯Ό λ°›μ•„μ˜΅λ‹ˆλ‹€. 그리고 HTTP Request λ©”μ‹œμ§€ μž‘μ„±μ„ ν•˜κ³ μš”. 그리고 OS ν”„λ‘œν† μ½œ μŠ€νƒμ— λ©”μ‹œμ§€ 전솑을 μ˜λ’°ν•˜κ²Œ λ©λ‹ˆλ‹€. 그럼 ν”„λ‘œν† μ½œ μŠ€νƒμ΄ LAN에 μ œμ–΄μ •λ³΄λ₯Ό 뢙인 νŒ¨ν‚·μ„ LAN μ–΄λŒ‘ν„°μ— λ„˜κΈ°κ²Œ λ˜κ³ μš”. LAN μ–΄λŒ‘ν„°λŠ” 이것을 μ „κΈ°μ‹ ν˜Έλ‘œ λ³€ν™˜μ‹œμΌœ LAN μΌ€μ΄λΈ”λ‘œ μ†‘μΆœν•˜κ²Œ λ©λ‹ˆλ‹€. 그러면 μ†‘μ‹ ν•œ νŒ¨ν‚·μ€ ν—ˆλΈŒ, μŠ€μœ„μΉ˜, λΌμš°ν„°λ₯Ό κ²½μœ ν•΄μ„œ ν”„λ‘œλ°”μ΄λ”μ— 전달이 λ˜κ³ μš”. 그러면 νŒ¨ν‚·μ€ μˆ˜λ§Žμ€ μ•‘μ„ΈμŠ€ νšŒμ„ μ„ ν†΅ν•΄μ„œ POP κ±°μ³μ„œ 인터넷 핡심뢀에 λ“€μ–΄κ°€κ²Œ 되고, κ·Έλ‹€μŒμ— λ§Žμ€ 고속 λΌμš°ν„°λ“€ μ‚¬μ΄λ‘œ νŒ¨ν‚·μ΄ μƒλŒ€λ°© μ„œλ²„κΉŒμ§€ λ„λ‹¬ν•˜κ²Œ λ©λ‹ˆλ‹€. μ„œλ²„ 츑의 LAN에 λ„μ°©ν•˜κ²Œ 되면 방화벽이 νŒ¨ν‚·μ„ κ²€μ‚¬ν•˜κ²Œ λ˜κ³ μš”. 이상이 없을 κ²½μš°μ—λŠ” μΊμ‹œμ„œλ²„κ°€ λ¨Όμ € 응닡 데이터 μžˆλŠ”μ§€ ν™•μΈν•˜κ³ , μ—†μœΌλ©΄ μ›Ήμ„œλ²„μ— 전솑을 ν•˜κ³  νŒ¨ν‚·μ΄ μ›Ή μ„œλ²„μ— λ„μ°©ν•˜λ©΄ 이제 ν”„λ‘œν† μ½œ μŠ€νƒμ€ νŒ¨ν‚·μ„ μΆ”μΆœν•΄μ„œ WAS에 μ „λ‹¬ν•˜κ²Œ λ©λ‹ˆλ‹€. 그럼 WASλŠ” μ‘λ‹΅λ©”μ‹œμ§€λ₯Ό λ§Œλ“€μ–΄μ„œ λ‹€μ‹œ ν΄λΌμ΄μ–ΈνŠΈλ‘œ μ „μ†‘ν•©λ‹ˆλ‹€.

μΏ ν‚€

  1. μ‚¬μš©μžμ˜ λΈŒλΌμš°μ €μ— μ €μž₯λœλ‹€.
  2. 톡신할 λ•Œ HTTP Header에 λ‹΄μ•„μ„œ μ „μ†‘ν•œλ‹€.
  3. 전솑 κ³Όμ •μ—μ„œ μΏ ν‚€ 정보 λ…ΈμΆœ 우렀 λ³΄μ•ˆμ΄ μ•ˆμ’‹λ‹€.

정리

HTTP의 κ²½μš°μ— μƒνƒœμ™€ 연결에 λŒ€ν•œ 정보λ₯Ό μ €μž₯ν•˜μ§€ μ•Šμ•„μ„œ 이것을 λ„μ™€μ£ΌλŠ” 것이 쿠킀와 μ„Έμ…˜μž…λ‹ˆλ‹€. μš°μ„ , μΏ ν‚€λŠ” μ‚¬μš©μžμ˜ 정보가 기둝된 ν…μŠ€νŠΈ νŒŒμΌμΈλ°μš”. λΈŒλΌμš°μ €μ— μ €μž₯λ˜λ©΄μ„œ 톡신할 λ•Œ 헀더에 ν¬ν•¨λ˜μ–΄ μ „μ†‘ν•˜κ²Œ λ©λ‹ˆλ‹€. 톡신 쀑에 μΏ ν‚€ 정보가 λ…ΈμΆœλ  수 있기 λ•Œλ¬Έμ— λ³΄μ•ˆμ΄ μ·¨μ•½ν•˜λ‹€λŠ” νŠΉμ§•μ„ 가지고 μžˆμŠ΅λ‹ˆλ‹€.

μ„Έμ…˜

  1. μ„œλ²„μ— 정보λ₯Ό μ €μž₯λœλ‹€.
  2. λΈŒλΌμš°μ €κ°€ μ’…λ£Œλ  λ•Œ κΉŒμ§€ 정보가 μœ μ§€λœλ‹€.
  3. μ„œλ²„μ— μ €μž₯ ν•˜κΈ° λ•Œλ¬Έμ— 쿠킀보닀 λ³΄μ•ˆμ΄ μ’‹λ‹€.

정리

μ„Έμ…˜μ€ μ‚¬μš©μžμ˜ 정보λ₯Ό μ„œλ²„μ— μ €μž₯ν•˜λŠ”λ°μš”. μ΄λ•Œ λΈŒλΌμš°μ €κ°€ μ’…λ£Œ λ λ•ŒκΉŒμ§€ μœ μ§€λ˜κ²Œ λ©λ‹ˆλ‹€. 그리고 μ„œλ²„μ— μ €μž₯되기 λ•Œλ¬Έμ— λ³΄μ•ˆμ΄ κ°•ν•˜λŠ” νŠΉμ§•μ„ 가지고 μžˆμŠ΅λ‹ˆλ‹€.

Rest API

REST 기반으둜 APIλ₯Ό κ΅¬ν˜„ν•œ κ²ƒμΈλ°μš”. RESTλΌλŠ” 것은 μžμ›μ„ URI둜 ν‘œν˜„ν•˜κ³  μžμ›μ— λŒ€ν•œ ν–‰μœ„λŠ” HTTP Method둜 ν‘œν˜„ν•©λ‹ˆλ‹€. RESTful μ΄λž€ 것은 REST의 원리λ₯Ό μ§€μΌœμ„œ μ‚¬μš©ν•˜λŠ” 것을 λ§ν•©λ‹ˆλ‹€.

μ•„λ‹Œ 경우λ₯Ό 예λ₯Ό λ“€λ©΄ CRUD κΈ°λŠ₯을 λͺ¨λ‘ POST둜 μ²˜λ¦¬ν•œ 것은 RESTful ν•˜μ§€ μ•Šλ‹€κ³  ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

HTTP 응닡 μ½”λ“œ

  • 100 : μš”μ²­, 처리 쀑
  • 200 : 성곡
  • 300 : redirection / www.naver.co.kr β†’ www.naver.com
  • 400 : ν΄λΌμ΄μ–ΈνŠΈμ˜ 였λ₯˜
  • 500 : μ„œλ²„μ˜ 였λ₯˜

HTTP

ν΄λΌμ΄μ–ΈνŠΈ ↔ μ„œλ²„

  1. 평문 톡신을 ν•΄μ„œ 도청(κ°€λ‘œμ±„κΈ°)κ°€ κ°€λŠ₯ν•˜λ‹€.
  2. ν†΅μ‹ μƒλŒ€λ₯Ό ν™•μΈν•˜μ§€ μ•Šμ•„μ„œ μœ„μž₯이 κ°€λŠ₯ν•˜λ‹€.
  3. 완전성을 증λͺ…ν•  수 μ—†κΈ° λ•Œλ¬Έμ— λ³€μ‘°κ°€ κ°€λŠ₯ν•˜λ‹€.

HTTPS

HTTP의 취약점을 μ•”ν˜Έν™” ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•˜μ—¬ HTTP 톡신을 μ•ˆμ „ν•˜κ²Œ ν•˜λŠ” ν”„λ‘œν† μ½œ