HTTP(Hypertext Transfer Protocol)μ μΉ μλ²μ μΉ ν΄λΌμ΄μΈνΈ μ¬μ΄μμ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°κΈ° μν΄ μ¬μ©νλ ν΅μ λ°©μμΌλ‘ TCP/IP νλ‘ν μ½ μμμ λμνλ€.
μ¦, μΉμ μ΄μ©νλ €λ©΄ μΉ μλ²μ μΉ ν΄λΌμ΄μΈνΈλ κ°κ° TCP/IP λμμ νμμ μΈ IP μ£Όμλ₯Ό κ°μ ΈμΌ νλ€
HTTPλ μ΄λ¦λλ‘λΌλ©΄ νμ΄νΌν μ€νΈ(HTML) μ μ‘μ© νλ‘ν μ½μ΄μ§λ§ μ»΄ν¨ν°μμ λ€λ£° μ μλ λ°μ΄ν°λΌλ©΄ 무μμ΄λ μ μ‘ κ°λ₯
ν€λλ κ° νμ λμ μ€ λ°κΏ λ¬ΈμμΈ CRLF(Carriage Return Line Feed)κ° μκ³ , ν€λμ λ°λλ λΉ μ€λ‘ ꡬλΆνλ€.
λ°λμλ ν μ€νΈλΏλ§ μλλΌ λ°μ΄λ리 λ°μ΄ν°λ λ€μ΄κ° μ μλ€.
Host νλͺ©μ νμλ‘ νμν΄μΌ νλλ° μμ²λΌ Host ν€λλ‘ νμν μλ μκ³ μλ μ²λΌ μμ²λΌμΈμ URLμ Hostλ₯Ό νμν΄μ Host ν€λλ₯Ό μλ΅ν μλ μλ€.
GET http://www.example.com:8080/book/shakespeare HTTP/1.1
μλ²μμ μ²λ¦¬ κ²°κ³Όλ₯Ό μνλΌμΈμ νμνλλ° 200 OKμ΄λ―λ‘ μ μμ μΌλ‘ μ²λ¦¬λμμμ μ μ μλ€.
URI vs URL
URI(Uniform Resource Indentifier)μ URL(Uniform Resource Locator)μ ν¬ν¨νλ μ’ λ λμ μλ―Έμ§λ§ κ°λ€κ³ μκ°ν΄λ 무방
HTTP λ©μλλ₯Ό ν΅ν΄μ ν΄λΌμ΄μΈνΈκ° μνλ μ²λ¦¬ λ°©μμ μλ² μμ²
λ§μ΄ μ¬μ©λλ λ©μλλ CRUDμ 맀νμ΄ λλ GET, POST, UPDATE, DELETEμ΄λ€.
GET λ°©μ : μ§μ ν URLμ μ 보λ₯Ό κ°μ Έμ€λ λ©μλ
POST λ°©μ : 리μμ€ μμ±. λΈλ‘κ·Έμ κΈμ λ±λ‘νλ κ²½μ°
PUT λ°©μ : 리μμ€ λ³κ²½. λΈλ‘κ·Έμμ κΈμ μ λ‘λν μμ±μλ₯Ό λ³κ²½νκ±°λ κΈμ λ΄μ©μ μ λ°μ΄νΈνλ κ²½μ°
DELETE λ°©μ : 리μμ€ μμ . DELETE μμ²μ λν μλ΅μ λ°λλ₯Ό λ°ννμ§ μλλ€
HTMLμ νΌμμ μ§μ ν μ μλ λ©μλκ° GETκ³Ό POST λ°μ μκΈ° λλ¬Έμ κ°μ₯ λ§μ΄ μ¬μ©λλ€.
GET http://www.naver.com/?q=forms&release=1 HTTP/1.1
POST http://www.naver.com/ HTTP/1.1
Content-Type: apllication/x-www-form-rulencoded
q=forms&release=1
URLμ κΈΈμ΄ μ νμ΄ μκΈ° λλ¬Έμ GETμ μ¬μ©νλ©΄ λ§μ μμ λ°μ΄ν°λ₯Ό 보λ΄κΈ° μ΄λ ΅λ€. λ μ λ¬λλ μ¬μ©μμ λ°μ΄ν°κ° μΉ λΈλΌμ°μ μ μ£Όμμ°½μ λ ΈμΆλλ€λ λ¨μ μ΄ μμ΄ λ³΄μμ λΆλ¦¬νλ€.
λ°λΌμ νΌμ μ¬μ©νκ±°λ μΆκ°μ μΈ νλΌλ―Έν°λ₯Ό μλ²λ‘ 보λ΄λ κ²½μ°μλ GETλ³΄λ€ POST λ°©μμ μ¬μ©νλ€. (μ₯κ³ νλ μμν¬μμλ νΌμ λ°μ΄ν°λ POST λ°©μλ§μ μ¬μ©)
μλ²μμμ μ²λ¦¬ κ²°κ³Όλ μλ΅ λ©μμ§μ μνλΌμΈμ μλ μ¬ν μ½λλ₯Ό λ³΄κ³ νμ ν μ μλ€. μν μ½λλ μΈ μ리 μ«μλ‘ λμ΄ μλλ° μ²« λ²μ§Έ μ«μλ HTTP μλ΅μ μ’ λ₯λ₯Ό ꡬλΆνκ³ , λλ¨Έμ§ λ κ°μ μ«μλ μΈλΆμ μΈ μλ΅ λ΄μ©μ ꡬλΆμ μν λ²νΈμ΄λ€.
μμ£Ό μ¬μ©λλ μν μ½λ
μΆμ²: Djangoλ‘ λ°°μ°λ νμ΄μ¬ μΉ νλ‘κ·Έλλ°(κΈ°μ΄) - κΉμνλ