Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

TCP 소켓 기반 HTTP 서버

이 프로젝트는 Python의 TCP 소켓(socket API) 을 사용하여
간단한 HTTP 서버와 클라이언트를 직접 구현한 예제입니다.

Flask, FastAPI와 같은 웹 프레임워크를 사용하지 않고,
TCP 위에서 HTTP 요청(Request)과 응답(Response)이 어떻게 동작하는지
직접 구현하며 이해하는 것을 목표로 합니다.


📌 주요 기능

  • TCP 소켓 기반 클라이언트–서버 통신
  • HTTP/1.1 요청 및 응답 메시지 직접 처리
  • 다음 HTTP 메서드 지원
    • GET
    • HEAD
    • POST
    • PUT
  • JSON 파일(data.json)을 이용한 간단한 데이터 저장
  • Thread를 이용한 다중 클라이언트 처리

📂 프로젝트 구조

├── server.py    # TCP 소켓 기반 HTTP 서버
├── client.py    # HTTP 요청 테스트용 클라이언트
├── README.md    # 프로젝트 설명 (GitHub용)
└── .gitignore

⚙️ 실행 환경

  • 운영체제: macOS / Linux
  • Python 버전: Python 3.9 이상
  • 외부 라이브러리: 없음 (표준 라이브러리만 사용)

▶️ 실행 방법

1. 서버 실행

python server.py

2. 클라이언트 실행

python client.py

클라이언트는 서버로 여러 HTTP 요청을 전송하고, 서버로부터 받은 응답을 콘솔에 출력합니다.


🧪 지원하는 API

본 서버는 /users 리소스에 대해 다음 HTTP 요청을 지원합니다.

Method Path 설명
GET /users/{id} 사용자 정보 조회
HEAD /users/{id} 사용자 존재 여부 확인
POST /users 사용자 생성
PUT /users/{id} 사용자 정보 수정 또는 생성

📖 추가 문서

TCP 소켓 통신 흐름, 시스템 구조, HTTP 요청/응답 처리 과정, Wireshark를 이용한 패킷 캡처 분석 등 자세한 설명은 과제 제출용 문서(README/Keynote)에서 별도로 다룹니다.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages