http는 「HTTP 프로토콜의 저수준 처리」를 위한 표준 라이브러리 패키지입니다.
http.client(요청), http.server(간단한 서버), http.cookies(쿠키 관리) 등으로 나뉩니다.
http.server — 간단한 정적 파일 서버.
터미널에서 「python -m http.server 8000」 한 줄로 현재 디렉토리를 8000번 포트에 서빙합니다.
로컬 HTML 파일 테스트, 임시 파일 공유에 매우 편리.
같은 네트워크의 다른 기기에서도 IP로 접근 가능합니다.
http.client — 저수준 HTTP 클라이언트.
import http.client; conn = http.client.HTTPSConnection("example.com"); conn.request("GET", "/"); response = conn.getresponse(); print(response.read()).
urllib보다도 더 저수준이며, 거의 항상 urllib나 requests로 대체합니다.
http.cookies — 쿠키 헤더 처리.
서버에서 Set-Cookie 헤더를 만들거나 클라이언트에서 Cookie 헤더를 파싱할 때 사용합니다.
보통은 웹 프레임워크가 자동 처리하므로 직접 쓰는 일은 적습니다.
주요 사용 패턴.
1) python -m http.server로 즉석 정적 서버.
2) 외부 라이브러리 없이 간단한 HTTP 통신이 필요할 때.
3) HTTP 프로토콜 학습 — http.client는 HTTP의 동작을 가장 명시적으로 보여 줍니다.
본격적 웹 작업은 requests·FastAPI·Flask 같은 라이브러리가 표준이지만, http 모듈은 「표준 라이브러리만으로 가능한 일」의 폭을 보여 줍니다.
한 줄 요약
http 모듈은 HTTP의 저수준 처리를 위한 표준 패키지입니다.
python -m http.server로 즉석 정적 서버, http.client로 저수준 클라이언트가 가능하지만 보통 requests로 대체됩니다.
더 알아볼 것
- http.server는 프로덕션 부적합
- python -m http.server 활용 팁
- http.HTTPStatus — HTTP 상태 코드 상수