[CS] Web general

Web General
μΉ μλΉμ€ νλ‘ν μ½
μΉ νλ‘ν μ½μ΄λ?
μΉ νλ‘ν μ½μ μΉμμ μ°μ΄λ ν΅μ κ·μ½μ λλ€. ν΅μ κ·μ½μ΄λΌλ κ²μ μ½κ² μ€λͺ νλ©΄, ν΅μ μ ν λ λ΄κ° μ΄λ κ² ν κ² λλ μ΄λ κ² ν΄μ€ λΌκ³ μ½μνλ κ²μ λλ€.
HTTP
HTTPλ νμ΄νΌ ν
μ€νΈ μ μ‘ νλ‘ν μ½. μλ‘ λ€λ₯Έ μμ€ν
λ€ μ¬μ΄μμ ν΅μ (λ°μ΄ν°)μ μ£Όκ³ λ°κ² ν΄μ£Όλ κ°μ₯ κΈ°μ΄μ μΈ νλ‘ν μ½μ
λλ€. μ°λ¦¬κ° μΉ μνμ ν λ μλ²μμ λΈλΌμ°μ λ‘ λ°μ΄ν°λ₯Ό μ μ‘ν΄ μ£Όλ μ©λλ‘ κ°μ₯ λ§μ΄ μ¬μ©λ©λλ€.
HTTPλ TCP μ μμ νλ‘ν μ½ μ
λλ€. λ©μμ§ μ 체λ₯Ό νμΈνλ€λ©΄, κ·Έ λ©μμ§λ₯Ό ν΄μν΄μΌν©λλ€. HTTPμλ Request methods, data type λ± μνλ λ©μμ§λ₯Ό μ λ¬νκΈ° μν μ¬λ¬ κ·μΉλ€μ΄ μμ΅λλ€.
Http ν΅μ μ΄λ?
μΉ νλ‘ν μ½μ€ νλλ‘ HTTPκ° κ°μ₯ λ§μ΄ μ°μ΄λλ° Hyper text Transfer Protocolμ μ½μμ λλ€. μ½κ² λ§νλ©΄, μΈν°λ·μμ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°μ μ μλ ν΅μ κ·μ½ μ λλ‘ λ³΄μλ©΄λ©λλ€. μμ²κ³Ό μλ΅μΌλ‘ μ΄λ£¨μ΄μ Έμμ΄ μ΄λ€ λ°μ΄ν° μ£ΌμΈμ νκ³ μμ²νλ©΄, μ΄ λ°μ΄ν° μ€κ²μ λΌκ³ μλ΅ν©λλ€.
Http 1.1κ³Ό 2.0μ μ°¨μ΄λ?
κ°μ₯ ν° μ°¨μ΄λ μλμ λλ€. 2.0κ°μ κ²½μ°λ ν€λλ₯Ό μμΆν΄μ 보λ΄κΈ°λνκ³ , ν λ²μ μ°κ²°λ‘ λμμ μ¬λ¬ λ©μμ§λ₯Ό μ£Όκ³ λ°μ μλ μ λλ€.
HTTPS
HTTPSλ νμ΄νΌ ν
μ€νΈ μ μ‘ νλ‘ν μ½ λ³΄μ(Hypertext Transfer Protocol Secure) μ
λλ€.
μΌλ° HTTP νλ‘ν μ½μ λ¬Έμ μ μ μλ²μμλΆν° λΈλΌμ°μ λ‘ μ μ‘λλ μ λ³΄κ° μνΈνλμ§ μλλ€(ν΄νΉκ°λ₯μ±)λ κ²μ΄μλλ°μ. HTTP μ 보μμ λ¨μ μ 보μνλ κ²μ΄ HTTPS μ
λλ€.
httpμ https ν΅μ λ°©μμ μ°¨μ΄?
κ²°μ μ μ°¨μ΄λ 보μμ
λλ€.
1. httpλ°©μμ λ€νΈμν¬μμμ μ 보λ₯Ό λκ΅°κ°κ° λ§μλλ‘ μ΄λ, μμ μ΄ κ°λ₯ν λ°λ©΄ httpsλ λκ° λ³Ό μ μλλ‘ λ§μ΅λλ€.
2. httpλ°©μμ΄ httpsλ°©μλ³΄λ€ λΉ λ¦
λλ€.
3. httpλ°©μμ λ―Όκ°ν μ 보λ₯Ό λ€λ£° λ νμ λ³μ‘°, ν΄νΉ κ°λ₯μ±μ μκ°ν΄μΌ ν©λλ€. httpsλ μ€μΉ λ° μΈμ¦μλ₯Ό μ μ§νλλ° μΆκ°μ μΈ λΉμ©μ΄ λ°μν©λλ€. λ°λΌμ, λ―Όκ°ν μ λ³΄κ° μλ νμ΄μ§μ κ²½μ° https κ·Έλ΄νμκ°μμΌλ©΄ httpλ‘ λ§λ€λ©΄ λ©λλ€.
λ νλ‘ν μ½ μ¬μ΄μ κ°μ₯ 컀λ€λ μ°¨μ΄μ μ΄ λ³΄μμ λ΄λΉνλ SSL μΈμ¦μμ
λλ€.
SSL μΈμ¦μλ μ¬μ©μκ° μ¬μ΄νΈμ μ 곡νλ μ 보λ₯Ό μνΈννλλ°, μ½κ² λ§ν΄μ λ°μ΄ν°λ₯Ό μνΈλ‘ λ°κΎΌλ€κ³ μκ°νλ©΄ μ½μ΅λλ€. μ΄λ κ² μ μ‘λ λ°μ΄ν°λ μ€κ°μμ λκ΅°κ° νμ³ λΈλ€κ³ νλλΌλ λ°μ΄ν°κ° μνΈνλμ΄μκΈ° λλ¬Έμ ν΄λ
ν μ μμ΅λλ€. κ·Έ μΈμλ HTTPSλ TLS(μ μ‘ κ³μΈ΅ 보μ) νλ‘ν μ½μ ν΅ν΄μλ 보μμ μ μ§ν©λλ€.
IP / MAC / ARP
IP
μ»΄ν¨ν°μ IPμ£Όμλ λ§κ·Έλλ‘ μ£Όμμ
λλ€.
μ΄ νλ‘ν μ½μμλ λ©μμ§κ° λͺ©νλ‘ νλ μ»΄ν¨ν
μ λμ°©νλλ‘ ν΄μ£Όλ μν μ ν©λλ€. μΈν°λ·κ³Ό κ°μ μ»΄ν¨ν° λ€νΈμν¬μμ μ₯μΉλ€μ΄ μλ‘λ₯Ό μΈμνκ³ ν΅μ μ νκΈ° μν΄ μ¬μ©νλ νΉμν λ²νΈλ‘μ, λ€νΈμν¬μ μ°κ²°λ μ₯μΉκ° 곡μ κΈ°/λΌμ°ν°μ΄λ μΌλ° μ»΄ν¨ν°μ΄λ , λͺ¨λ μ₯μΉλ€μ νΉμν λ²νΈλ₯Ό κ°μ§κ³ μμ΄μΌ νλ©°. μ΄ λ²νΈλ₯Ό μ΄μ©νμ¬ λ°μ μλ₯Ό λμ νμ¬ λ©μμ§κ° μ μ‘λκ³ μμ μλ₯Ό ν₯νμ¬ μμ λ λͺ©μ μ§λ‘ μ λ¬λκ² λ©λλ€. μ΄λ μ¬μ©λλ νΉμν λ²νΈλ₯Ό IPλΌκ³ ν©λλ€.
MAC
Media Access Controlμ μ½μμ
λλ€. OSI 7κ³μΈ΅ μ€ Data Link κ³μΈ΅μ μλ λΆκ³μΈ΅ μ€μ νλλ‘, 곡μ 맀체μ μ¬λ¬ λ¨λ§μ΄ μ μν λ μΆ©λμ λ°©μ§νκΈ° μν μ μ΄λ₯Ό λ΄λΉν©λλ€.
Mutiple-access protocolsμ΄λΌλ λ€μ€ μ μ νλ‘ν μ½μ μ¬μ©ν©λλ€.
β‘οΈ λ€μ€ μ μ νλ‘ν μ½ ????
λ€μ€ μ μμ λ€μμ μμ€ν
λ€μ΄ 맀체λ₯Ό 곡μ νλ νκ²½μμ μΆ©λμμ΄ λ°μ΄ν°λ₯Ό μ μ‘νκΈ° μν λ°©μμ
λλ€.
λν λ€μ€μ μ νλ‘ν μ½μ λ°μ΄ν°κ° μΆ©λνμ§ μκ² μ μ‘νλ λ°©μμΌλ‘ λ€νΈμν¬ λͺ¨λΈμμ μλ¬μ μ΄, νλ¦μ μ΄, μ κ·Όμ μ΄λ₯Ό νλ Data linkκ³μΈ΅μμ μννκ³ λκ°μ λΆκ³μΈ΅μ κ°μ§λλ€.
μμμ μ‘΄μ¬νλ Data link controlμ data linkμ μ€μ κΈ°λ₯μΈ error μ μ΄μ κ°μ controlμ νκ³
νλ¨μ μλ Multiple-access resolutionμ 맀체μ λ°λΌμ μ΄λ»κ² λ€μ€μ μμ ν μ§ λ¬Έμ λ₯Ό ν΄κ²°ν΄ μ£Όλ μν μ ν©λλ€.
μμ λΆκ³μΈ΅: λ°μ΄ν° λ§ν¬λ₯Ό μ μ΄
νμ λΆκ³μΈ΅: 곡μ 맀체μ λν μ κ·Ό λ¬Έμ λ₯Ό ν΄κ²°
ARP
Address Resolution Protocolμ μ€λ§λ‘, μ£Όμ κ²°μ νλ‘ν μ½μ λλ€. λ Όλ¦¬μ μΈ IPμ£Όμλ₯Ό κΈ°λ°μΌλ‘ λ°μ΄ν°λ§ν¬ κ³μΈ΅μ 물리μ μΈ MACμ£Όμλ‘ λ°κΎΈμ΄μ£Όλ μ£Όμν΄μ νλ‘ν μ½μ λλ€.
DNS
λ€νΈμν¬ μμμ μ»΄ν¨ν°λ€μ IPμ£Όμλ₯Ό μ΄μ©νμ¬ μλ‘λ₯Ό ꡬλ³νκ³ ν΅μ ν©λλ€. μ¬λλ€μ΄ λ€νΈμν¬λ₯Ό ν΅ν΄ μ격μ μ»΄ν¨ν°μ μ μνκΈ° μν΄μλ IPμ£Όμλ₯Ό μ΄μ©νμ¬μΌ νμ§λ§, μ«μμ μ°μμΈ IPμ£Όμλ₯Ό μΌμΌμ΄ μΈμΈ μ μκΈ° λλ¬Έμ μ½κ² κΈ°μ΅ν μ μλ λλ©μΈ μ£Όμ 체κ³κ° λ§λ€μ΄μ‘μ΅λλ€.
DNS(Domain Name System)μ λλ©μΈ μ΄λ¦μ μμ§μ μΈ μ²΄κ³λ₯Ό λ§ν©λλ€.
TLS
μΈν°λ·μμμ μ 보λ₯Ό μνΈννμ¬ μ‘μμ νλ νλ‘ν μ½μ λλ€. νν SSL μ΄λΌ λΆλ₯΄λ κ²λ€μ λλΆλΆμ TLS μΈλ°, TLS λ₯Ό μ¬μ©ν΄ μνΈνλ μ°κ²°μ νλ HTTP λ₯Ό HTTPS λΌκ³ ν©λλ€. TLSλ λ€μν μ’ λ₯μ 보μ ν΅μ μ νκΈ° μν νλ‘ν μ½μΈλ°, HTTPS λ TLS μμ HTTP νλ‘ν μ½μ μΉμ΄ 보μλ HTTP ν΅μ μ νλ νλ‘ν μ½μ λλ€.
λ·μ€μΌμ΄νμ¬μμ κ°λ°ν SSL μ μ§νλ λ²μ μΌλ‘ μΈν°λ· ν΅μ μ νλ λ μ¬μ©μκ° μλ‘μ μ μμ 보λ₯Ό μΈμ¦νλ μ μ°¨λ₯Ό κ°λ νλ‘ν μ½μ λλ€. μ΄ λ°©λ²μ μ¬μ©νλ©΄ μ 3μκ° μ 보λ₯Ό κ°μ², μ‘°μν μ μμ΅λλ€.
TCP / UDP
- TCP( Transmission Control Protocol ) μ μ‘ μ μ΄ νλ‘ν μ½μ λλ€.
- HTTPλ μμ μ λ©μμ§λ₯Ό μ λ¬νκΈ° μν΄ TCP νλ‘ν μ½μ μ΄μ©ν©λλ€.
- ν΄λΌμ΄μΈνΈμ μλ²λ TCP 컀λ₯μ μ΄ λ§Ίμ΄μ§λ©΄ λ©μμ§κ° μ λ μ¬λΌμ§κ±°λ μμλμ§ μκ³ , μμκ° λ€λ°λλ μΌλ μλ μμ μ± μλ νλ‘ν μ½μ λλ€.
- TCPλ IP μμμ λμνλ νλ‘ν μ½λ‘, λ°μ΄ν°μ μ λ¬μ 보μ¦νκ³ λ³΄λΈ μμλλ‘ λ°κ² ν΄μ€λλ€.
- IPμ μμ νλ‘ν μ½μΈλ°, μ»΄ν¨ν°μ μμΉλ₯Ό μ°Ύμμ λ©μμ§λ₯Ό μ λ¬νλ€λ©΄ κ·Έ λ©μΈμ§λ₯Ό νμΈν΄μΌ ν©λλ€. λ€νΈμν¬ μμμ λ©μμ§λ₯Ό μ λ¬ν λ, νλ²μ μ λ¬ν기보λ€, μμ λ¨μ)ν¨ν·)μΌλ‘ μͺΌκ°μ λ©μμ§λ₯Ό μ λ¬ν©λλ€.
- TCP λ μ λ¬λ°μ ν¨ν·λ€μ μ¬μ‘°λ¦½νκ³ , μμλκ±°λ μμ€λ ν¨ν·μ΄ μλ€λ©΄, μ¬μμ²ν©λλ€.
- UDP: User Datagram Protocol. UDPλ μλλ°©μ΄ λ°μ΄ν°λ₯Ό μ λ°μλ λ§λ μκ΄νμ§ μμ΅λλ€. μ¦, λ°μ΄ν° μ λ¬μ λν μμ μ±μ 보μ₯νμ§ μμ΅λλ€.
- UDPκ° TCPμ λΉν΄ μλκ° λΉ λ₯Έλ°, μλ₯Ό λ€μ΄, μ νλΈ( μ€νΈλ¦¬λ° )λ λ°μ΄ν°κ° μ μ λ¬ λλμ§( μμ μ± ) λ³΄λ€ μλκ° λ μ€μν©λλ€. μ¦, μλΉμ€μ λ°λΌ μ¬μ©νλ νλ‘ν μ½μ΄ λ€λ¦ λλ€.
v8
ꡬκΈμμ λ§λ μ€ν μμ€ μλ°μ€ν¬λ¦½νΈ μμ§μΌλ‘ ν¬λ‘¬ λΈλΌμ°μ μ Node.JSμ μ¬μ©λ©λλ€. C++λ‘ λ§λ€μ΄μ Έ μμΌλ©° μΈν°νλ¦°ν° μμ΄ μλ°μ€ν¬λ¦½νΈ μ½λλ₯Ό λ¨Έμ μ½λλ‘ λ°κΏμ μλκ° λΉ λ¦ λλ€.
ν¬λ‘¬ V8μμ§μ νΉμ±
- V8μμ§μ C++λ‘ μμ±λκ³ Chromeκ³Ό Nodejsμμ μ¬μ©λ©λλ€.
- V8μμ§μ ECMA-262μ κΈ°μ¬λ ECMAScriptλ₯Ό ꡬννμ΅λλ€.
- V8μμ§μ standaloneμΌλ‘ λμν μ μμ΄μ μ°λ¦¬λ μλ°μ€ν¬λ¦½νΈ μμ§μ C++ νλ‘κ·Έλ¨μ λ΄μ₯μν¬ μ μμ΅λλ€.
μ°Έκ³ 1 : https://nomadkim880901.tistory.com/
μ°Έκ³ 2 : https://sunnykim91.tistory.com/121