[pending revision] | [accepted revision] |
Content deleted Content added
No edit summary Tags: Reverted Mobile edit Mobile web edit |
overuse of the same temp |
||
(38 intermediate revisions by 29 users not shown) | |||
Line 1:
{{pp-
{{Infobox protocol
| image = HTTP logo.svg
Line 19 ⟶ 20:
| introdate = {{Start date and age|1991|df=yes}}
| newer =
|website={{URL|https://httpwg.org/specs/}}}}
{{HTTP}}
{{IPstack}}
Line 44 ⟶ 45:
To allow intermediate HTTP nodes (proxy servers, web caches, etc.) to accomplish their functions, some of the [[List of HTTP header fields|HTTP headers]] (found in HTTP requests/responses) are managed [[hop-by-hop transport|hop-by-hop]] whereas other HTTP headers are managed [[end-to-end principle|end-to-end]] (managed only by the source client and by the target web server).
HTTP is an [[application layer]] protocol designed within the framework of the [[Internet protocol suite]]. Its definition presumes an underlying and reliable [[transport layer]] protocol.<ref name="rfc9110-3.3" />
* The standard choice of the underlying protocol prior to HTTP/3 is [[Transmission Control Protocol]] (TCP).
* HTTP/3 uses a different transport layer called [[QUIC]], which provides reliability on top of the unreliable [[User Datagram Protocol]] (UDP).
* HTTP/1.1 and earlier have been adapted to be used over plain unreliable UDP in [[multicast]] and [[unicast]] situations, forming HTTPMU and HTTPU. They are used in [[UPnP]] and [[Simple Service Discovery Protocol]] (SSDP), two protocols usually run on a [[local area network]].
[[Web resource|HTTP resources]] are identified and located on the network by [[Uniform Resource Locator]]s (URLs), using the [[Uniform Resource Identifier]]s (
In HTTP/1.0 a separate TCP [[connection-oriented communication|connection]] to the same server is made for every resource request.<ref name="rfc1945-1.3">{{cite IETF |rfc=1945 |sectionname=Overall Operation |section=1.3 |title=RFC 1945|pages=6–8}}</ref>
Line 237 ⟶ 241:
HTTP is a [[stateless protocol]]. A stateless protocol does not require the web server to retain information or status about each user for the duration of multiple requests.
Some [[web application]]s need to manage user sessions, so they implement states, or [[Session (computer science)|server side sessions]], using for instance [[HTTP cookie]]s<ref>{{Cite journal |last1=Lee |first1=Wei-Bin |last2=Chen |first2=Hsing-Bai |last3=Chang |first3=Shun-Shyan |last4=Chen |first4=Tzung-Her |date=2019-01-25 |title=Secure and efficient protection for HTTP cookies with self-verification |url=https://onlinelibrary.wiley.com/doi/10.1002/dac.3857 |journal=International Journal of Communication Systems |language=en |volume=32 |issue=2 |pages=e3857 |doi=10.1002/dac.3857|s2cid=59524143 |url-access=subscription }}</ref> or hidden [[variable (computer science)|variable]]s within [[Form (web)|web form]]s.
To start an application user session, an interactive [[authentication]] via web application [[login]] must be performed. To stop a user session a [[logout]] operation must be requested by user. These kind of operations do not use [[#HTTP authentication|HTTP authentication]] but a custom managed web application authentication.
Line 247 ⟶ 251:
A client sends ''request messages'' to the server, which consist of:<ref name="rfc9112-2.1">{{cite IETF |rfc=9112 |sectionname=Message format |section=2.1 |title=RFC 9112: HTTP/1.1}}</ref>
* a '''request line''', consisting of the case-sensitive request method, a [[Space (punctuation)|space]], the requested
{{sxhl|2=http|1=GET /images/logo.png HTTP/1.1}}
* zero or more [[HTTP request header field|request header fields]] (at least 1 or more headers in case of HTTP/1.1), each consisting of the case-insensitive field name, a colon, optional leading [[Whitespace (computer science)|whitespace]], the field value, an optional trailing whitespace and ending with a carriage return and a line feed, e.g.:
Line 495 ⟶ 499:
== See also ==
▲{{HTTP}}
* [[InterPlanetary File System]]{{dash}}can replace HTTP
* [[Comparison of file transfer protocols]]
Line 536 ⟶ 539:
[[Category:Application layer protocols]]
[[Category:Internet properties established in 1991]]
[[Category:World Wide Web Consortium standards]]
|