http 协议笔记

                     

贡献者: addis

  • 本文处于草稿阶段。

常识

版本改进

图
图 1:http 不同版本

http/1.0

http/2

http/3

<method> <URI> HTTP/<version>
<Header1>: <value1>
<Header2>: <value2>
...
<HeaderN>: <valueN>
(空行)
<body>

   例子:

GET / HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 Chrome/58.0.3029.110 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1
这个 request 没有 body,因为是简单的 GET。

1. 方法

2. 服务器回应

   服务器回应的消息有不同的结构

HTTP/<version> <Status> <Reason Phrase>
<Header1>: <value1>
<Header2>: <value2>
...
<HeaderN>: <valueN>
(空行)
<body>

   例子:

HTTP/1.1 200 OK
Date: Fri, 29 Dec 2023 12:00:00 GMT
Server: Apache/2.4.18 (Ubuntu)
Last-Modified: Fri, 29 Dec 2023 10:00:00 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 1234
Connection: close
Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1

<!DOCTYPE html>
<html>
<head>
    <title>Welcome to Example.com!</title>
</head>
<body>
    <h1>Hello, World!</h1>
    <p>Welcome to our website.</p>
</body>
</html>

3. 响应状态码

4. 常见字段


致读者: 小时百科一直以来坚持所有内容免费无广告,这导致我们处于严重的亏损状态。 长此以往很可能会最终导致我们不得不选择大量广告以及内容付费等。 因此,我们请求广大读者热心打赏 ,使网站得以健康发展。 如果看到这条信息的每位读者能慷慨打赏 20 元,我们一周就能脱离亏损, 并在接下来的一年里向所有读者继续免费提供优质内容。 但遗憾的是只有不到 1% 的读者愿意捐款, 他们的付出帮助了 99% 的读者免费获取知识, 我们在此表示感谢。

                     

友情链接: 超理论坛 | ©小时科技 保留一切权利