# Package org.springframework.http

@NonNullApi @NonNullFields package org.springframework.http
Contains a basic abstraction over client/server-side HTTP. This package contains the `HttpInputMessage` and `HttpOutputMessage` interfaces.

Related Packages
Package
Description
org.springframework.http.client
Contains an abstraction over client-side HTTP.
org.springframework.http.codec
Provides implementations of `Encoder` and `Decoder` for web use.
org.springframework.http.converter
Provides an HttpMessageConverter abstraction to convert between Java objects and HTTP input/output messages.
org.springframework.http.server
Contains an abstraction over server-side HTTP.
org.springframework.http.support
This package provides internal HTTP support classes, to be used by higher-level client and server classes.
Class
Description
CacheControl
A builder for creating "Cache-Control" HTTP response headers.
ContentDisposition
Representation of the Content-Disposition type and parameters as defined in RFC 6266.
ContentDisposition.Builder
A mutable builder for `ContentDisposition`.
ETag
Represents an ETag for HTTP conditional requests.
HttpCookie
Represents an HTTP cookie as a name-value pair consistent with the content of the "Cookie" request header.
HttpEntity<T>
Represents an HTTP request or response entity, consisting of headers and body.
HttpHeaders
A data structure representing HTTP request or response headers, mapping String header names to a list of String values, also offering accessors for common application-level data types.
HttpInputMessage
Represents an HTTP input message, consisting of headers and a readable body.
HttpLogging
Holds the shared logger named "org.springframework.web.HttpLogging" for HTTP related logging when "org.springframework.http" is not enabled but "org.springframework.web" is.
HttpMessage
Represents the base interface for HTTP request and response messages.
HttpMethod
Represents an HTTP request method.
HttpOutputMessage
Represents an HTTP output message, consisting of headers and a writable body.
HttpRange
Represents an HTTP (byte) range for use with the HTTP `"Range"` header.
HttpRequest
Represents an HTTP request message, consisting of a method and a URI.
HttpStatus
Enumeration of HTTP status codes.
HttpStatus.Series
Enumeration of HTTP status series.
HttpStatusCode
Represents an HTTP response status code.
InvalidMediaTypeException
Exception thrown from `MediaType.parseMediaType(String)` in case of encountering an invalid media type specification String.
MediaType
A subclass of `MimeType` that adds support for quality parameters as defined in the HTTP specification.
MediaTypeEditor
`Editor` for `MediaType` descriptors, to automatically convert `String` specifications (for example, `"text/html"`) to `MediaType` properties.
MediaTypeFactory
A factory delegate for resolving `MediaType` objects from `Resource` handles or filenames.
ProblemDetail
Representation for an RFC 9457 problem detail.
ReactiveHttpInputMessage
A "reactive" HTTP input message that exposes the input as `Publisher`.
ReactiveHttpOutputMessage
A "reactive" HTTP output message that accepts output as a `Publisher`.
RequestEntity<T>
Extension of `HttpEntity` that also exposes the HTTP method and the target URL.
RequestEntity.BodyBuilder
Defines a builder that adds a body to the response entity.
RequestEntity.HeadersBuilder<B extends RequestEntity.HeadersBuilder<B>>
Defines a builder that adds headers to the request entity.
RequestEntity.UriTemplateRequestEntity<T>
RequestEntity initialized with a URI template and variables instead of a `URI`.
ResponseCookie
An `HttpCookie` subclass with the additional attributes allowed in the "Set-Cookie" response header.
ResponseCookie.ResponseCookieBuilder
A builder for a server-defined HttpCookie with attributes.
ResponseEntity<T>
Extension of `HttpEntity` that adds an `HttpStatusCode` status code.
ResponseEntity.BodyBuilder
Defines a builder that adds a body to the response entity.
ResponseEntity.HeadersBuilder<B extends ResponseEntity.HeadersBuilder<B>>
Defines a builder that adds headers to the response entity.
StreamingHttpOutputMessage
Represents an HTTP output message that allows for setting a streaming body.
StreamingHttpOutputMessage.Body
Defines the contract for bodies that can be written directly to an `OutputStream`.
ZeroCopyHttpOutputMessage
Sub-interface of `ReactiveOutputMessage` that has support for "zero-copy" file transfers.