ν‹°μŠ€ν† λ¦¬ λ·°

728x90
λ°˜μ‘ν˜•

πŸ• HTTP 톡신

HTTP 톡신은 client κ°€ 데이터가 ν•„μš”ν•  λ•Œλ§ˆλ‹€ server μ—κ²Œ μš”μ²­ν•˜κ³ , server λŠ” κ·Έ 데이터λ₯Ό μ‘λ‹΅ν•˜κ³  λ°”λ‘œ 연결이 μ’…λ£Œλ˜λŠ” 방식이닀.

μŠ€ν¬λ¦°μƒ· 2021-10-04 μ˜€ν›„ 12 51 32

이처럼 HTTP 톡신은 단방ν–₯ ν†΅μ‹ μ΄λΌμ„œ client 만 server μ—κ²Œ μš”μ²­ν•  수 있고 server λŠ” client 에 μš”μ²­ν•  수 μ—†λ‹€. μ‘λ‹΅λ§Œ κ°€λŠ₯ν•˜λ‹€.

μ‹€μ‹œκ°„μœΌλ‘œ μ„œλΉ„μŠ€ν•΄μ•Όν•  경우λ₯Ό μ œμ™Έν•˜κ³  HTTP 톡신을 μ‚¬μš©ν•˜λŠ”λ° server 의 뢀담을 쀄여쀀닀.

πŸ• HTTP λ©”μ‹œμ§€

client κ°€ server μ—κ²Œ μš”μ²­ν•  λ•Œ μΌμ •ν•œ ν˜•μ‹μ„ κ°–μΆ°μ„œ ν…μŠ€νŠΈ 기반의 λ©”μ‹œμ§€λ‘œ λ³€ν™˜ν•΄μ„œ μ „λ‹¬ν•΄μ•Όν•œλ‹€. κ·Έ ν˜•μ‹μ„ HTTP λ©”μ‹œμ§€λΌκ³  ν•œλ‹€.

ꡬ쑰

μš”μ²­λ©”μ‹œμ§€μ™€ 응닡 λ©”μ‹œμ§€λ₯Ό μ•Œμ•„λ³΄μž. κ³΅ν†΅μ μœΌλ‘œ 라인 - 헀더 - λ°”λ”” 둜 κ΅¬μ„±λœλ‹€.

μŠ€ν¬λ¦°μƒ· 2021-10-04 μ˜€ν›„ 12 58 12

라인

λ©”μ‹œμ§€μ˜ κ°€μž₯ κΈ°λ³Έ λ‚΄μš©μΈ 응닡/μš”μ²­ μ—¬λΆ€, λ©”μ‹œμ§€ 전솑 방식, μƒνƒœ 등이 μž‘μ„±. ν•œμ€„.

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

1

(좜처λ₯Ό 남긴 λΈ”λ‘œκ·Έ 속 μ˜ˆμ‹œλ₯Ό κ°€μ Έμ™”λ‹€.)

νŠΉμ§•

  • 헀더에 Content-Type 을 μž‘μ„±
  • 바디에 Content-Type 에 λ§žλŠ” 데이터λ₯Ό λ„£λŠ” 것.

GET

2

(좜처λ₯Ό 남긴 λΈ”λ‘œκ·Έ 속 μ˜ˆμ‹œλ₯Ό κ°€μ Έμ™”λ‹€.)

νŠΉμ§•

  • 헀더가 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(μ„œλ²„ 였λ₯˜). μ„œλ²„ 츑의 였λ₯˜λ‘œ μ˜¬λ°”λ₯Έ μš”μ²­μ„ μ²˜λ¦¬ν•  수 μ—†μŒ.

더 μžμ„Έν•œ μ •λ³΄λŠ” λ‹€μŒ 좜처λ₯Ό μ½μ–΄λ³΄μž.

좜처 :

HTTP - μœ„ν‚€λ°±κ³Ό, 우리 λͺ¨λ‘μ˜ 백과사전

728x90
λ°˜μ‘ν˜•
λŒ“κΈ€
μ΅œκ·Όμ— 올라온 κΈ€
μ΅œκ·Όμ— 달린 λŒ“κΈ€
κΈ€ 보관함
Β«   2024/12   Β»
일 μ›” ν™” 수 λͺ© 금 ν† 
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