π[Web] HTTP μμ² νμ±μ λν΄μβ¦
π HTTP μμ² νμ±μ λν΄μβ¦
νμ±
μ΄λ μ΄λ€ κ°μ λν΄μ λ΄κ° μνλ κ°μ λ½μμ€λ λμμ΄λΌκ³ μκ°ν μ μλ€.
Httpμ λν μ 보λ βHttpμ λν΄μβ¦βμμ μ‘°κΈ λ μμΈν κΈ°λ‘νλ€.
1. Http μμ² νμ
- GET
- POST
- PUT
- DELETE
- OPTIONS
1-1. Http μμ² λ©μμ§μ ꡬ쑰
- request line
Http requestμ 첫 λΌμΈμ΄λ©° 3λΆλΆμΌλ‘ ꡬμ±λλ€.
- Http Method :
GET
,POST
λ±μ λμ μ μ - Request target : requestκ° μ μ‘λλ uri
- Http Version
- Http Method :
- request headers
requestμ λν
metaμ 보
λ₯Ό λ΄κ³ μμΌλ©°,ν€:κ°
νμμΌλ‘ λμ΄μμ.- Host : requestκ° μ μ‘λλ targetμ host url
- accept : ν΄λΉ requestκ° λ°μ μ μλ
response
μ νμ - user-Agent : μμ²μ 보λ΄λ ν΄λΌμ΄μΈνΈμ λν μ 보
- Content-Length : request λ©μμ§μ κΈΈμ΄
- request message body
request λ©μμ§μ λ³Έλ¬Έ λ΄μ©μ λ΄κ³ μμ.
- μ€μ λ©μμ§/λ΄μ©μ΄ λ€μ΄μμ
xml
μ΄λjson
λ°μ΄ν°κ° λ€μ΄κ° μ μμ.GET
μ bodyκ° λλΆλΆ μμ
1-2. Http μλ΅ λ©μμ§μ ꡬ쑰
-
status line reponseμ
μν(state)
λ₯Ό λνλ. - response headers
request
μ ν€λμ λμΌν¨- responseμμλ§ μ¬μ©λλ ν€λκ°μ΄ μλ€.
- ex) User-Agent λμ Server
- responseμμλ§ μ¬μ©λλ ν€λκ°μ΄ μλ€.
- response body μ€μ μλ΅νλ λ°μ΄ν°λ₯Ό λνλ
2. Http Request νμ±μ½λ (Python)
Python 3.11.0
μ μ¬μ©νμ¬ Http μμ²μ λν κ²°κ³Όλ₯Ό νμ±ν΄λ³΄μ.
# https://foss4g.tistory.com/1617
import requests
from bs4 import BeautifulSoup
# μ§μ ν urlμ λ°λ₯Έ html_docμ ν΅ν΄ ν΄λΉ νμ΄μ§μ html νμΈ
r = requests.get('https://search.naver.com/search.naver?where=news&sm=tab_jum&query=%EC%9B%94%EB%93%9C%EC%BB%B5')
html_doc = r.text
# print(html_doc)
# html_docμ Beautiful Soupμ ν΅ν΄ μ΄κΈ°
soup = BeautifulSoup(html_doc, 'html.parser')
# print(soup.prettify())
# for link in soup.find_all('a'):
# print(link.get('href'))
news_tit = soup.findAll("a", {"class":"news_tit"})
# print(news_tit)
# λ€μ΄λ² λ΄μ€ μ λͺ© νμ±
for i in range(len(news_tit)):
print(news_tit[i].get('title'))
3. Postman
Postman
μ΄λ API
κ°λ°μ κ΄ν΄ μ¬λ¬ νΈμ κΈ°λ₯μ μ 곡νλ ν΄μ΄λ€.
APIκ°λ°μ λΉ λ₯΄κ³ μ½κ² ν μ μκ² λμμ£Όκ³ , κ°λ°λ APIλ₯Ό ν
μ€νΈ & λ¬Έμν, 곡μ κΈ°λ₯ λ±μ΄ μλ€.
λ€μμΌλ‘ API μμ²μ λν μλ΅μ νμΈν μ μλ€.
3-1. Posman μ¬μ©νκΈ°
www.postman.comμμ postmanμ λ¨Όμ λ€μ΄ λ°λλ€.
[μ€ννλ©΄]
μ²μ μ€ννλ©΄μμ WORKSPACE
λ₯Ό μμ±νκ³ apiμμ² ν
μ€νΈν workspaceμ΄λ€.
κ²½κΈ°λ λ³μ μμΉμ λν open apiλ₯Ό 곡곡λ°μ΄ν°ν¬νΈμμ ν€ κ°μ λ°μ μ¬μ©ν΄λ³΄μλ€.
μ μ¬μ§μ κ²μμ°½ μμ 보면 GET
μ΄ μλλ°, POST
, PUT
λ± λ€μν μμ²λ°©μμ μ¬μ©ν μ μκ³ , μμ μ΄ μνλ apiλ₯Ό μ μ‘νλ©΄ μλμ apiμ λν λ°μ΄ν°κ° μΆλ ₯λλ€.
λκΈλ¨κΈ°κΈ°