http changed

This commit is contained in:
many2many 2024-09-11 22:40:14 +08:00
parent 63340ecadb
commit 52b8491f65
6 changed files with 48 additions and 13 deletions

View File

@ -6,26 +6,61 @@
[PPT](./resources/HTTP协议-黑马.pptx)
#### 2.1.1 浏览器与Web服务器的工作流程
- **请求过程:** 用户在浏览器中输入URL地址后浏览器向服务器发送HTTP请求。
- **响应过程:** 服务器接收到请求后处理并返回HTTP响应给浏览器。
- **交互细节:** 包括DNS解析、建立TCP连接、发送HTTP请求、接收HTTP响应、关闭连接等步骤。
#### 2.1.2 HTTP请求与响应结构
#### 2.1.1 URI、URL、URN
[一篇让你彻底了解http请求报文和响应报文的结构](https://zhuanlan.zhihu.com/p/346408612)
- URI = Uniform Resource Identifier 统一资源标志符
> URI是抽象的定义不管用什么方法表示只要能定位一个资源就叫URI. URI包括URL和URN.后来urn没流行起来导致几乎目前所有的uri都是url。
- URL = Uniform Resource Locator 统一资源定位符
> 是URI的一个子集又称统一资源定位器、定位地址、URL地址俗称网址是因特网上标准的资源的地址作用是为了告诉使用者某个资源在 Web 上的地址。URL包含访问资源所需的协议类型如HTTP、HTTPS、FTP和资源的网络位置如域名和文件路径
- URN = Uniform Resource Name 统一资源名称
> 指的是资源而不指定其位置或是否存在. URN 的一个最好的例子是 ISBN 号它被用来唯一地识别一本书。URN 与 URL 完全不同,因为它不包含任何协议。
![](./resources/uri-url-urn.png)
---
![](./resources/url.png)
```text
模式( schema ),相当于 URL 的类型,通常用来表示访问协议,比如 HTTP
用户信息( userinfo ),用于访问资源的用户信息,可选;
主机( host ),资源所在主机,可选;
端口( port ),资源所在主机端口,可选,不填则使用协议的默认端口;
路径( path ),资源所在路径;
查询( query ),用于访问资源的参数,比如网页传参,可选;
片段( fragment ),指定资源中的某个片段,比如网页中的锚,可选;
```
![](./resources/url-example.png)
URL示例
```text
ftp://ftp.is.co.za/rfc/rfc1808.txt
http://www.ietf.org/rfc/rfc2396.txt
ldap://[2001:db8::7]/c=GB?objectClass?one
mailto:John.Doe@example.com
news:comp.infosystems.www.servers.unix
telnet://192.0.2.16:80/
```
#### 2.1.2 浏览器与web服务器的交互过程
基本过程:
![](./resources/web-flow-with-dns.png)
动态页面交互过程:
![](./resources/web_application_with_html_and_steps.png)
#### 2.1.3 URL
- **构成:** 协议、主机名、端口号、路径、查询字符串。
- **示例:** `https://example.com/path/to/resource?param1=value1&param2=value2`
#### 2.1.3 HTTP请求与响应包结构
[HTTP 消息结构](https://www.runoob.com/http/http-messages.html)
#### 2.1.4 HTTP方法
- **GET** 请求指定的页面信息并将其返回。
- **POST** 向指定资源提交数据进行处理请求(例如提交表单)。
- **PUT** 从客户端向服务器发送新的数据,并要求服务器覆盖原位置上的数据。
- **DELETE** 请求服务器删除指定的页面。
[HTTP 请求方法](https://www.runoob.com/http/http-methods.html)
#### 2.1.5 HTTP状态码
- **2xx 成功:** 请求已成功被服务器接收、理解,并接受。

Binary file not shown.

After

Width:  |  Height:  |  Size: 872 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

BIN
docs/resources/url.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB