웹스크래핑과 데이터 수집

Chapter 1-3 HTTP Method : GET 방식

Chansman 2025. 4. 15. 13:19

📌 HTTP Method: GET 방식

HTTP Method는 웹에서 클라이언트와 서버 간에 데이터를 주고받기 위한 전송 규약인 HTTP 프로토콜을 사용하여 이루어집니다. 대표적인 HTTP Method로는 GET, POST, PUT, DELETE가 있습니다.

💡 **HTTP**는 **Hyper Text Transfer Protocol**의 약자로, 웹에서 클라이언트와 서버 간에 **Request(요청)**과 **Response(응답)**으로 데이터를 주고받을 수 있게 해주는 프로토콜입니다.


🚦 HTTP 요청 메시지와 응답 메시지 구조

HTTP 요청 메시지HTTP 응답 메시지
요청 라인   상태 라인
헤더 : 요청 헤더   헤더 : 응답 헤더
공백 라인   공백 라인
본문 : 요청 메시지   본문 : 응답 메시지

💻 GET 방식

GET 방식은 클라이언트가 서버로부터 리소스를 얻기 위해 데이터를 요청하는 방식입니다. GET은 데이터를 읽을 때만 사용하며, 서버에서 데이터를 수정하지 않습니다.

주요 특징

  • URL에 데이터를 포함하여 서버로 요청합니다.
  • 데이터를 쿼리스트링(QueryString) 형식으로 보내며, URL에 포함됩니다.
  • 데이터 전송량 제한: GET 방식은 URL 길이에 제한이 있어, 한 번에 많은 양의 데이터를 전송할 수 없습니다.
  • 데이터 수정 X: GET 방식은 데이터를 수정하지 않으며, 오직 조회만을 수행합니다.

예시:
URL에서 쿼리스트링을 사용하여 요청을 보냅니다.

GET /all?query=커피원두&vertical=search HTTP/1.1   <- 요청 라인
Host: www.oz.com               <- 요청 헤더
User-Agent: Mozilla/4.0        <- 요청 헤더
Accept: */*                    <- 요청 헤더

------------------------------ <- 공백라인

쿼리스트링(QueryString)

쿼리스트링은 변수=값 형태로 데이터를 URL에 포함시켜 서버로 전송하는 방식입니다. 여러 변수는 **&**로 연결됩니다.

예시:

www.example-url.com/resources?user1=value1&email2=value2
  • 변수: user1, email2
  • : value1, value2

네이버 쇼핑 검색 예시

네이버 쇼핑 검색 URL 예시

  • 최소 가격(minPrice): 8000
  • 최대 가격(maxPrice): 12000

✅ GET 방식 특징

  • 캐시 가능: HTTP 헤더에서 cache-control 헤더를 사용하여 캐시 옵션을 지정할 수 있습니다.
  • 브라우저 기록에 남음: GET 요청은 브라우저의 기록에 저장되므로, 이전 요청을 다시 확인할 수 있습니다.
  • 북마크 가능: GET 방식은 URL에 데이터를 포함하기 때문에 북마크에 추가할 수 있습니다.
  • 데이터 길이 제한: 브라우저마다 URL 길이에 제한이 있어, 긴 데이터는 전송할 수 없습니다.
  • 민감한 정보 전송 금지: URL에 데이터가 노출되므로 민감한 정보를 전송하는 데 적합하지 않습니다.
  • Idempotent: 동일한 요청에 대해 항상 같은 응답을 받습니다. 조회 작업에 자주 사용됩니다.

✅ POST 방식 간단 소개

POST 방식은 데이터를 서버에 전송하여 서버의 리소스를 생성하거나 수정할 때 사용됩니다. GET 방식과 달리 데이터를 요청 본문에 포함시켜 서버로 전송합니다.

POST /create_member HTTP/1.1   <- 요청 라인
Host: www.oz.com:8000           <- 요청 헤더
Connection: Keep-alive          <- 요청 헤더
Content-type: application/json  <- 요청 헤더

------------------------------ <- 공백라인

{"name": "farmer", "job": "100su"}
  • POST 방식은 GET 방식보다 더 많은 데이터를 전송할 수 있으며, 민감한 데이터도 안전하게 전송할 수 있습니다.