# node:http

The `node:http` module holds the Node.js utilities for HTTP servers and clients. In Azion Runtime, `import http from "node:http"` builds, and the module constants are readable in a deployed function and under `azion dev`. `http.STATUS_CODES[404]` returns `Not Found`, and `http.METHODS` lists 35 methods.

The client and server functions are not implemented. `http.request`, `http.get`, and `http.createServer` exist as functions, but a call to one of them throws an `Error`. `http.request()` throws `[unenv] http.request is not implemented yet!`, and `http.createServer()` throws `[unenv] http.createServer is not implemented yet!`. The `node:https` module behaves the same way: `https.get()` throws `[unenv] https.get is not implemented yet!`. To send an HTTP request from a function, use the [Fetch API](/en/documentation/devtools/runtime/api-reference/fetch/).

`_connectionListener`, `setMaxIdleHTTPParsers`, `validateHeaderName`, and `validateHeaderValue` are not supported.

---

## Related resources

- [Node.js APIs](/en/documentation/devtools/runtime/node.md): Every Node.js module Azion Runtime resolves, and how each one behaves.
- [Fetch API](/en/documentation/devtools/runtime/api-reference/fetch.md): The Web API that sends HTTP requests from a function and reads their responses.
- [Use Node.js APIs through polyfills](/en/documentation/guides/application-development/functions-and-runtime/use-polyfills.md): How the build resolves Node.js APIs through polyfills, shown in a JavaScript project.
