

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 aktuell. 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 Standards. [HTTP/1.1](https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol) Der HTTP-Standard bietet ein zustandsloses Protokoll, das auf verteilten, kollaborativen Hypertext-Informationssystemen ausgeführt wird TCP/IP und häufig in diesen verwendet wird.

Die CoreHTTP-Bibliothek implementiert eine Teilmenge des Protokollstandards. [HTTP/1.1](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](https://en.wikipedia.org/wiki/ANSI_C#C90) und MISRA entspricht. C:2012](https://misra.org.uk/product/misra-c2012-third-edition-first-revision/) 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.


<a name="coreHTTP-memory-estimate"></a>
<table>
<thead>
  <tr><th colspan="3">Codegröße von CoreHTTP (Beispiel generiert mit GCC für ARM) Cortex-M</th></tr>
  <tr><th>Datei</th><th>Mit -O1-Optimierung</th><th>Mit -Os-Optimierung</th></tr>
</thead>
<tbody>
  <tr><td>core_http_client.c</td><td>3,2 K</td><td>2,6 K</td></tr>
  <tr><td>api.c (llhttp)</td><td>2,6 K</td><td>2,0 K</td></tr>
  <tr><td>http.c (llhttp)</td><td>0,3 K</td><td>0,3 K</td></tr>
  <tr><td>llhttp.c (llhttp)</td><td>17,9</td><td>15,9</td></tr>
  <tr><td><b>Schätzungen insgesamt</b></td><td><b>23,9 K</b></td><td><b>20,7 K</b></td></tr>
</tbody>
</table>
