# Table of Contents - net/http: Ruby Standard Library Documentation

## Classes and Modules

- Net
- Net::HTTP
  - About the Examples
  - Strategies
  - URIs
  - Schemes
  - Hostnames
  - Paths
  - Queries
  - Fragments
  - Request Headers
  - HTTP Sessions
  - Session Using Net::HTTP.start
  - Session Using Net::HTTP.start and Net::HTTP.finish
  - Single-Request Session
  - HTTP Requests and Responses
  - Following Redirection
  - Basic Authentication
  - Streaming Response Bodies
  - HTTPS
  - Proxy Server
  - Proxy Using Argument `p_addr` as a String
  - Proxy Using ‘`ENV['http_proxy']`’
  - Filtering Proxies
  - Compression and Decompression
  - What’s Here
  - Net::HTTP Objects
  - Sessions
  - Connections
  - Requests
  - Responses
  - Proxies
  - Security
  - Addresses and Ports
  - HTTP Version
  - Debugging
- Net::HTTP::Copy
- Net::HTTP::Delete
- Net::HTTP::Get
- Net::HTTP::Head
- Net::HTTP::Lock
- Net::HTTP::Mkcol
- Net::HTTP::Move
- Net::HTTP::Options
- Net::HTTP::Patch
- Net::HTTP::Post
- Net::HTTP::Propfind
- Net::HTTP::Proppatch
- Net::HTTP::Put
- Net::HTTP::Trace
- Net::HTTP::Unlock
- Net::HTTPAccepted
- Net::HTTPAlreadyReported
- Net::HTTPBadGateway
- Net::HTTPBadRequest
- Net::HTTPClientError
- Net::HTTPClientException
- Net::HTTPConflict
- Net::HTTPContinue
- Net::HTTPCreated
- Net::HTTPEarlyHints
- Net::HTTPError
- Net::HTTPExceptions
- Net::HTTPExpectationFailed
- Net::HTTPFailedDependency
- Net::HTTPFatalError
- Net::HTTPForbidden
- Net::HTTPFound
- Net::HTTPGatewayTimeOut
- Net::HTTPGatewayTimeout
- Net::HTTPGenericRequest
  - About the Examples
- Net::HTTPGone
- Net::HTTPHeader
  - Request and Response Fields
  - About the Examples
  - Fields
  - Field Keys
  - Field Values
  - Convenience Methods
  - Setters
  - Form Setters
  - Getters
  - Queries
  - Iterators
- Net::HTTPIMUsed
- Net::HTTPInformation
- Net::HTTPInsufficientStorage
- Net::HTTPInternalServerError
- Net::HTTPLengthRequired
- Net::HTTPLocked
- Net::HTTPLoopDetected
- Net::HTTPMethodNotAllowed
- Net::HTTPMisdirectedRequest
- Net::HTTPMovedPermanently
- Net::HTTPMovedTemporarily
- Net::HTTPMultiStatus
- Net::HTTPMultipleChoice
- Net::HTTPMultipleChoices
- Net::HTTPNetworkAuthenticationRequired
- Net::HTTPNoContent
- Net::HTTPNonAuthoritativeInformation
- Net::HTTPNotAcceptable
- Net::HTTPNotExtended
- Net::HTTPNotFound
- Net::HTTPNotImplemented
- Net::HTTPNotModified
- Net::HTTPOK
- Net::HTTPPartialContent
- Net::HTTPPayloadTooLarge
- Net::HTTPPaymentRequired
- Net::HTTPPermanentRedirect
- Net::HTTPPreconditionFailed
- Net::HTTPPreconditionRequired
- Net::HTTPProcessing
- Net::HTTPProxyAuthenticationRequired
- Net::HTTPRangeNotSatisfiable
- Net::HTTPRedirection
- Net::HTTPRequest
  - Creating a Request
  - Request Headers
  - Request Subclasses
- Net::HTTPRequestEntityTooLarge
- Net::HTTPRequestHeaderFieldsTooLarge
- Net::HTTPRequestTimeOut
- Net::HTTPRequestTimeout
- Net::HTTPRequestURITooLarge
- Net::HTTPRequestURITooLong
- Net::HTTPRequestedRangeNotSatisfiable
- Net::HTTPResetContent
- Net::HTTPResponse
  - About the Examples
  - Returned Responses
  - Response Subclasses
- Net::HTTPRetriableError
- Net::HTTPSeeOther
- Net::HTTPServerError
- Net::HTTPServiceUnavailable
- Net::HTTPSession
  - About the Examples
  - Strategies
  - URIs
  - Schemes
  - Hostnames
  - Paths
  - Queries
  - Fragments
  - Request Headers
  - HTTP Sessions
  - Session Using Net::HTTP.start
  - Session Using Net::HTTP.start and Net::HTTP.finish
  - Single-Request Session
  - HTTP Requests and Responses
  - Following Redirection
  - Basic Authentication
  - Streaming Response Bodies
  - HTTPS
  - Proxy Server
  - Proxy Using Argument `p_addr` as a String
  - Proxy Using ‘`ENV['http_proxy']`’
  - Filtering Proxies
  - Compression and Decompression
  - What’s Here
  - Net::HTTP Objects
  - Sessions
  - Connections
  - Requests
  - Responses
  - Proxies
  - Security
  - Addresses and Ports
  - HTTP Version
  - Debugging
- Net::HTTPSuccess
- Net::HTTPSwitchProtocol
- Net::HTTPTemporaryRedirect
- Net::HTTPTooManyRequests
- Net::HTTPURITooLong
- Net::HTTPUnauthorized
- Net::HTTPUnavailableForLegalReasons
- Net::HTTPUnknownResponse
- Net::HTTPUnprocessableEntity
- Net::HTTPUnsupportedMediaType
- Net::HTTPUpgradeRequired
- Net::HTTPUseProxy
- Net::HTTPVariantAlsoNegotiates
- Net::HTTPVersionNotSupported

## Methods

- ::body_permitted? — Net::HTTPResponse
- ::default_port — Net::HTTP
- ::default_port — Net::HTTP
- ::each_response_header — Net::HTTPResponse
- ::get — Net::HTTP
- ::get — Net::HTTP
- ::get_print — Net::HTTP
- ::get_print — Net::HTTP
- ::get_response — Net::HTTP
- ::get_response — Net::HTTP
- ::http_default_port — Net::HTTP
- ::http_default_port — Net::HTTP
- ::https_default_port — Net::HTTP
- ::https_default_port — Net::HTTP
- ::is_version_1_2? — Net::HTTP
- ::is_version_1_2? — Net::HTTP
- ::new — Net::HTTP
- ::new — Net::HTTP
- ::new — Net::HTTPRequest
- ::newobj — Net::HTTP
- ::newobj — Net::HTTP
- ::post — Net::HTTP
- ::post — Net::HTTP
- ::post_form — Net::HTTP
- ::post_form — Net::HTTP
- ::proxy_class? — Net::HTTP
- ::proxy_class? — Net::HTTP
- ::put — Net::HTTP
- ::put — Net::HTTP
- ::read_status_line — Net::HTTPResponse
- ::response_class — Net::HTTPResponse
- ::start — Net::HTTP
- ::start — Net::HTTP
- ::version_1_2 — Net::HTTP
- ::version_1_2 — Net::HTTP
- ::version_1_2? — Net::HTTP
- ::version_1_2? — Net::HTTP
- #D — Net::HTTP
- #[] — Net::HTTPHeader
- #[]= — Net::HTTPHeader
- #active? — Net::HTTP
- #add_field — Net::HTTPHeader
- #addr_port — Net::HTTP
- #append_field_value — Net::HTTPHeader
- #basic_auth — Net::HTTPHeader
- #basic_encode — Net::HTTPHeader
- #begin_transport — Net::HTTP
- #body — Net::HTTPResponse
- #body= — Net::HTTPGenericRequest
- #body= — Net::HTTPResponse
- #body_encoding= — Net::HTTPResponse
- #body_stream= — Net::HTTPGenericRequest
- #canonical_each — Net::HTTPHeader
- #capitalize — Net::HTTPHeader
- #chunked? — Net::HTTPHeader
- #connect — Net::HTTP
- #connection_close? — Net::HTTPHeader
- #connection_keep_alive? — Net::HTTPHeader
- #content_length — Net::HTTPHeader
- #content_length= — Net::HTTPHeader
- #content_range — Net::HTTPHeader
- #content_type — Net::HTTPHeader
- #content_type= — Net::HTTPHeader
- #continue_timeout= — Net::HTTP
- #copy — Net::HTTP
- #debug — Net::HTTP
- #delete — Net::HTTP
- #delete — Net::HTTPHeader
- #do_finish — Net::HTTP
- #do_start — Net::HTTP
- #each — Net::HTTPHeader
- #each_capitalized — Net::HTTPHeader
- #each_capitalized_name — Net::HTTPHeader
- #each_header — Net::HTTPHeader
- #each_key — Net::HTTPHeader
- #each_name — Net::HTTPHeader
- #each_value — Net::HTTPHeader
- #edit_path — Net::HTTP
- #encode_multipart_form_data — Net::HTTPGenericRequest
- #end_transport — Net::HTTP
- #entity — Net::HTTPResponse
- #fetch — Net::HTTPHeader
- #finish — Net::HTTP
- #flush_buffer — Net::HTTPGenericRequest
- #form_data= — Net::HTTPHeader
- #get — Net::HTTP
- #get2 — Net::HTTP
- #get_fields — Net::HTTPHeader
- #head — Net::HTTP
- #head2 — Net::HTTP
- #inspect — Net::HTTP
- #inspect — Net::HTTPGenericRequest
- #inspect — Net::HTTPResponse
- #ipaddr — Net::HTTP
- #ipaddr= — Net::HTTP
- #keep_alive? — Net::HTTP
- #key? — Net::HTTPHeader
- #lock — Net::HTTP
- #main_type — Net::HTTPHeader
- #max_retries= — Net::HTTP
- #mkcol — Net::HTTP
- #move — Net::HTTP
- #on_connect — Net::HTTP
- #options — Net::HTTP
- #patch — Net::HTTP
- #peer_cert — Net::HTTP
- #post — Net::HTTP
- #post2 — Net::HTTP
- #propfind — Net::HTTP
- #proppatch — Net::HTTP
- #proxy? — Net::HTTP
- #proxy_address — Net::HTTP
- #proxy_basic_auth — Net::HTTPHeader
- #proxy_from_env? — Net::HTTP
- #proxy_pass — Net::HTTP
- #proxy_port — Net::HTTP
- #proxy_user — Net::HTTP
- #proxyaddr — Net::HTTP
- #proxyport — Net::HTTP
- #put — Net::HTTP
- #quote_string — Net::HTTPGenericRequest
- #range — Net::HTTPHeader
- #range= — Net::HTTPHeader
- #range_length — Net::HTTPHeader
- #read_body — Net::HTTPResponse
- #read_timeout= — Net::HTTP
- #request — Net::HTTP
- #request_body_permitted? — Net::HTTPGenericRequest
- #request_get — Net::HTTP
- #request_head — Net::HTTP
- #request_post — Net::HTTP
- #response_body_encoding= — Net::HTTP
- #response_body_permitted? — Net::HTTPGenericRequest
- #send_entity — Net::HTTP
- #send_request — Net::HTTP
- #send_request_with_body — Net::HTTPGenericRequest
- #send_request_with_body_data — Net::HTTPGenericRequest
- #send_request_with_body_stream — Net::HTTPGenericRequest
- #set_content_type — Net::HTTPHeader
- #set_debug_output — Net::HTTP
- #set_field — Net::HTTPHeader
- #set_form — Net::HTTPHeader
- #set_form_data — Net::HTTPHeader
- #set_range — Net::HTTPHeader
- #sspi_auth — Net::HTTP
- #sspi_auth? — Net::HTTP
- #start — Net::HTTP
- #started? — Net::HTTP
- #sub_type — Net::HTTPHeader
- #supply_default_content_type — Net::HTTPGenericRequest
- #to_hash — Net::HTTPHeader
- #trace — Net::HTTP
- #transport_request — Net::HTTP
- #type_params — Net::HTTPHeader
- #unescape — Net::HTTP
- #unlock — Net::HTTP
- #use_ssl= — Net::HTTP
- #use_ssl? — Net::HTTP
- #value — Net::HTTPResponse
- #wait_for_continue — Net::HTTPGenericRequest
- #write_header — Net::HTTPGenericRequest
- #write_timeout= — Net::HTTP