[π•Žπ•–π•”π• π••β…‡μ΄λ‘ ]HTTP

0

[π•Žπ•–π•”π• π••β…‡μ΄λ‘ ]HTTP

  1. HTTP Request/Response
  2. HTTP Request Methods
  3. HTTP Status Code

HTTP
-> HTTPλŠ” HyperText Trasnsfer Prorocol의 μ•½μžμ΄λ‹€

1.HyperText
λ¬Έμ„œμ™€ λ¬Έμ„œκ°€ 링크둜 μ—°κ²°λ˜λ„λ‘ ν•˜λŠ” νƒœκ·Έλ‘œ κ΅¬μ„±λœ μ–Έμ–΄λž€ λœ»μ΄λ‹€. λ‹€μ‹œ λ§ν•˜λ©΄, HTML은 μ›ΉνŽ˜μ΄μ§€λ₯Ό λ§Œλ“€κΈ° μœ„ν•΄μ„œ μ›ΉλΈŒλΌμš°μ € μœ„μ—μ„œ λ™μž‘ν•˜λŠ” μ–Έμ–΄λ₯Ό λœ»ν•œλ‹€.

2.Transfer
μš°λ¦¬λŠ” μš°λ¦¬κ°€ λ§Œλ“  μ›Ήμ‚¬μ΄νŠΈλ₯Ό 널리 μ•Œλ¦¬κ³  λ‹€λ₯Έ μ‚¬λžŒλ“€κ³Ό κ³΅μœ ν•˜κΈ° μœ„ν•΄μ„œ λ‹€λ₯Έ μ»΄ν“¨ν„°μ—κ²Œ 전솑해야 ν•œλ‹€. 그리고 전솑은 λ³΄λ‚΄λŠ” 주체와 λ°›λŠ” 주체가 μžˆλ‹€λŠ” 것이 큰 νŠΉμ§•μ΄λ‹€.

3.Protocol
ν”„λ‘œν† μ½œμ€ ν˜‘μ•½, 톡신 κ·œμ•½ μ΄λΌλŠ” 의미λ₯Ό 가진닀. 물리적으둜 떨어진 컴퓨터 끼리 μ–΄λ–»κ²Œ HTML파일(HyperText)을 μ£Όκ³  받을지에 λŒ€ν•œ 약속이닀.

HTTP Request/Response

-> μ†Œν†΅μ˜ 핡심은 μš”μ²­κ³Ό 응닡
μ‹€μ œ ν”„λ‘œμ νŠΈλ₯Ό 진행할 λ•Œ, ν”„λ‘ νŠΈμ—”λ“œμ—μ„œ λ°±μ•€λ“œμ—κ²Œ 데이터λ₯Ό μš”μ²­ν•˜κ³  λ°±μ—”λ“œλŠ” μš”μ²­μ„ μ²˜λ¦¬ν•΄μ„œ 응닡을 μ€€λ‹€. 이 μš”μ²­κ³Ό 응닡에 λŒ€ν•œ ꡬ쑰와 메세지λ₯Ό 잘 νŒŒμ•…ν•˜λ©΄ λŒ€λΆ€λΆ„μ˜ μ—λŸ¬λ₯Ό μž‘μ•„λ‚Ό 수 μžˆλ‹€.

HTTP Request Methods

-> GET/POST/DELETE

1.GET
이름 κ·ΈλŒ€λ‘œ μ–΄λ–€ 데이터λ₯Ό μ„œλ²„λ‘œ λΆ€ν„° λ°›μ•„(GET)올 λ•Œ 주둜 μ‚¬μš©ν•˜λŠ” λ©”μ†Œλ“œ

데이터λ₯Ό λ°›μ•„μ˜€κΈ°λ§Œ ν•  λ•Œ μ‚¬μš©λœλ‹€.

μž₯ κ°„λ‹¨ν•˜κ³  많이 μ‚¬μš©λ˜λŠ” HTTP λ©”μ†Œλ“œ (사싀 μš°λ¦¬κ°€ μ›ΉνŽ˜μ΄μ§€λ₯Ό λ„μšΈ λ•Œ ν•„μš”ν•œ 정보듀을 λͺ¨λ‘ GETλ©”μ†Œλ“œλ‘œ μš”μ²­μ„ λ³΄λ‚΄μ„œ λ°›μ•„μ˜¨ 응닡을 화면에 λ„μš°λŠ” 것이닀)

2.POST
데이터λ₯Ό 생성 / μˆ˜μ • ν•  λ•Œ 주둜 μ‚¬μš©λ˜λŠ” λ©”μ†Œλ“œ

데이터λ₯Ό 생성 및 μˆ˜μ • ν•  λ•Œ 많이 μ‚¬μš©λ˜κΈ° λ•Œλ¬Έμ— λŒ€λΆ€λΆ„μ˜ 경우 μš”μ²­μ— bodyκ°€ ν¬ν•¨λ˜μ„œ 보내진닀

3.DELETE
λ©”μ†Œλ“œμ˜ μ΄λ¦„μ—μ„œ μœ μΆ” κ°€λŠ₯ν•˜λ“―, νŠΉμ • 데이터λ₯Ό μ„œλ²„μ—μ„œ μ‚­μ œ μš”μ²­μ„ λ³΄λ‚Όλ•Œ μ“°λŠ” λ©”μ†Œλ“œ

HTTP Status Code

200: OK

  • κ°€μž₯ 자주 λ³΄κ²Œλ˜λŠ” Status Code
  • λ¬Έμ œμ—†μ΄ μš”μ²­μ— λŒ€ν•œ μ²˜λ¦¬κ°€ λ°±μ—”λ“œ μ„œλ²„μ—μ„œ 이루어지고 λ‚˜μ„œ μ˜€λŠ” μ‘λ‹΅μ½”λ“œ
  • μš°λ¦¬λŠ” λͺ¨λ‘ 200 OK λ₯Ό μ›ν•œλ‹€

201: Created

  • 무언가가 잘 μƒμ„±λ˜μ—ˆμ„ λ•Œμ—(Successfully Created) μ˜€λŠ” Status Code
  • λŒ€κ²Œ POST λ©”μ†Œλ“œμ˜ μš”μ²­μ— 따라 λ°±μ—”λ“œ μ„œλ²„μ— 데이터가 잘 생성 λ˜λŠ” μˆ˜μ • λ˜μ—ˆμ„ λ•Œμ— λ³΄λ‚΄λŠ” μ½”λ“œ

400: Bad Request

  • ν•΄λ‹Ή μš”μ²­μ΄ 잘λͺ»λ˜μ—ˆμ„ λ•Œ λ³΄λ‚΄λŠ” Status Code
  • 주둜 μš”μ²­μ˜ Body에 λ³΄λ‚΄λŠ” λ‚΄μš©μ΄ 잘λͺ»λ˜μ—ˆμ„ λ•Œ μ‚¬μš©λ˜λŠ” μ½”λ“œ
    ex) μ „ν™”λ²ˆν˜Έλ₯Ό 보내야 ν•˜λŠ”λ° μˆ«μžκ°€ μ•„λ‹Œ λ¬Έμžμ—΄μ˜ μ£Όμ†Œκ°€ λŒ€μ‹  Body에 담겼을 경우

401: Unauthorized

  • μœ μ €κ°€ ν•΄λ‹Ή μš”μ²­μ„ μ§„ν–‰ν•˜λ €λ©΄ λ¨Όμ € λ‘œκ·ΈμΈμ„ ν•˜κ±°λ‚˜ νšŒμ›κ°€μž…μ΄ ν•„μš”ν•˜λ‹€λŠ” 의미
    ex) wish list, μ’‹μ•„μš” κΈ°λŠ₯은 νšŒμ›μ΄ μ•„λ‹ˆλ©΄ μš”μ²­μ„ 보낼 수 μ—†μŒ

403: Forbidden

  • μœ μ €κ°€ ν•΄λ‹Ή μš”μ²­μ— λŒ€ν•œ κΆŒν•œμ΄ μ—†λ‹€λŠ” 뜻
  • μ ‘κ·Ό λΆˆκ°€λŠ₯ν•œ 정보에 μ ‘κ·Όν–ˆμ„ 경우
    ex) 였직 μœ λ£ŒνšŒμ›λ§Œ μ ‘κ·Όν•  수 μžˆλŠ” 데이터λ₯Ό μš”μ²­ ν–ˆμ„ λ•Œ

404: Not Found

  • μš”μ²­λœ URI κ°€ μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” 의미

500: Internal Server Error

  • μ„œλ²„μ—μ„œ μ—λŸ¬κ°€ 났을 λ•Œμ˜ Status Code
  • API κ°œλ°œμ„ ν•˜λŠ” λ°±μ—”λ“œ κ°œλ°œμžλ“€μ΄ μ‹«μ–΄ν•˜λŠ” μ½”λ“œ (ν”„λ‘ νŠΈλŠ” λ‚΄ 잘λͺ» μ•„λ‹ˆλΌλŠ” 것을 μ•Œ 수 μžˆλŠ” μ½”λ“œ)

0개의 λŒ“κΈ€