인터넷에서 데이터를 주고받고 싶을 때 가장 먼저 알아야 할 개념이 바로 리퀘스트(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
'개발 > Python 프로젝트: 주식 자동 매매' 카테고리의 다른 글
| [주식 자동 매매] 5. 주식 투자 자동화 프로젝트 정리 (0) | 2025.12.20 |
|---|---|
| [주식 자동 매매] 4. 투자 전략 소개(이동평균선 활용) (0) | 2025.12.20 |
| [주식 자동 매매] 3. 한국투자증권 오픈 API로 주식 데이터 가져오기 (파이썬 예제 포함) (0) | 2025.12.20 |
| [주식 자동 매매] 2. requests 모듈 사용법 (0) | 2025.12.20 |