개발/Python 프로젝트: 주식 자동 매매

[주식 자동 매매] 1. 리퀘스트(Request)와 리스폰스(Response) 쉽게 정리

honeypeach 2025. 12. 20. 20:10

인터넷에서 데이터를 주고받고 싶을 때 가장 먼저 알아야 할 개념이 바로 리퀘스트(Request)  리스폰스(Response) 입니다.

이 글에서는 웹 개발 초보자를 위해 서버와 클라이언트, 그리고 HTTP 통신의 기본 구조를 간단하게 정리해봅니다.


1. 서버(Server)와 클라이언트(Client)

웹에서는 항상 두 주체가 등장합니다.

  • 서버(Server)
    → 데이터를 제공하는 쪽
  • 클라이언트(Client)
    → 데이터를 요청하는 쪽

예시

  • 우리가 네이버를 사용할 때
     브라우저 = 클라이언트, 네이버 = 서버
  • 내가 만든 파이썬 프로그램이
     클라이언트, 한국투자증권 API = 서버가 될 수도 있음

즉, 누가 요청하느냐가 클라이언트, 누가 응답하느냐가 서버입니다.


2. HTTP란 무엇일까?

HTTP(HyperText Transfer Protocol) 
서버와 클라이언트가 데이터를 주고받기 위한 약속(규칙) 입니다.

  • 서버와 클라이언트는 HTTP라는 공통된 규칙으로 대화함
  • 이 규칙 덕분에 서로 다른 프로그램, 언어, 시스템끼리도 통신 가능

👉 웹 통신의 기본 언어라고 생각하면 됩니다.


3. 리퀘스트(Request)와 리스폰스(Response)

웹 통신의 핵심 흐름은 아주 단순합니다.

  • 리퀘스트(Request)
    → 클라이언트가 서버로 보내는 요청
  • 리스폰스(Response)
    → 서버가 클라이언트로 보내는 응답

한 문장으로 정리하면 👇
“클라이언트가 필요할 때 리퀘스트로 요청하고, 서버가 리스폰스로 응답한다.”


4. HTTP 요청(Request)의 구성 요소

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

구성 요소설명

메소드(Method) 요청의 종류 (GET, POST 등)
주소(URL) 요청을 보낼 서버의 위치
쿼리 파라미터 ?key=value 형태로 전달하는 추가 정보
헤더(Header) Content-Type 등 부가 정보
바디(Body) 실제로 전달할 데이터 (주로 JSON)

자주 쓰는 메소드

  • GET : 데이터 조회
  • POST : 데이터 생성/전송

5. JSON이란?

JSON(JavaScript Object Notation) 
서버와 클라이언트가 데이터를 주고받을 때 가장 많이 사용하는 데이터 형식입니다.

JSON 특징

  • 파이썬의 딕셔너리(dict) 와 구조가 매우 비슷
  • 사람이 읽기 쉽고, 컴퓨터가 처리하기도 쉬움
  • 데이터 전송 시 보통 헤더에 아래 내용을 포함
     Content-Type: application/json

JSON 예시

{
  "name": "Codeit",
  "age": 3
}

6. 정리

  • 클라이언트는 서버에 리퀘스트(Request) 로 요청을 보냄
  • 서버는 요청을 처리한 뒤 리스폰스(Response) 로 응답함
  • 이 과정은 HTTP 규칙을 기반으로 이루어짐
  • 요청에는 메소드, 주소, 쿼리 파라미터, 헤더, 바디가 포함될 수 있음
  • 데이터는 주로 JSON 형식으로 주고받음

👉 이 개념들을 이해하면
API 사용, requests 모듈 학습, 웹 크롤링까지 훨씬 수월해집니다.

 

728x90