

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# coreHTTP 라이브러리
<a name="core-http"></a>

**참고**  <a name="out-of-date-message"></a>
이 페이지의 내용은 최신 상태가 아닐 수 있습니다. 최신 업데이트는 [Freertos.org 라이브러리 페이지](https://www.freertos.org/Documentation/03-Libraries/01-Library-overview/01-All-libraries)를 참조하세요.

**소형 IoT 디바이스(MCU 또는 소형 MPU)용 HTTP C 클라이언트 라이브러리**

## 소개
<a name="core-http-introduction"></a>

coreHTTP 라이브러리는 [HTTP/1.1](https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol) 표준 하위 집합의 클라이언트 구현입니다. HTTP 표준은 TCP/IP를 기반으로 실행되는 상태 비저장 프로토콜을 제공하며 분산형 협업 하이퍼텍스트 정보 시스템에서 주로 사용됩니다.

coreHTTP 라이브러리는 [HTTP/1.1](https://tools.ietf.org/html/rfc2616) 프로토콜 표준의 하위 집합을 구현합니다. 이 라이브러리는 메모리 사용량을 줄이도록 최적화되었습니다. 또한 애플리케이션이 동시성을 완전히 관리할 수 있도록 완전 동기식 API를 제공합니다. 고정 버퍼만 사용하므로 애플리케이션이 메모리 할당 전략을 완벽하게 제어할 수 있습니다.

이 라이브러리는 C로 작성되었으며 [ISO C90](https://en.wikipedia.org/wiki/ANSI_C#C90) 및 [MISRA C:2012](https://misra.org.uk/product/misra-c2012-third-edition-first-revision/)를 준수하도록 설계되었습니다. 이 라이브러리의 종속 항목은 표준 C 라이브러리와 Node.js의 [http-parser LTS 버전(v12.19.1)](https://github.com/nodejs/node/tree/v12.19.1/deps/http_parser)뿐입니다. 이 라이브러리에는 안전한 메모리 사용과 힙 할당 없음을 보여주는 [증거](https://www.cprover.org/cbmc/)가 있어 IoT 마이크로컨트롤러에 적합할 뿐만 아니라 다른 플랫폼으로도 완벽하게 이식할 수 있습니다.

IoT 애플리케이션에서 HTTP 연결을 사용할 때는 [coreHTTP 상호 인증 데모](core-http-ma-demo.md)에 설명된 대로 TLS 프로토콜을 사용하는 것과 같은 보안 전송 인터페이스를 사용하는 것이 좋습니다.

이 라이브러리는 자유롭게 사용할 수 있으며 [MIT 오픈 소스 라이선스](https://freertos.org/a00114.html)에 따라 배포됩니다.


****  

| coreHTTP 코드 크기(ARM Cortex-M용 GCC로 생성된 예제) | 파일 | -O1 최적화 | -Os 최적화 | 
| --- | --- | --- | --- | 
| core\$1http\$1client.c | 3.2K | 2.6K | 
| api.c(llhttp) | 2.6K | 2.0K | 
| http.c(llhttp) | 0.3K | 0.3K | 
| llhttp.c(llhttp) | 17.9 | 15.9 | 
| 총 추정치 | 23.9K | 20.7K | 