

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# CoreHTTP-Bibliothek
<a name="core-http"></a>

**Anmerkung**  <a name="out-of-date-message"></a>
Der Inhalt dieser Seite ist möglicherweise nicht. up-to-date Das neueste Update finden Sie auf der [FreeRTOS.org-Bibliotheksseite](https://www.freertos.org/Documentation/03-Libraries/01-Library-overview/01-All-libraries).

**HTTP-C-Clientbibliothek für kleine IoT-Geräte (MCU oder kleine MPU)**

## Einführung
<a name="core-http-introduction"></a>

[Die CoreHTTP-Bibliothek ist eine Client-Implementierung einer Teilmenge des HTTP/1.1-Standards.](https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol) Der HTTP-Standard bietet ein zustandsloses Protokoll, das auf TCP/IP aufbaut und häufig in verteilten, kollaborativen Hypertext-Informationssystemen verwendet wird.

[Die CoreHTTP-Bibliothek implementiert eine Teilmenge des HTTP/1.1-Protokollstandards.](https://tools.ietf.org/html/rfc2616) Diese Bibliothek wurde für einen geringen Speicherbedarf optimiert. Die Bibliothek bietet eine vollständig synchrone API, sodass Anwendungen ihre Parallelität vollständig verwalten können. Sie verwendet nur feste Puffer, sodass Anwendungen die vollständige Kontrolle über ihre Speicherzuweisungsstrategie haben.

Die Bibliothek ist in C geschrieben und so konzipiert, dass sie [ISO C90 und [MISRA](https://misra.org.uk/product/misra-c2012-third-edition-first-revision/) C:2012](https://en.wikipedia.org/wiki/ANSI_C#C90) entspricht. Die einzigen Abhängigkeiten der Bibliothek sind die Standard-C-Bibliothek und die [LTS-Version (v12.19.1](https://github.com/nodejs/node/tree/v12.19.1/deps/http_parser)) des HTTP-Parsers von Node.js. Die Bibliothek verfügt über [Beweise](https://www.cprover.org/cbmc/) für eine sichere Speichernutzung und keine Heap-Zuweisung, sodass sie für IoT-Mikrocontroller geeignet ist, aber auch vollständig auf andere Plattformen portierbar ist.

Bei der Verwendung von HTTP-Verbindungen in IoT-Anwendungen empfehlen wir, eine sichere Transportschnittstelle zu verwenden, z. B. eine, die das TLS-Protokoll verwendet, wie in der gezeigt[Demo zur gegenseitigen CoreHTTP-Authentifizierung](core-http-ma-demo.md).

Diese Bibliothek kann frei verwendet werden und wird unter der [MIT-Open-Source-Lizenz](https://freertos.org/a00114.html) vertrieben.


****  

| Codegröße von CoreHTTP (mit GCC für ARM Cortex-M generiertes Beispiel) | Datei | Mit -O1-Optimierung | Mit -Os-Optimierung | 
| --- | --- | --- | --- | 
| core\$1http\$1client.c | 3,2 K | 2,6 K | 
| api.c (llhttp) | 2,6 K | 2,0 K | 
| http.c (llhttp) | 0,3 K | 0,3 K | 
| llhttp.c (llhttp) | 17,9 | 15,9 | 
| Schätzungen insgesamt | 23,9 K | 20,7 K | 