μ μ
HTTPλ Hyper Text Transfer Protocolμ μ½μλ‘ μΉμμμ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°κΈ° μν νλ‘ν μ½μ λλ€.
μλμ리
HTTPλ ν΄λΌμ΄μΈνΈ-μλ² λͺ¨λΈμ κΈ°λ°μ λκ³ μμ΅λλ€.
ν΄λΌμ΄μΈνΈλ μλ²μ μμ²(request)λ₯Ό 보λ΄κ³ ,
μλ²λ μ΄μ λν μλ΅(response)μ 보λ λλ€.
HTTP λ©μλ
HTTP λ©μλλ ν΄λΌμ΄μΈνΈκ° μννλ λμμ μλ²μκ² μλ €μ€λλ€.
μ¦, ν΄λΌμ΄μΈνΈλ μμ²(request)μ λͺ©μ μ λ°λΌ μ μ ν HTTP λ©μλλ₯Ό μ¬μ©ν©λλ€.
HTTP λ©μλ | μ€λͺ | μ¬μ© μμ |
GET | λ°μ΄ν° μ‘°νλ₯Ό μμ² | νΉμ νμ΄μ§ μ μ, μ 보 κ²μ |
POST | λ°μ΄ν° μμ± μμ² | νμκ°μ , κΈμ°κΈ° |
PUT | λ°μ΄ν° μμ μμ² | νμ μ 보 μμ , κΈ μμ |
DELETE | λ°μ΄ν° μμ μμ² | νμ μ 보 μμ , κΈ μμ |
νμ§λ§ μ΄λ¬ν νλ‘ν μ½μ ν΄λΌμ΄μΈνΈκ° μμ ν λ°λ₯΄μ§ μλλΌλ ν΄λΌμ΄μΈνΈμ μλ²μμ λμΌν νμμ λ°λΌλ λμνλ κ²½μ°κ° μμ΅λλ€.
μλ₯Ό λ€μ΄, λ°μ΄ν° μμ μμ²μμ DELETE λ©μλκ° μλ POST λ©μλλ₯Ό μ¬μ©νλλ‘ μλ²κ° κ°λ°λμ΄ μλ€λ©΄ μ΄λ ν΄λΌμ΄μΈνΈκ° μ μ ν μμμ μ§μΌ μ£Όν€λ§ νλ€λ©΄ μλ² μ μ₯μμλ μ΄λ¬ν μ 보λ₯Ό λͺ©μ μ λ§κ² μ²λ¦¬ν μλ μκ² μ§λ§, κΈ°λ³Έμ μΈ κ·κ²©μ μμ νμ κ°μ λ©μλλ€μ λ°λ₯΄λλ‘ μ μλμ΄ μμ΅λλ€.
HTTP μν μ½λ
HTTP μν μ½λλ μλ²κ° ν΄λΌμ΄μΈνΈμ μμ²μ μ²λ¦¬ν κ²°κ³Όλ₯Ό λνλ΄λ μΈ μ리 μ«μμ λλ€.
μ΄λ¬ν μν μ½λλ₯Ό ν΅ν΄μ ν΄λΌμ΄μΈνΈλ μμ²μ΄ μ±κ³΅μ μΌλ‘ μ²λ¦¬λμλμ§, μλλ©΄ μ΄λ€ λ¬Έμ κ° λ°μνλμ§λ₯Ό μ μ μμ΅λλ€.
HTTP μν μ½λλ μλμ κ°μ΄ λΆλ₯λ©λλ€.
- 1xx (μ 보): μμ²μ λ°μμΌλ©° νλ‘μΈμ€λ₯Ό κ³μ μ§ν
- 2xx (μ±κ³΅): μμ²μ μ±κ³΅μ μΌλ‘ μν
- 3xx (리λ€μ΄λ μ ): ν΄λΌμ΄μΈνΈλ μμ²μ μλ£νκΈ° μν΄ μΆκ° μμ μ μ§νν΄μΌ ν¨
- 4xx (ν΄λΌμ΄μΈνΈ μ€λ₯): ν΄λΌμ΄μΈνΈμ μμ² λ¬Έλ²μ΄ μλͺ»λμκ±°λ μμ²μ μ²λ¦¬ν μ μμ
- 5xx (μλ² μ€λ₯): μλ²κ° μμ²μ λν΄ μ²λ¦¬ν μ μμ
μ¬μ©μμ
νΉμ ν μΉ μ¬μ΄νΈμ μ μνλ©΄, κΈ°λ³Έμ μΌλ‘ GET λ°©μμΌλ‘ νΈμΆμ μ§νν©λλ€.
κ°λ°μ λꡬ -> λ€νΈμν¬ νμ νμΈν΄ 보면 μ΄λ€ μμ²μ 보λ΄κ³ μ΄λ€ μλ΅μ λ°μλμ§μ λν κ²°κ³Όλ₯Ό νμΈν μ μμ΅λλ€.
νΉμ§
무μνμ±(Stateless)
HTTPλ μνλ₯Ό μ μ₯νμ§ μμ΅λλ€.
μ¦, ν΄λΌμ΄μΈνΈκ° μμ²μ 보λ΄λ©΄ μλ²μμ μλ΅μ μ€ νμ μ°κ²°μ λμ΄λ²λ¦¬λ©°, μ΄ κ³Όμ μμ ν΄λΌμ΄μΈνΈμ λν μ΄λ ν μ 보λ κ°μ§κ³ μμ§ μμ΅λλ€.
μ΄λ¬ν νΉμ±μ μλ²μ μ²λ¦¬λμ μ€μ¬ μλ²μ λΆνλ₯Ό κ°μμν€λ ν¨κ³Όκ° μμ§λ§,
ν΄λΌμ΄μΈνΈμ μ΄μ μνλ₯Ό μ μ μλ€λ λ¨μ μ΄ μμ΅λλ€.
μμλ‘ μν νμΈ -> μ₯λ°κ΅¬λ -> κ²°μ μ κ³Όμ μ΄ μμ€ν μ μΌλ‘ μν μ λ³΄λ‘ κΈ°λ‘λμ§ μμ΅λλ€.
μ΄λ₯Ό 보μνκΈ° μν΄μ μΏ ν€, μΈμ , ν ν° λ±κ³Ό κ°μ κΈ°μ μ΄ μ¬μ©λ©λλ€.
λΉμ°κ²°μ±(Connectionless)
μλ²κ° νλμ μμ²μ μ²λ¦¬ν νμ μ°κ²°μ λμ΄λ²λ¦½λλ€.
μ¦, ν΄λΌμ΄μΈνΈμμ μλ²λ‘ μμ²μ 보λ΄κ³ μλ²μμ κ·Έ μμ²μ λν μλ΅μ λ³΄λΈ νμλ λ°λ‘ μ°κ²°μ μ’ λ£ν©λλ€.
μ΄ νΉμ±μ μλ²μ 리μμ€λ₯Ό ν¨μ¨μ μΌλ‘ μ¬μ©ν μ μκ² λμ§λ§, λ§€λ² μλ‘μ΄ μ°κ²°μ μμ±νκ³ μ’ λ£νλλ° λλ λΉμ©μ΄ ν¬λ€λ λ¨μ μ΄ μμ΅λλ€.
μ΄λ¬ν λ¨μ μ 보μνκΈ° μν΄ HTTP1.1λΆν° Keep-Alive λ©μ»€λμ¦μ΄ λμ λμμ΅λλ€.
Keep-Aliveλ ν λ²μ TCP μ°κ²°μ ν΅ν΄ μ¬λ¬ κ°μ HTTP μμ²κ³Ό μλ΅μ μ²λ¦¬νκΈ° μν λ°©λ²μ λλ€.
μ¦, HTTP μμ²κ³Ό μλ΅μ΄ λλλ μ°κ²°μ λ°λ‘ λμ§ μκ³ , μΌμ μκ° λμ μ°κ²°μ μ μ§ν¨μΌλ‘μ¨, μΆκ°μ μΈ μμ²μ΄ λ€μ΄μ¬ κ²½μ° λΉ λ₯΄κ² μλ΅ν μ μμ΅λλ€.
μλ₯Ό λ€μ΄, μ¬μ©μκ° νλμ μΉ μ¬μ΄νΈμ λ°©λ¬Ένλ©΄, ν΄λΉ μ¬μ΄νΈλ λ³΄ν΅ μμ κ°μ νμΌ(HTML, CSS, JavaScript λ±)μ μ 곡νκ² λ©λλ€.
μ΄λ΄ λ λ§€λ² μλ‘μ΄ μ°κ²°μ μμ±νκ³ μ’ λ£νλ κ²μ λΉν¨μ¨μ μ΄κΈ° λλ¬Έμ Keep-Aliveλ₯Ό μ¬μ©νλ©΄ λΉ ν¨μ¨μ μΈ λΉμ©μ μ€μ΄κ³ , λ€νΈμν¬μ ν¨μ¨μ±μ λμΌ μ μμ΅λλ€.
HTTPμ HTTPSμ μ°¨μ΄μ
HTTPSλ HTTPμ 보μ κΈ°λ₯μ μΆκ°ν νλ‘ν μ½μ λλ€.
SSL(Secure Sockets Layer) λλ TLS(Transport Layer Security) νλ‘ν μ½μ μ¬μ©ν΄ λ°μ΄ν°λ₯Ό μνΈννμ¬ λ°μ΄ν°μ κΈ°λ°μ±κ³Ό 무결μ±μ μ μ§ν μ μμ΅λλ€.
μ¦, HTTPμ HTTPSμ κ°μ₯ ν° μ°¨μ΄μ μ 보μμ±μ λλ€.HTTPλ ν μ€νΈ λ°μ΄ν°λ₯Ό κ·Έλλ‘ μ μ‘νλ λ°λ©΄, HTTPSλ λ°μ΄ν°λ₯Ό μνΈν νμ¬ μ μ‘ν©λλ€.