ν°μ€ν 리 λ·°
π HTTP ν΅μ
HTTP ν΅μ μ client κ° λ°μ΄ν°κ° νμν λλ§λ€ server μκ² μμ²νκ³ , server λ κ·Έ λ°μ΄ν°λ₯Ό μλ΅νκ³ λ°λ‘ μ°κ²°μ΄ μ’ λ£λλ λ°©μμ΄λ€.
μ΄μ²λΌ HTTP ν΅μ μ λ¨λ°©ν₯ ν΅μ μ΄λΌμ client λ§ server μκ² μμ²ν μ μκ³ server λ client μ μμ²ν μ μλ€. μλ΅λ§ κ°λ₯νλ€.
μ€μκ°μΌλ‘ μλΉμ€ν΄μΌν κ²½μ°λ₯Ό μ μΈνκ³ HTTP ν΅μ μ μ¬μ©νλλ° server μ λΆλ΄μ μ€μ¬μ€λ€.
π HTTP λ©μμ§
client κ° server μκ² μμ²ν λ μΌμ ν νμμ κ°μΆ°μ ν μ€νΈ κΈ°λ°μ λ©μμ§λ‘ λ³νν΄μ μ λ¬ν΄μΌνλ€. κ·Έ νμμ HTTP λ©μμ§λΌκ³ νλ€.
ꡬ쑰
μμ²λ©μμ§μ μλ΅ λ©μμ§λ₯Ό μμ보μ. 곡ν΅μ μΌλ‘ λΌμΈ - ν€λ - λ°λ
λ‘ κ΅¬μ±λλ€.
λΌμΈ
λ©μμ§μ κ°μ₯ κΈ°λ³Έ λ΄μ©μΈ μλ΅/μμ² μ¬λΆ, λ©μμ§ μ μ‘ λ°©μ, μν λ±μ΄ μμ±. νμ€.
ex) POST /user/login HTTP/1.1
[μ μ‘λ©μλ μ μ] [κ²½λ‘] [μμ²νμμ λν λ²μ μ 보]
ν€λ
λ©μμ§ λ³Έλ¬Έμ λν λ©ν μ λ³΄κ° λ€μ΄κ°λ€. νμν λ§νΌ μ¬λ¬μ€λ‘ μμ±.
κΈΈμ΄κ° μ λμ μ΄κΈ° λλ¬Έμ λ°λμ κ΅¬λΆ μ§κΈ° μν΄μ ν μ€μ 곡백 μ½μ .
ex)
Host: ...
Content-Type: application/json
Host λΌλ key μλ λλ©μΈ λ° ν¬νΈλ²νΈλ₯Ό value λ‘ κ°μ§.
Content-Type λΌλ key μλ λ©μμ§ λ°λμ νμ μ λνλ΄λ value λ₯Ό κ°μ§.(μ£Όλ‘ μ¬μ©νλ JSON μ κ²½μ°λ application/json value λ₯Ό κ°μ§)
λ°λ
λ©μμ§ λ³Έλ¬Έμ΄ λ€μ΄κ°λ λΆλΆ. κΈΈμ΄κ° μ λμ .
λ°λμ λ€μ΄κ°λ λ©μμ§ νμμ ν€λμ Content-Type μμ μ€μ ν νμ κ³Ό μΌμΉν΄μΌ νλ€.
π GET, POST μ μμ² λ©μΈμ§ νΉμ§
POST
(μΆμ²λ₯Ό λ¨κΈ΄ λΈλ‘κ·Έ μ μμλ₯Ό κ°μ Έμλ€.)
νΉμ§
- ν€λμ Content-Type μ μμ±
- λ°λμ Content-Type μ λ§λ λ°μ΄ν°λ₯Ό λ£λ κ².
GET
(μΆμ²λ₯Ό λ¨κΈ΄ λΈλ‘κ·Έ μ μμλ₯Ό κ°μ Έμλ€.)
νΉμ§
- ν€λκ° no-cache λ‘ λ³κ²½λ¨.
- λ°λκ° μμ.(λ³Έλ¬Έμ μ¬μ©νμ§ μκΈ° λλ¬Έμ ν€λμ Content-Type μ΄ μ¬μ©λμ§ μμ.)
- GET μ λ©μμ§ λ³Έλ¬Έμ μ¬μ©νμ§ μκ³ URL λ€μ νλΌλ―Έν°λ‘ μ°κ²°μν΄. μ΄κ²μ΄ 쿼리 μ€νΈλ§(Query String).
- URL κ²½λ‘μ νμ©λ²μκ° 1024Byte μ΄κΈ° λλ¬Έμ κΈ΄ κ°μ μ μ‘ν μ μλ€.(κ·Έλμ GET κ³Ό κ°μ΄ νμν μ 보λ₯Ό μμ²ν λ μ¬μ©)
μΆμ² :
iOS) HTTP / HTTPS / RESTful μ΄ λλ체 λκΉ
π μλ΅μ½λ
μΆκ°λ‘ κ°λ¨νκ² μλ΅μ½λλ μμ보μ.
- 1XX : Informational(μ 보). μ 보 κ΅ν.
- 2XX : Success(μ±κ³΅). λ°μ΄ν° μ μ‘μ΄ μ±κ³΅μ μΌλ‘ μ΄λ£¨μ΄μ‘κ±°λ, μ΄ν΄λμκ±°λ, μλ½λμμ.
- 200 : μ€λ₯ μμ΄ μ μ‘ μ±κ³΅.
- 3XX : Redirection(λ°©ν₯ λ°κΏ). μλ£μ μμΉκ° λ°λμμ.
- 4XX : Client Error(ν΄λΌμ΄μΈνΈ μ€λ₯). ν΄λΌμ΄μΈνΈ μΈ‘μ μ€λ₯. μ£Όμλ₯Ό μλͺ» μ λ ₯νμκ±°λ μμ²μ΄ μλͺ» λμμ.
- 5XX : Server Error(μλ² μ€λ₯). μλ² μΈ‘μ μ€λ₯λ‘ μ¬λ°λ₯Έ μμ²μ μ²λ¦¬ν μ μμ.
λ μμΈν μ 보λ λ€μ μΆμ²λ₯Ό μ½μ΄λ³΄μ.
μΆμ² :
'iOS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
iOS) UIScrollViewDelegate μ λν΄ μμ보μ(Scrolling and Dragging) (0) | 2021.10.06 |
---|---|
iOS) UITextField μ λ€λ€λ³΄μ (ν λ리/ν€λ³΄λμ λ€μ΄) (2) | 2021.10.05 |
iOS) ν΄λ¦½λ³΄λ(UIPasteboard)μ 볡μ¬νκΈ° (0) | 2021.09.29 |
iOS) UITextField placeholder μ λ³κ²½νκΈ° (0) | 2021.09.28 |
iOS) URLSession μ λν΄μ μμ보μ(2/2) - μ€μ (0) | 2021.09.18 |
- projectsetting
- MVVM
- WidgetKit
- Protocol
- UserDefaults
- watchOS
- 2022 KAKAO TECH INTERNSHIP
- YPImagePicker
- containerBackground
- rxswift
- Notification
- SwiftUI
- Objective-C
- Swift
- MOYA
- Algorithm
- CloneCoding
- μλ²ν΅μ
- Firebase
- urlsession
- RxCocoa
- OpenSourceLibrary
- WWDC
- Widget
- APNS
- WWDC22
- github
- async/await
- IOS
- configurable widget
μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Total
- Today
- Yesterday