본문으로 건너뛰기
실습하기

웹 크롤링을 위한 HTTP 필수 지식

웹 크롤링을 제대로 하기 위해서는 웹 브라우저 주소창에 http://와 같이 등장하는 HTTP에 대한 이해가 필요합니다.

HTTP는 웹 브라우저와 서버 간의 통신을 담당하는 프로토콜(통신 규칙)로, 요청과 응답을 통해 데이터를 주고 받기 위한 약속입니다.

이번 수업에서는 HTTP의 기본 개념과 요청과 응답의 개념에 대해 알아보겠습니다.


HTTP는 어떻게 동작할까요?

HTTP는 클라이언트(웹 브라우저)가 서버에 데이터를 요청(Request)하고, 서버가 클라이언트에 데이터를 응답(Response)하는 방식으로 동작합니다.

요청과 응답은 주로 다음과 같은 구조로 이루어집니다


웹 크롤링을 위한 HTTP 요청과 응답 이해하기

웹 크롤링은 주로 HTTP 요청을 통해 웹 페이지의 데이터를 가져오는 과정입니다. 이때 요청과 응답의 기본 구조를 이해하면 크롤링 작업을 효율적으로 수행할 수 있습니다.

1. HTTP 요청: 데이터를 요청하는 방법

HTTP 요청은 웹 브라우저(또는 크롤링 프로그램)가 서버에 특정 정보를 요청하는 메시지입니다.

요청은 주로 다음과 같은 요소로 구성됩니다.

  • 메서드(Method) 서버에 어떤 작업을 요청할지를 정의합니다. 가장 많이 사용하는 메서드는 GETPOST입니다.
    • GET: 서버에서 데이터를 가져올 때 사용합니다. 예를 들어, 웹 페이지를 요청할 때 사용합니다.
    • POST: 서버에 데이터를 보낼 때 사용합니다. 예를 들어, 로그인 정보를 서버에 제출할 때 사용합니다.
GET 요청 예시
GET /index.html HTTP/1.1
Host: www.example.com
  • URL: 요청할 자원의 위치를 나타냅니다. 예를 들어, https://www.example.com/index.html이 URL입니다.

  • 헤더(Header): 추가적인 정보를 담고 있으며, 요청을 더 세부적으로 제어할 수 있습니다. 예를 들어, User-Agent 헤더는 요청을 보낸 클라이언트의 정보를 전달합니다.


2. HTTP 응답: 요청에 대한 답변

HTTP 응답은 서버가 클라이언트의 요청에 대해 보내는 메시지입니다.

응답은 주로 다음과 같은 요소로 구성됩니다.

상태 코드(Status Code): 요청이 성공적으로 처리되었는지, 오류가 발생했는지 등을 나타냅니다.

예를 들어, 200 OK는 요청이 성공했음을 의미하고, 404 Not Found는 요청한 자원을 찾을 수 없음을 의미합니다.

HTTP 응답 예시
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 342

<html>
<body>
<h1>Example Page</h1>
</body>
</html>
  • 헤더(Header): 응답에 대한 추가 정보를 제공합니다. 예를 들어, Content-Type 헤더는 응답의 데이터 형식을 나타냅니다.

  • 본문(Body): 요청한 자원의 실제 데이터가 여기에 포함됩니다. 웹 페이지의 HTML, 이미지, JSON 데이터 등이 여기에 포함될 수 있습니다.


웹 크롤링에서는 주로 GET 요청을 통해 웹 페이지의 HTML 데이터를 가져옵니다.

이후 서버가 반환한 응답의 상태 코드와 본문을 확인하여, 크롤링이 성공적으로 이루어졌는지 판단합니다.

HTTP 요청과 응답에 대한 이해가 있으면 웹 크롤링을 수행할 때 어떤 데이터를 요청하고, 그에 대한 응답을 어떻게 처리할지 명확해집니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!