Requests는 파이썬 프로그래밍 언어용 HTTP 클라이언트 라이브러리이다. 2011년 케네스 레이츠(Kenneth Reitz)에 의해 최초 공개되었으며, 이후 오픈소스 커뮤니티에 의해 지속적으로 유지·보수된다. 이 라이브러리는 인간이 읽기 쉬운 코드 형태로 HTTP 요청을 전송하고, 응답을 처리할 수 있도록 설계되었다. 주요 특징으로는 다음과 같다.
- 단순하고 직관적인 API –
requests.get(),requests.post()등 함수 호출만으로 다양한 HTTP 메서드를 사용할 수 있다. - 자동 인코딩 처리 – 서버가 반환한 콘텐츠의 문자 인코딩을 자동으로 감지·디코딩한다.
- 쿠키와 세션 관리 –
requests.Session객체를 통해 쿠키와 연결된 상태를 유지하면서 연속적인 요청을 수행한다. - SSL 인증서 검증 – 기본적으로 HTTPS 연결 시 서버 인증서를 검증하며, 필요시 커스텀 인증서나 비활성화 옵션을 제공한다.
- 스트리밍 다운로드 – 큰 응답 본문을 메모리 사용량을 최소화하면서 순차적으로 읽을 수 있다.
Requests는 파이썬 표준 라이브러리인 urllib와 비교했을 때, 사용 편의성 및 가독성 면에서 널리 선호된다. 현재 PyPI(Python Package Index)에서 배포되고 있으며, pip install requests 명령으로 설치할 수 있다. 공식 문서는 https://docs.python-requests.org 에서 제공된다.
어원
‘Requests’라는 명칭은 HTTP 프로토콜에서 클라이언트가 서버에 전송하는 “요청(request)”을 의미한다. 라이브러리의 목적이 바로 이러한 요청을 간편하게 생성하고 전송하는 데 초점을 맞추고 있기 때문에 직관적인 명칭으로 선택된 것으로 추정된다.
사용 맥락
웹 스크래핑, API 연동, 테스트 자동화, 마이크로서비스 간 통신 등 다양한 네트워크 프로그래밍 상황에서 활용된다. 또한, 교육 및 학습 목적의 예제 코드에서도 자주 언급된다.
버전 관리 및 라이선스
Requests는 Apache License 2.0 하에 배포되며, GitHub 저장소(https://github.com/psf/requests)에서 소스 코드와 버전 기록을 확인할 수 있다. 최신 안정화 버전은 2023년 기준으로 2.31.0이다.
위 내용은 공개된 문서와 공식 릴리스 정보를 기반으로 하며, 확인되지 않은 추측은 포함되지 않는다.