[λ€νΈμν¬] HTTP λ©μλ(GET / POST)
νλ‘ν μ½
- μ»΄ν¨ν° λ΄λΆμμ λλ μ»΄ν¨ν° μ¬μ΄μμ λ°μ΄ν°μ κ΅ν λ°©μμ μ μνλ κ·μΉμ²΄κ³
- κΈ°κΈ° κ° ν΅μ μ κ΅νλλ λ°μ΄ν° νμμ λν΄ μνΈν©μλ₯Ό μꡬνλ©°, μ΄λ° νμμ μ μνλ κ·μΉμ μ§ν©μ΄ νλ‘ν μ½
HTTP νλ‘ν μ½
- μΈν°λ· μμμ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°κΈ° μν μλ²/ν΄λΌμ΄μΈνΈ λͺ¨λΈμ λ°λ₯΄λ νλ‘ν μ½
- μ ν리μΌμ΄μ λ 벨μ νλ‘ν μ½λ‘, TCP/IP μμμ μλ
- μ΄λ€ μ’ λ₯μ λ°μ΄ν°λ μ μ‘ν μ μλλ‘ μ€κ³λμ΄μμ
HTTP νλ‘ν μ½μ μλλ°©μ
μλ²/ν΄λΌμ΄μΈνΈ λͺ¨λΈμ λ°λ₯΄κ³ , ν΄λΌμ΄μΈνΈμμ μμ²(request)μ 보λ΄λ©΄ μλ²λ μλ΅(response)νλ€.
HTTP λ©μλ
- HTTPλ μμ² λ©μλλ₯Ό μ μνμ¬, μ£Όμ΄μ§ 리μμ€μ μννκΈΈ μνλ νλμ λνλ
- κ°κ°μ λ©μλλ μλ‘ λ€λ₯Έ μλ―Έλ₯Ό ꡬννμ§λ§, μΌλΆ κΈ°λ₯μ λ©μλ μ§ν©κ°μ μλ‘ κ³΅μ νκΈ°λ ν¨
- HTTP Method : REST(Representational State Transfer)λ₯Ό μ§ν€λ©΄μ νμλ₯Ό μ λ¬νλ λ°©λ²
→ 2000λ λμ λ‘μ΄ νλ©μ΄ μΉμ μ₯μ μ μ΅λν νμ©ν μ μλ μν€ν μ²λ‘μ¨ RESTλ₯Ό λ°ν
→ μ§μ(Resource) : URI
νμ(Verb) : HTTP Method
νν(Representations)
HTTP λ©μλ μ’ λ₯
- GET(μ‘°ν) : μλ²λ‘λΆν° λ°μ΄ν°λ₯Ό μ·¨λ
- POST(λ±λ‘) : μλ²μ λ°μ΄ν°λ₯Ό μΆκ°, μμ±
- PUT(μμ ) : μλ²μ λ°μ΄ν°λ₯Ό κ°±μ , μμ±
- PATCH : 리μμ€μ μΌλΆλΆμ μμ
- DELETE(μμ ) : μλ²μ λ°μ΄ν°λ₯Ό μμ
- HEAD : μλ²μ 리μμ€μ ν€λ(λ©ν λ°μ΄ν°μ μ·¨λ)
- OPTIONS : 리μμ€κ° μ§μνκ³ μλ λ©μλμ μ·¨λ
- CONNECT : νλ‘μ λμμ ν°λ μ μμ λ³κ²½
GET
ν΄λΌμ΄μΈνΈμμ μλ²λ‘ μ΄λ ν 리μμ€λ‘ λΆν° μ 보λ₯Ό μμ²νκΈ° μν΄ μ¬μ©λλ λ©μλ
λ°μ΄ν°λ₯Ό μ½κ±°λ(Read), κ²μ(Retrieve)ν λμ μ¬μ©
URL μ£Όμ λμ νλΌλ―Έν°λ‘ ν¬ν¨λμ΄ μ μ‘λλ©°, μ΄ λΆλΆμ 쿼리 μ€νΈλ§ (query string) μ΄λΌκ³ λΆλ₯Έλ€.
URL λμ " ? " λ₯Ό λΆμ΄κ³ κ·Έλ€μ λ³μλͺ
1=κ°1&λ³μλͺ
2=κ°2... νμμΌλ‘ μ΄μ΄ λΆμ΄λ©΄ λλ€.
μ) www.example.com/show?name1=νκΈΈλ&name2=κΉλ리
→ μλ²μμλ name1 κ³Ό name2 λΌλ νλΌλ―Έν° λͺ
μΌλ‘ κ°κ° νκΈΈλκ³Ό κΉλ리μ νλΌλ―Έν° κ°μ μ λ¬ λ°μ μ μλ€.
POST
리μμ€λ₯Ό μμ±/μ λ°μ΄νΈνκΈ° μν΄ μλ²μ λ°μ΄ν°λ₯Ό 보λ΄λ λ° μ¬μ©λλ λ©μλ
GETκ³Ό λ¬λ¦¬ μ μ‘ν΄μΌλ λ°μ΄ν°λ₯Ό HTTP λ©μΈμ§μ Bodyμ λ΄μμ μ μ‘
HTTP λ©μΈμ§μ Bodyλ κΈΈμ΄μ μ νμμ΄ λ°μ΄ν°λ₯Ό μ μ‘ν μ μ(GETκ³Ό λ¬λ¦¬ λμ©λ λ°μ΄ν°λ₯Ό μ μ‘ν μ μλ μ΄μ )
GET κ³Ό POST
GET | POST | |
μΊμ | β | β |
λΈλΌμ°μ κΈ°λ‘ | β | β |
λΆλ§ν¬ μΆκ° | β | β |
λ°μ΄ν° κΈΈμ΄μ ν | β | β |
HTTP μλ΅ μ½λ | 200 OK | 201 Created |
μΈμ μ£Όλ‘ μ¬μ©? | 리μμ€ μμ² | 리μμ€ μμ± |
리μμ€ μ λ¬λ°©μ | 쿼리μ€νΈλ§ | HTTP Body |
Idempotent | β | β |
Idempotent (= λ©±λ±λ²μΉ, λ©±λ±μ±)
- μ°μ°μ μ¬λ¬λ² μ μ©νλλΌλ κ²°κ³Όκ° λ¬λΌμ§μ§ μλ μ±μ§
- GET μ΄ idempotent μ€κ³λμλ€λ κ²μ GETμΌλ‘ μλ²μκ² λμΌν μμ²μ μ¬λ¬λ² μ μ‘νλλΌλ
λμΌν μλ΅μ΄ λμμμΌνλ€λ κ²μ μλ―Έν¨. λ°λΌμ, GETμ μ£Όλ‘ μ‘°νν λ μ¬μ© - λ°λλ‘ POSTλ Non-IdempotentνκΈ° λλ¬Έμ μλ²μ λμΌν μμ²μ μ¬λ¬λ² μ μ‘ν΄λ μλ΅μ νμ λ€λ₯Ό μ μλ€.
λ°λΌμ, POSTλ μλ²μ μνλ λ°μ΄ν°λ₯Ό λ³κ²½μν¬ λ μ¬μ©.
μ°Έκ³ ) https://brilliantdevelop.tistory.com/32
HTTP μ μ λ° λμ λ°©μ
νλ‘ν μ½ νλ‘ν μ½μ μ»΄ν¨ν° λ΄λΆμμ, λλ μ»΄ν¨ν° μ¬μ΄μμ λ°μ΄ν°μ κ΅ν λ°©μμ μ μνλ κ·μΉ 체κ³μ λλ€. κΈ°κΈ° κ° ν΅μ μ κ΅νλλ λ°μ΄ν°μ νμμ λν΄ μνΈ ν©μλ₯Ό μꡬν©λλ€. μ΄λ°
brilliantdevelop.tistory.com
μ°Έκ³ ) https://www.ascentkorea.com/what-is-url/
URLμ΄λ 무μμΈκ°? - μ΄μΌνΈ μ½λ¦¬μ
URLμ΄λ 무μμΈμ§μ λν΄ μμλ³΄κ³ URL ꡬ쑰 λ° SEO μΉνμ μΈ μ€μ λ°©λ²μ λν λ΄μ©μ νμΈν μ μμ΅λλ€. URLμ SEO μΉνμ μΌλ‘ λ¨μΆν μ μλ λ°©λ²μ λν΄ μμ보μΈμ.
www.ascentkorea.com
μ°Έκ³ ) https://noahlogs.tistory.com/35
[λ€νΈμν¬] get κ³Ό post μ μ°¨μ΄
GET κ³Ό POST λ HTTP λ©μλλ‘ ν΄λΌμ΄μΈνΈμμ μλ²λ‘ 무μΈκ°λ₯Ό μμ²ν λ μ¬μ©νλ€. 2019/06/01 - [IT μ 보 λ‘κ·ΈμΊ£/CS] - [λ€νΈμν¬] http λ [λ€νΈμν¬] http λ κΈ°λ³Έμ μΌλ‘ λ€νΈμν¬ ν΅μ μ ν λ μ²μ μ ν
noahlogs.tistory.com
μ°Έκ³ ) https://zwzwzw123-daily-daily.tistory.com/123
[CSμ§μ - κ°λ°μμ] HTTP λ©μλ
1. HTTP λ©μλ HTTPλ μμ² λ©μλλ₯Ό μ μνμ¬, μ£Όμ΄μ§ 리μμ€μ μννκΈΈ μνλ νλμ λνλ κ°κ°μ λ©μλλ μλ‘ λ€λ₯Έ μλ―Έλ₯Ό ꡬννμ§λ§, μΌλΆ κΈ°λ₯μ λ©μλ μ§ν©κ°μ μλ‘ κ³΅μ νκΈ°λ ν¨
zwzwzw123-daily-daily.tistory.com
μ°Έκ³ ) https://developer.mozilla.org/ko/docs/Web/HTTP/Status
HTTP μν μ½λ - HTTP | MDN
HTTP μλ΅ μν μ½λλ νΉμ HTTP μμ²μ΄ μ±κ³΅μ μΌλ‘ μλ£λμλμ§ μλ €μ€λλ€. μλ΅μ 5κ°μ κ·Έλ£ΉμΌλ‘ λλμ΄μ§λλ€: μ 보λ₯Ό μ 곡νλ μλ΅, μ±κ³΅μ μΈ μλ΅, 리λ€μ΄λ νΈ, ν΄λΌμ΄μΈνΈ μλ¬, 그리κ³
developer.mozilla.org