HCIA—— 31 HTTP的报文、请求响应报文、方法、URI和URL

学习目标:

  • HTTP的报文、请求响应报文、方法、URI和URL

学习内容:

  1. HTTP报文------请求报文和响应报文;HTTP报文结构
  2. HTTP的---请求报文首部和响应报文首部
  3. 方法
  4. URI和URL

目录


1.HTTP报文

1)HTTP的报文------请求报文和响应报文

  • HTTP协议的请求和响应报文中必定包含HTTP首部。首部内容为客户端和服务器分别处理请求和响应提供所需要的信息。对于客户端用户来说,这些信息中的大部分内容都无须亲自查看。
  • 报文首部由几个字段构成。

|------------------------------------|
| 报文首部------ 服务器端或客户端需处理的请求或响应的内容及属性 |
| 空行(CR+LF) |
| 报文主体------数据 |
[HTTP报文结构]

|--------------------------------------------|
| 必定是一端担任客户端角色,另一端担任服务器端角色。 客户端和服务器只是标记,可以交换 |
| 请求必定由客户端发出,而服务器端回复响应 |
| HTTP报文------必有报文首部,不一定有报文主体 |
| 首部内容为客户端和服务器分别处理请求和响应提供所需要的信息 |
| 报文首部由字段构成 |
[HTTP的相关]

2)HTTP的请求报文首部和响应报文首部

HTTP请求报文的格式主要由三部分组成:请求行、请求头部和请求体。

  1. 请求行:包含HTTP方法、请求的URI和HTTP协议的版本。例如,GET /index.html HTTP/1.1。
  2. 请求头部:包含一些键值对,用冒号分隔。这些键值对提供了关于请求的附加信息,例如User-Agent、Accept、Host等。例如,User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36。
  3. 请求体:包含发送给服务器的数据。例如,在POST请求中,请求体可能包含表单数据或JSON数据。

以下是一个更详细的例子:

复制代码
`GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9`

在这个例子中,用户通过GET方法请求www.example.com的index.html页面。使用的User-Agent表明这是一个来自Windows 10、64位架构的浏览器中Chrome 58版本。用户接受的媒体类型有HTML、XHTML+XML、XML、WebP图像和APNG,以及所有其他类型的媒体。 最后,Accept-EncodingAccept-Language分别表示客户端支持的内容编码和语言。在这个例子中,客户端支持gzip、deflate和br压缩,以及英语(美国)和英语(世界)。

除此之外,如果不是访问特定资源而是对服务器本身发起请求,可以用一个*来代替请求URI。下面这个例子是查询HTTP服务器端支持的 HTTP 方法种类。
OPTIONS * HTTP/1.1
首部字段------请求/响应首部字段、通用字段、实体字段

|------------------------------------|
| 请求行------方法、URI、协议版本 |
| 请求首部字段------在首部字段 Host中写明网络域名或IP地址 |
| 通用首部字段 |
| 实体首部字段 |
| 其他------cookie等等 |
| 空行(CR+LF) |
| 报文主体------数据------可以没有 |
[请求报文]

|----------------------------|
| 响应行------状态码的原因短语、协议版本、状态码 |
| 请求首部字段------ |
| 通用首部字段 |
| 实体首部字段 |
| 其他------cookie等等 |
| 空行(CR+LF) |
| 报文主体------数据------可以没有 |
[响应报文]

3)方法

|----------------|
| GET------获取资源, |
| POST |
| PUT |
| HEAD |
| DELETE |
| OPTIONS |
| TRACE |
| CONNECT |
| LINK |
| UNLINE |
[方法]

4)URI和URL

END............


学习时间:

上课时


学习产出:

  • 技术笔记 1遍
  • 有错误请指出,作者会及时改正
相关推荐
严谨的麻辣烫10 小时前
数据中心出口与住宅出口的技术差异:从 ASN 到 TCP 行为的一次拆解
网络·网络协议·tcp/ip
Freed&10 小时前
Zabbix TCP连接状态自定义监控完整部署手册
网络·tcp/ip·zabbix
学着改变27510 小时前
手持式超声波流量计为何首选行澳科技?便携巡检与外夹计量的性能标杆
大数据·网络·人工智能·科技·产品运营·量子计算
2501_9159214311 小时前
抓包鹰 Traceeagle 解除证书绑定,SSL Pinning 解除
网络·网络协议·网络安全·ios·adb·https·ssl
Lucky_Turtle11 小时前
【SSL】letsencrypt域名证书申请,Cloudflare域名
网络·网络协议·ssl
路由侠内网穿透12 小时前
本地部署企业级快速开发平台芋道管理后台并实现外部访问
运维·服务器·网络·网络协议
basketball61612 小时前
软考中级网络工程师 第4章 无线通信网 备考总结
linux·服务器·网络·网络工程师·软考
睡一觉就好了。14 小时前
Linux 信号机制
linux·运维·网络
A_humble_scholar17 小时前
Linux(二) C++ TCP/UDP网络编程
linux·网络·c++
Sylvia33.17 小时前
篮球数据API的技术架构与工程实践:基于火星数据WebSocket实时推送体系
java·python·websocket·网络协议·架构