[HTTP] μΈν°λ· λ€νΈμν¬
π μΈν°λ· ν΅μ
ν΄λΌμ΄μΈνΈλ μλ²μκ² μμ²(request)μ 보λ΄κ³ , μλ²λ ν΄λΌμ΄μΈνΈμ μμ²μ λν μλ΅(response)μ νλ€.
λ©μΈμ§λ₯Ό μ μ‘ν λ 볡μ‘ν μΈν°λ· λ§μ κ±°μΉκ² λλλ°, λ©μΈμ§κ° μ μ μ‘λκΈ° μν΄μλ μΌλ ¨μ κ·μΉμ΄ νμνλ€.
π IP(Internet Protocol)
볡μ‘ν μΈν°λ·μ κ±°μ³ λ©μΈμ§λ₯Ό μ μ μ‘νκΈ° μν΄μ κ° ν΄λΌμ΄μΈνΈμ μλ²λ κ°κ° IP μ£Όμλ₯Ό λΆμ¬λ°λλ€.
μ΄λ IPλ μ§μ ν IP μ£Όμμ λ°μ΄ν°λ₯Ό μ λ¬νκ³ , ν¨ν·μ΄λΌλ ν΅μ λ¨μλ‘ λ°μ΄ν°λ₯Ό μ λ¬νλ μν μ νλ€.
μ μ‘νλ €λ λ°μ΄ν°μ μΆλ°μ§ IP, λͺ©μ μ§ IP λ±μ μ 보λ₯Ό λν΄ IP ν¨ν·μΌλ‘ λ§λ λ€.
π IPμ νκ³
νμ§λ§ IPμλ νκ³μ λ€μ΄ μλ€.
- λΉμ°κ²°μ± : ν¨ν·μ΄ λ°μ λμμ΄ μκ±°λ, μλΉμ€ λΆλ₯ μνμ¬λ μ μ‘μ΄ μ΄λ£¨μ΄μ§λ€.
- λΉμ λ’°μ± : μΈν°λ·μμ λ©μΈμ§λ₯Ό μ μ‘νλ κ³Όμ μμ ν¨ν·μ΄ μμ€λμ΄λ ν΄λΌμ΄μΈνΈλ λͺ¨λ₯Έλ€. λν ν¨ν·μ μμλ₯Ό 보μ₯ν΄μ£Όμ§ μλλ€.
- νλ‘κ·Έλ¨ κ΅¬λΆ : κ°μ IPλ₯Ό μ¬μ©νλ μλ²μμ ν΅μ νλ μ ν리μΌμ΄μ μ΄ λ μ΄μμΌ λ μ΄λ€ μ ν리μΌμ΄μ μ μλ§λ ν¨ν·μ μ λ¬ν΄μΌνλμ§ μ μκ° μλ€.
π TCP(Transmission Control Protocol)
TCPλ μ μ‘ κ³μΈ΅μ νλ‘ν μ½λ‘ IP ν¨ν·μ 보μν΄μ£Όλ μν μ νλ€.
λ°μ΄ν°("Hello, world!"λΌλ λ©μΈμ§)κ° ν΄λΌμ΄μΈνΈμμ μΈν°λ·μ ν΅ν΄ μ μ‘λλ κ³Όμ μ μ΄ν΄λ³΄λ©΄
- νλ‘κ·Έλ¨μ΄ λ©μΈμ§λ₯Ό μμ±νλ€.
- Socket λΌμ΄λΈλ¬λ¦¬λ₯Ό ν΅ν΄ μμ±λ λ©μΈμ§λ₯Ό OS κ³μΈ΅μ μ λ¬νλ€.
- μ μ‘ κ³μΈ΅μμ TCP μ 보λ₯Ό μμ±ν΄μ λ©μΈμ§λ₯Ό κ°μΌλ€.
- μΈν°λ· κ³μΈ΅μμ TCP μ 보λ₯Ό ν¬ν¨νλ IP ν¨ν·μ μμ±νκ³ μ€μ 물리μ μ₯μΉ μ 보(e.g. MAC μ£Όμ)λ₯Ό ν¬ν¨ν Ethernetframeμ μμ΄ ν μ μ‘νλ€.
β TCP/IP ν¨ν· μ 보
TCP μ 보μλ PORT, μ μ‘μ μ΄, μμ λ±μ΄ ν¬ν¨λκΈ° λλ¬Έμ IP ν¨ν·λ§μΌλ‘ λ°μνλ νκ³μ λ€μ ν΄κ²°ν μ μλ€!
β TCP νΉμ§
- μ°κ²° μ§ν₯ : 3 way handshake (κ°μ μ°κ²°)
- SYN : μ μ μμ², ACK : μμ² μλ½
- μΈλ²μ λ©μΈμ§κ° μ μ‘λκ³ λλ©΄ μ°κ²°μ΄ λμλ€κ³ μκ°νκ³ (λ Όλ¦¬μ μ°κ²°) λ°μ΄ν°λ₯Ό μ μ‘νλ€.
- μ°Έκ³ λ‘ 3λ² ACKμ ν¨κ» λ°μ΄ν°λ₯Ό μ μ‘ν μ μλ€.
- λ°μ΄ν° μ λ¬ λ³΄μ¦
- λ°μ΄ν°λ₯Ό λ°μΌλ©΄ μλ²μμ λ°μ΄ν°λ₯Ό λ°μλ€λ λ©μΈμ§λ₯Ό ν΄λΌμ΄μΈνΈμκ² μ μ‘νλ€.
- λ§μ½ ν΄λΌμ΄μΈνΈμμ λ°μ΄ν°λ₯Ό λ°μλ€λ λ©μΈμ§λ₯Ό λ°μ§ λͺ»νλ©΄ λ°μ΄ν° μ λ¬μ΄ μ΄λ£¨μ΄μ§μ§ μμλ€λ κ²μ μ μ μλ€.
- μμ 보μ₯
- μλ²λ ν¨ν·μ μμ μ 보λ₯Ό μ λ¬ λ°λλ€.
- ν¨ν·μ μμκ° μλͺ»λλ©΄ μμκ° μλͺ»λ λΆλΆλΆν° μ¬μ μ‘μ μμ²νλ€.
π UDP(User Datagram Protocol)
UDPλ λ³΄ν΅ νμ λνμ§μ λΉμ νλ€. TCPμ κ°μ΄ μ μ‘ κ³μΈ΅μ νλ‘ν μ½μ΄μ§λ§ κ·Έμ λ¬λ¦¬ μ°κ²° μ§ν₯, λ°μ΄ν° μ λ¬ λ³΄μ¦, μμ 보μ₯ λ±μ κΈ°λ₯μ΄ μλ€. νμ§λ§ λ¨μνκ³ λΉ λ₯΄λ€λ μ₯μ μ΄ μλ€. UDPλ IPμ κ±°μ κ°μ§λ§ PORTμ 체ν¬μ¬ κΈ°λ₯ μ λκ° μΆκ°λ νλ‘ν μ½μ΄λΌκ³ 보면 λλ€. μ ν리μΌμ΄μ μμ μΆκ° μμ μ νλ©΄ κΈ°λ₯μ νμ₯ν μ μλ€.
π PORT
νλ²μ μ¬λ¬ κ°μ μλ²μ ν΅μ νλ μ ν리μΌμ΄μ μ λλ¦°λ€κ³ μκ°ν΄λ³΄μ. IP ν¨ν·μλ λμ°©μ§ IP μ£Όμμ ν¨κ» μΆλ°μ§ IPμ£Όμλ 보λ΄κΈ° λλ¬Έμ ν΄λΌμ΄μΈνΈμ PCκΉμ§ λμ°©νλλ°λ λ¬Έμ κ° μμ§λ§ μ λ¬λ ν¨ν·μ΄ μ΄λ€ μ ν리μΌμ΄μ μΌλ‘ μ λ¬λ κ²μΈμ§λ ꡬλΆν μ μλ€.
PORTλ κ·Έλ¦Όμ²λΌ κ°μ IPλ΄μμ νλ‘μΈμ€λ₯Ό ꡬλΆν μ μλ μ£Όμμ΄λ€. IP μ£Όμλ₯Ό μννΈλΌκ³ νλ©΄ PORTλ λ, νΈμλΌκ³ λ³Ό μ μλ€. PORT μ 보λ TCPλ₯Ό ν΅ν΄ IP ν¨ν·μ μΆκ°λμ΄ μ λ¬λλ€.
PORT μ€ 0~1023μ μ μλ €μ§ ν¬νΈλ‘, μ¬μ©νμ§ μλ κ²μ΄ μ’κ³ λ³΄ν΅ 0~65535λ₯Ό ν λΉν΄μ μ¬μ©νλ€.
π DNS(Domain Name System)
IP μ£Όμλ κΈ°μ΅νκΈ° μ΄λ ΅κ³ λ³κ²½λ μ μλ€. DNSλ λλ©μΈ λͺ κ³Ό IP μ£Όμλ₯Ό λ§€νμμΌμ£ΌκΈ° λλ¬Έμ μ½κ² IPμ£Όμμ μ κ·Όν μ μκ² ν΄μ€λ€.
κ°μ μλ£
λͺ¨λ κ°λ°μλ₯Ό μν HTTP μΉ κΈ°λ³Έ μ§μ - μΈνλ° | κ°μ
μ€λ¬΄μ κΌ νμν HTTP ν΅μ¬ κΈ°λ₯κ³Ό μ¬λ°λ₯Έ HTTP API μ€κ³ λ°©λ²μ νμ΅ν©λλ€., - κ°μ μκ° | μΈνλ°...
www.inflearn.com