Guidelines

HTTP μš”μ²­ 및 응닡

μ›Ήμ—μ„œ μ›Ή λΈŒλΌμš°μ €(ν΄λΌμ΄μ–ΈνŠΈ)와 μ›Ή μ„œλ²„ κ°„μ˜ 데이터λ₯Ό κ΅ν™˜ν•  λ•Œ HTTP(HyperText Transfer Protocol)λΌλŠ” ν”„λ‘œν† μ½œ(톡신 κ·œμ•½)을 μ‚¬μš©ν•©λ‹ˆλ‹€.

μ›Ή λΈŒλΌμš°μ €κ°€ μ›Ή μ„œλ²„μ— 데이터λ₯Ό μš”μ²­(Request)ν•˜λ©΄, μ›Ή μ„œλ²„λŠ” μš”μ²­μ— λŒ€ν•œ 응닡(Response)을 λ°˜ν™˜ν•©λ‹ˆλ‹€.


HTTP μš”μ²­(Request)

HTTP μš”μ²­μ€ μ›Ή λΈŒλΌμš°μ €κ°€ μ›Ή μ„œλ²„μ—κ²Œ λ³΄λ‚΄λŠ” λ©”μ‹œμ§€λ₯Ό λœ»ν•©λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ νŠΉμ • μ›Ή νŽ˜μ΄μ§€λ₯Ό μ—΄λžŒν•˜κ±°λ‚˜ μ‚¬μš©μžκ°€ μž…λ ₯ν•œ 데이터λ₯Ό μ›Ή μ„œλ²„μ— μ „μ†‘ν•˜λŠ” 경우, μ›Ή λΈŒλΌμš°μ €λŠ” ν•΄λ‹Ή μ›Ή μ„œλ²„μ— HTTP μš”μ²­μ„ λ³΄λƒ…λ‹ˆλ‹€.

κ°€μž₯ 기본적인 μš”μ²­ μœ ν˜•μ€ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

  • GET: μ„œλ²„λ‘œλΆ€ν„° 데이터λ₯Ό μš”μ²­ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, μ›Ή νŽ˜μ΄μ§€λ‚˜ 이미지λ₯Ό 뢈러올 λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.

  • POST: μ„œλ²„λ‘œ 데이터λ₯Ό μ „μ†‘ν•˜μ—¬ ν•΄λ‹Ή 데이터λ₯Ό 기반으둜 μš”μ²­λœ μžμ›μ„ μ²˜λ¦¬ν•˜λ„λ‘ ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, μ›Ή 폼을 μ œμΆœν•  λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.

μš”μ²­μ€ μ£Όμ†Œ(URL), μš”μ²­ 방식(GET, POST λ“±), 헀더(예: μš”μ²­μ— λŒ€ν•œ 메타데이터와 μΏ ν‚€ λ“±), 그리고 μš”μ²­ λ³Έλ¬Έ(POST μš”μ²­ μ‹œ μ „μ†‘λ˜λŠ” 데이터)을 포함할 수 μžˆμŠ΅λ‹ˆλ‹€.

requests 라이브러리λ₯Ό μ‚¬μš© μ˜ˆμ‹œ
# requests 라이브러리λ₯Ό μ‚¬μš©ν•˜μ—¬ HTTP μš”μ²­ 보내기 import requests url = 'http://example.com' # μš”μ²­ν•  μ›Ή νŽ˜μ΄μ§€μ˜ URL response = requests.get(url) # GET μš”μ²­μ„ 보냄 print(response.text) # μ›Ή νŽ˜μ΄μ§€μ˜ HTML λ‚΄μš© 좜λ ₯

HTTP 응닡(Response)

HTTP 응닡은 μ›Ή μ„œλ²„κ°€ ν΄λΌμ΄μ–ΈνŠΈμ˜ μš”μ²­μ— λŒ€ν•΄ λ³΄λ‚΄λŠ” λ©”μ‹œμ§€μž…λ‹ˆλ‹€.

이 응닡은 μš”μ²­μ΄ 성곡/μ‹€νŒ¨λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μƒνƒœ μ½”λ“œ, μ„œλ²„ 정보, μ„œλ²„λ‘œλΆ€ν„° λ°˜ν™˜λœ 데이터 등을 ν¬ν•¨ν•©λ‹ˆλ‹€.

μƒνƒœ μ½”λ“œ μ˜ˆμ‹œλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€,

  • 200 OK: μš”μ²­μ΄ μ„±κ³΅μ μœΌλ‘œ μ²˜λ¦¬λμŒμ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

  • 404 Not Found: μš”μ²­ν•œ λ¦¬μ†ŒμŠ€λ₯Ό 찾을 수 μ—†μŒμ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

  • 500 Internal Server Error: μ„œλ²„ λ‚΄λΆ€ 였λ₯˜κ°€ λ°œμƒν•¨μ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

응닡 μ—­μ‹œ 헀더와 본문을 포함할 수 μžˆμŠ΅λ‹ˆλ‹€.

ν—€λ”λŠ” 응닡에 λŒ€ν•œ 메타데이터(예λ₯Ό λ“€μ–΄ μ½˜ν…μΈ  μœ ν˜•)λ₯Ό μ œκ³΅ν•˜κ³ , 본문은 μ‹€μ œλ‘œ λ°˜ν™˜λ˜λŠ” 데이터(HTML λ¬Έμ„œ, 이미지 λ“±)λ₯Ό λ‹΄κ³  μžˆμŠ΅λ‹ˆλ‹€.

requests 라이브러리λ₯Ό μ‚¬μš© μ˜ˆμ‹œ
# requests 라이브러리둜 HTTP 응닡 λ°›κΈ° import requests url = 'http://example.com' response = requests.get(url) print(response.status_code) # μƒνƒœ μ½”λ“œ 좜λ ₯ print(response.headers) # 응닡 헀더 좜λ ₯ print(response.text) # 응닡 λ³Έλ¬Έ 좜λ ₯

μ›Ή νŽ˜μ΄μ§€λ₯Ό λΆˆλŸ¬μ˜€λŠ” κ³Όμ •

  1. μš”μ²­: μ‚¬μš©μžκ°€ μ›Ή λΈŒλΌμš°μ €μ˜ μ£Όμ†Œμ°½μ— URL을 μž…λ ₯ν•˜κ³  μ—”ν„°λ₯Ό λˆ„λ₯΄λ©΄, λΈŒλΌμš°μ €λŠ” ν•΄λ‹Ή URL의 μ›Ή μ„œλ²„μ— HTTP μš”μ²­μ„ λ³΄λƒ…λ‹ˆλ‹€.

  2. 처리: μ›Ή μ„œλ²„λŠ” 이 μš”μ²­μ„ λ°›μ•„ μ²˜λ¦¬ν•œ ν›„, μš”μ²­λœ 데이터 및 μ›Ή νŽ˜μ΄μ§€λ₯Ό HTTP μ‘λ‹΅μœΌλ‘œ ν΄λΌμ΄μ–ΈνŠΈμ— λ°˜ν™˜ν•©λ‹ˆλ‹€.

  3. 응닡: λΈŒλΌμš°μ €λŠ” 응닡 κ²°κ³Όλ₯Ό νŒŒμ‹±ν•˜μ—¬ μ›Ή νŽ˜μ΄μ§€μ˜ λ‚΄μš©μ„ 화면에 λ Œλ”λ§ν•©λ‹ˆλ‹€.


μ‹€μŠ΅

ν™”λ©΄ 였λ₯Έμͺ½ μ½”λ“œ μ‹€ν–‰ λ²„νŠΌμ„ λˆ„λ₯΄κ³ , 크둀링 κ²°κ³Όλ₯Ό ν™•μΈν•˜κ±°λ‚˜ μ½”λ“œλ₯Ό μˆ˜μ •ν•΄ λ³΄μ„Έμš”!

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result