首页 > 其他分享 >HTTP相关返回值异常如何解决(上篇)

HTTP相关返回值异常如何解决(上篇)

时间:2024-10-27 21:42:33浏览次数:6  
标签:状态 HTTP 请求 示例 服务器 返回值 异常 客户端

今天我们讲讲HTTP相关返回值异常如何解决(实例持续更新中)

一、HTTP介绍

HTTP(超文本传输协议,Hypertext Transfer Protocol)是用于在网络上进行数据交换的应用层协议。它是万维网(WWW)的基础,允许客户端(通常是网页浏览器)与服务器之间进行通信。以下是对 HTTP 的一些基本介绍:

  1. 基本概念 请求-响应模型: HTTP 使用请求-响应模型。客户端发送请求,服务器处理请求并返回响应。 无状态协议: 每个请求都是独立的,服务器不会记住之前的请求状态。这种设计简化了服务器的实现,但可能需要其他机制(如 cookies)来管理会话状态。

  2. 请求和响应请求:

请求行: 包含请求方法(如 GET、POST)、请求的 URL 和 HTTP 版本。

请求头: 提供有关客户端环境的信息(如 User-Agent、Accept 等)。

请求体: 仅在某些请求方法(如 POST)中使用,包含要发送的数据。

响应:

状态行: 包含 HTTP 版本、状态码(如 200、404、500)和状态描述。

响应头: 提供有关响应的信息(如 Content-Type、Content-Length 等)。

响应体: 包含实际传输的数据(如 HTML 文档、图像等)。

  1. 常见的 HTTP 方法GET: 请求指定的资源,通常用于获取数据。(模组支持)

    POST: 向指定资源提交数据,通常用于创建或更新数据。(模组支持)

    PUT: 更新指定资源的内容。

    DELETE: 删除指定的资源。

    HEAD: 类似于 GET,但服务器只返回响应头,不返回响应体。

  2. HTTP 状态码    HTTP 状态码用于表示请求的结果,分为五类:

    1xx: 信息性状态码(如 100 Continue)。

    2xx: 成功状态码(如 200 OK)。

    3xx: 重定向状态码(如 301 Moved Permanently)。

    4xx: 客户端错误状态码(如 404 Not Found)。

    5xx: 服务器错误状态码(如 500 Internal Server Error)。

HTTP客户端错误状态码情况
案例分析以及如何解决

一、1xx信息性状态码 

这些状态码表示请求已被接收,继续处理请求。

100 Continue: 客户端应继续发送请求的剩余部分。

1.1 状态码100的含义:

HTTP 状态码 100 Continue 是一个信息性状态码,表示客户端应继续发送请求的剩余部分。它通常是在客户端发送一个包含 Expect: 100-continue 头的请求时,服务器响应的。

使用场景:

大文件上传: 当客户端要上传一个大文件时,它可以先发送一个请求头,询问服务器是否准备好接收文件。这时,服务器可以返回 100 Continue,表示可以继续上传文件。

节省带宽: 如果服务器无法处理请求,返回 100 Continue 可以避免客户端发送大量数据,从而节省带宽和资源。

具体工作流程:

客户端发送请求: 客户端发送一个带有 Expect: 100-continue 的请求头。 服务器响应: 如果服务器准备好接收请求,返回 100 Continue,指示客户端继续发送请求体。 如果服务器无法处理请求(例如,身份验证失败或请求格式不正确),则服务器可以直接返回相应的错误状态码(如 401 或 403),而不是 100 Continue。

101 Switching Protocols: 服务器已理解客户端的请求,并将其协议更改为客户端所请求的协议。

 

1.2 状态码101的含义:

HTTP 状态码 101 Switching Protocols 是一个信息性状态码,表示服务器已经理解了客户端的请求,并将协议更改为客户端所请求的协议。这通常用于在 HTTP 协议和其他协议之间进行切换,例如从 HTTP 协议切换到 WebSocket 协议。

使用场景

WebSocket 连接: 在建立 WebSocket 连接时,客户端首先发送一个 HTTP 请求,要求服务器将协议切换到 WebSocket。若服务器支持这一请求并同意切换,它会返回 101 状态码。

协议升级: 其他情况下,当客户端请求服务器使用不同的协议进行通信时(如从 HTTP/1.1 切换到 HTTP/2),也会用到此状态码。

具体工作流程

客户端发送请求: 客户端发送一个带有 Upgrade 头的请求,表明希望切换协议。

请求示例:

  • GET /chat HTTP/1.1

  • Host: example.com

  • Upgrade: websocket

  • Connection: Upgrade

  • 服务器响应: 如果服务器支持请求的协议并同意切换,它会返回 101 Switching Protocols,表示协议已成功切换。

服务器响应示例:

  • HTTP/1.1 101 Switching Protocols

  • Upgrade: websocket

  • Connection: Upgrade

  • 后续通信: 协议切换后,客户端和服务器可以使用新协议进行后续通信。

二、2xx成功状态码 

这些状态码表示请求已成功处理。

200 OK: 请求成功,通常返回请求的资源。

状态码200的含义:

HTTP 状态码 200 OK 是最常见的成功响应状态码,表示请求已成功处理。它通常用于标准的 GET 或 POST 请求,表明服务器已成功接收到请求并返回了所请求的资源。

使用场景
  • GET 请求: 当客户端请求某个资源(如网页、图片等),并且服务器成功找到并返回该资源时,服务器会返回 200 OK。

  • POST 请求: 当客户端向服务器提交数据(如表单数据)并且服务器成功处理这些数据时,也会返回 200 OK。此时,响应体可能包含操作结果的信息。

示例

 

图片

 

201 Created: 请求成功并创建了新的资源。

状态码201的含义:

HTTP 状态码 201 Created 表示请求已成功处理,并且由于该请求,服务器创建了一个新的资源。这个状态码通常用于 POST 请求,特别是在客户端向服务器提交数据以创建新资源时。

使用场景

资源创建: 当客户端通过 POST 请求向服务器发送数据(例如,提交表单数据)并成功创建一个新资源时,服务器会返回 201 Created。

API 设计: 在 RESTful API 中,201 状态码常用于表示新资源的创建成功,并且通常在响应中包含指向该新资源的 URI。

示例

创建新资源的 POST 请求示例:

  • POST /api/users HTTP/1.1

  • Host: example.com

  • Content-Type: application/json

  • Content-Length: 45

{"name": "John Doe", "email": "[email protected]"} 服务器响应示例:

  • HTTP/1.1 201 Created

  • Location: /api/users/123

  • Content-Type: application/json

{"id": 123, "name": "John Doe", "email": "[email protected]"}

关键要点
  • Location 头: 通常在响应中包含 Location 头,指向新创建资源的 URI。

  • 响应体: 可以在响应体中返回新资源的详细信息,帮助客户端确认创建结果。

 

202 Accepted: 请求已接受,但尚未处理。

状态码202的含义:

HTTP 状态码 202 Accepted 表示请求已被接受进行处理,但尚未完成。这意味着请求的处理是异步的,服务器已经接收到请求并将其放入处理队列中,但尚未提供最终结果。

使用场景

异步处理: 202 状态码通常用于那些需要较长时间才能完成的操作,例如上传大文件、复杂的数据处理或与外部服务的交互。

任务排队: 在某些情况下,服务器会返回 202 状态码以指示请求已被接受,但实际的处理将在后续时间内完成。

示例

异步请求的 POST 请求示例:

  • POST /api/process-data HTTP/1.1

  • Host: example.com

  • Content-Type: application/json

  • Content-Length: 50

{"data": "large dataset or task details"} 服务器响应示例:

  • HTTP/1.1 202 Accepted

  • Content-Type: application/json

{"message": "Your request is being processed"}

关键要点

请求已接受: 202 状态码表明请求已经被接受,而不是直接表示成功完成。 结果不可用: 由于处理是异步的,客户端通常需要通过其他机制(如轮询或回调)来获取处理结果。

 

203 Non-Authoritative Information: 服务器成功处理了请求,但返回的信息可能来自另一来源。

状态码203的含义:

HTTP 状态码 203 Non-Authoritative Information 表示请求已成功处理,但返回的信息可能不是来自原始服务器,而是来自一个代理服务器或其他中间实体。这意味着响应的内容可能经过了修改或附加了额外的信息。

使用场景

代理服务器: 当客户端通过代理服务器发送请求时,代理可能会返回 203 状态码以指示响应的内容不是来自原始服务器。

内容修改: 如果代理对响应进行了某种形式的修改,比如添加了额外的头信息,服务器可能会返回 203 状态码,告知客户端这部分信息可能不具有权威性。

示例

通过代理服务器的请求示例:

  • GET /api/resource HTTP/1.1

  • Host: example.com

代理服务器的响应示例:

  • HTTP/1.1 203 Non-Authoritative Information

  • Content-Type: application/json

{"data": "This data is modified or supplemented by the proxy"}

关键要点

非权威性信息: 203 状态码用于表示返回的信息可能不是最原始或权威的,客户端应谨慎对待这些信息。

不常用: 在实际应用中,203 状态码的使用相对较少,大多数情况下,客户端和服务器之间的直接通信更为常见。

 

204 No Content: 请求成功,但没有返回内容。

状态码204的含义:

HTTP 状态码 204 No Content 表示请求已成功处理,但没有内容返回。这通常用于处理成功的请求,但没有需要返回给客户端的实体内容。

使用场景

成功处理的请求: 当客户端发送请求(例如,DELETE 请求)并且服务器成功处理了该请求,但不需要返回任何内容时,可以使用 204 状态码。

更新操作: 在某些情况下,客户端可能发送更新请求(如 PUT),服务器成功处理后,可以返回 204 状态码而不返回任何数据。

保持连接: 204 状态码可以用于保持与客户端的连接,而不传送实际的数据内容。

示例

成功删除资源的 DELETE 请求示例:

  • DELETE /api/resource/123 HTTP/1.1

  • Host: example.com

服务器响应示例:

  • HTTP/1.1 204 No Content

关键要点

无内容返回: 204 状态码明确表示没有返回的内容,客户端不应期望任何响应体。

保持连接: 由于没有内容,204 响应通常具有较小的负担和较快的处理速度,有助于提高性能。

 

205 Reset Content: 请求成功,要求客户端重置文档视图。

状态码205的含义:

HTTP 状态码 205 Reset Content 表示请求已成功处理,但客户端需要重置视图或输入字段。这通常用于表单提交后,服务器希望客户端清除或重置其当前的内容。

使用场景

表单处理: 当客户端提交表单后,服务器可能会返回 205 状态码,指示客户端重置表单输入内容,以便用户可以进行新的输入。

UI 状态重置: 在某些应用程序中,服务器可能希望客户端清除当前的视图状态或数据,以确保用户体验的一致性。

示例

表单提交的 POST 请求示例:

  • POST /api/submit-form HTTP/1.1

  • Host: example.com

  • Content-Type: application/x-www-form-urlencoded

name=John&[email protected] 服务器响应示例:

  • HTTP/1.1 205 Reset Content

关键要点

重置内容: 205 状态码明确表示客户端应该重置其当前的内容或视图状态,通常与表单操作相关。

不返回内容: 和 204 状态码类似,205 响应通常不包含实体内容。

206 Partial Content: 服务器成功处理了部分 GET 请求,返回的是部分资源。

 

状态码206的含义:

HTTP 状态码 206 Partial Content 表示服务器成功处理了部分 GET 请求。这通常用于当客户端请求资源的某一部分时,服务器能够满足该请求并返回所请求的部分内容。

使用场景

范围请求: 客户端可能会使用 Range 请求头来请求资源的特定部分(例如,视频流、音频流或大型文件的下载)。服务器根据请求的范围返回相应的部分内容。

大文件下载: 当用户下载大文件时,支持恢复下载的客户端可以请求文件的特定字节范围,以便在网络中断时能够继续下载。

示例

范围请求的 GET 请求示例:

  • GET /large-file.zip HTTP/1.1

  • Host: example.com

  • Range: bytes=0-499

服务器响应示例:

  • HTTP/1.1 206 Partial Content

  • Content-Range: bytes 0-499/123456

  • Content-Length: 500

  • Content-Type: application/zip

 
关键要点

部分内容: 206 状态码表示请求成功并返回的是请求的部分内容,而不是整个资源。

Content-Range 头: 响应中会包含 Content-Range 头,指示返回的内容范围和资源的总大小。

三、3xx重定向状态码 

这些状态码表示客户端需要进一步操作才能完成请求。

300 Multiple Choices: 请求的资源有多种选择,客户端可以选择其中一个。

状态码300的含义:

HTTP 状态码 300 Multiple Choices 表示请求的资源可以有多种表示,客户端可以选择其中之一。这个状态码通常用于指示用户或应用程序有多个选项可供选择,并且服务器提供了这些选项的列表。

使用场景

资源重定向: 当请求的资源有多个可用版本(例如,不同语言的网页、不同格式的文件等),服务器会返回 300 状态码,指明可选的资源。

内容协商: 服务器可能根据请求头(如 Accept 或 Accept-Language)提供不同的响应选项,让客户端选择最合适的内容。

示例

请求的 GET 请求示例:

  • GET /example HTTP/1.1

  • Host: example.com

服务器响应示例:

  • HTTP/1.1 300 Multiple Choices

  • Content-Type: text/html

 

图片

关键要点
  • 选择性: 300 状态码表示客户端可以选择多个资源,通常伴随响应内容列出这些选项。

  • 用户体验: 该状态码可以提升用户体验,让用户根据需要选择最适合的资源。

301 Moved Permanently: 请求的资源已被永久移动到新位置,返回的新 URI 在响应中提供。

状态码301的含义:

HTTP 状态码 301 Moved Permanently 表示请求的资源已经永久移动到一个新的 URI(统一资源标识符),并且所有未来的请求都应使用新的 URI。这个状态码通常用于网页重定向,告知搜索引擎和客户端该资源的更新位置。

使用场景

网站重构: 当网站的结构或域名发生变化时,可以使用 301 状态码来指向新的地址,从而确保用户和搜索引擎能够正确找到页面。

SEO 优化: 使用 301 重定向可以将旧页面的权重传递给新页面,有助于保持搜索引擎排名。

内容迁移: 当资源从一个位置移动到另一个位置,但希望保持用户和外部链接的有效性时,使用 301 重定向是一个合适的选择。

示例

请求的 GET 请求示例:

  • GET /old-page HTTP/1.1

  • Host: example.com

服务器响应示例:

  • HTTP/1.1 301 Moved Permanently

  • Location: https://example.com/new-page

  • Content-Type: text/html

 

图片

关键要点
  • Location 头: 响应中包含 Location 头,指示新的 URI。客户端应使用该 URI 进行后续请求。

  • 搜索引擎友好: 301 状态码告知搜索引擎该页面永久移动,搜索引擎会更新其索引以反映这一变化。

 

302 Found: 请求的资源临时移动到新位置,客户端应使用新 URI 继续请求。

状态码302的含义:

HTTP 状态码 302 Found 表示请求的资源临时被移动到另一个 URI。当客户端接收到这个状态码时,它应立即使用新的 URI 进行后续请求。这种状态码通常用于临时重定向,意味着原始 URI 仍然有效,未来的请求可能仍然会返回原始资源。

使用场景

临时重定向: 在需要临时更改资源位置时,例如网站维护或临时活动的页面,302 状态码是适合的选择。

用户登录流程: 在用户成功登录后,可以使用 302 状态码将用户重定向到他们请求的页面。

A/B 测试: 在进行 A/B 测试时,可以使用 302 状态码将用户临时重定向到不同的页面进行分析。

示例

请求的 GET 请求示例:

  • GET /old-page HTTP/1.1

  • Host: example.com

服务器响应示例:

  • HTTP/1.1 302 Found

  • Location: https://example.com/new-page

  • Content-Type: text/html

 

图片

关键要点
  • Location 头: 响应中包含 Location 头,指示新的临时 URI。客户端应使用该 URI 进行后续请求。

  • 缓存行为: 302 状态码通常不会被缓存,因为它表示临时重定向。

 

303 See Other: 对请求的响应可在不同 URI 处找到,客户端应使用 GET 方法请求该 URI。

状态码303的含义:

HTTP 状态码 303 See Other 表示客户端应使用 GET 方法请求另一个 URI 来获取所需的资源。它通常用于在处理 POST 请求后重定向客户端到一个新的页面。这一状态码的主要目的是确保客户端获取资源时使用的是正确的 HTTP 方法。

使用场景

表单提交: 在用户提交表单(例如,登录或注册)后,服务器可以返回 303 状态码,将用户重定向到一个结果页面,而不是重新提交表单。这有助于避免重复提交。

RESTful API: 在 RESTful 服务中,303 可以用于指示客户端在某个操作后应获取资源的不同位置。

状态更新: 在执行某些操作(如更新或删除)后,服务器可以使用 303 状态码引导客户端查看更新后的状态或结果。

示例

请求的 POST 请求示例:

  • POST /submit-form HTTP/1.1

  • Host: example.com

  • Content-Type: application/x-www-form-urlencoded

  • username=user&password=pass

服务器响应示例:

  • HTTP/1.1 303 See Other

  • Location: https://example.com/success

  • Content-Type: text/html

 

图片

关键要点
  • Location 头: 响应中包含 Location 头,指示新的 URI。客户端应使用 GET 方法请求该 URI。

  • HTTP 方法: 303 状态码确保客户端在重定向后使用 GET 方法,而不是继续使用原来的请求方法(如 POST)。

 

304 Not Modified: 客户端的缓存版本是最新的,服务器没有新内容。

状态码304的含义:

HTTP 状态码 304 Not Modified 表示所请求的资源自上次请求以来没有被修改。这通常与缓存机制相关,用于指示客户端可以使用其缓存的版本,而不需要重新下载资源。

使用场景 缓存优化: 当客户端向服务器请求资源时,它可能会发送一个条件请求,附带 If-Modified-Since 或 If-None-Match 头。如果资源在服务器上没有被修改,服务器会返回 304 状态码,从而节省带宽和提高加载速度。

减少延迟: 通过使用 304 状态码,服务器可以减少不必要的数据传输,提高性能。

示例

请求的 GET 请求示例:

  • GET /image.png HTTP/1.1

  • Host: example.com

  • If-Modified-Since: Wed, 21 Oct 2023 07:28:00 GMT

服务器响应示例:

  • HTTP/1.1 304 Not Modified

关键要点
  • 条件请求: 304 状态码通常与条件请求一起使用,客户端会在请求中包含 If-Modified-Since 或 If-None-Match 头。

  • 没有消息体: 在响应中,304 状态码通常不会包含消息体,因此不会传输任何资源数据。

 

305 Use Proxy: 请求的资源必须通过指定的代理访问。

状态码305的含义:

HTTP 状态码 305 Use Proxy 表示请求的资源必须通过指定的代理进行访问。此状态码的使用并不常见,且在某些情况下可能会造成安全隐患,因此在现代 web 开发中很少被使用。

使用场景

代理需求: 当服务器希望客户端通过特定的代理服务器来访问请求的资源时,可以使用 305 状态码。如果客户端没有配置该代理,则可能无法访问所请求的资源。 示例 请求的 GET 请求示例:

  • GET /resource HTTP/1.1

  • Host: example.com

服务器响应示例:

  • HTTP/1.1 305 Use Proxy

  • Location: http://proxy.example.com:8080/

在这个例子中,响应中的 Location 头指示客户端应该通过 http://proxy.example.com:8080/ 这个代理来访问所请求的资源。

关键要点
  • 安全隐患: 由于 305 状态码可能会导致安全问题(例如,恶意代理),很多浏览器和 HTTP 客户端并不支持或忽略这一状态码。

  • 不常用: 这个状态码在实际应用中并不常见,通常开发者会选择其他方法来实现类似的功能。

 

307 Temporary Redirect: 请求的资源临时移动到新位置,客户端应使用原来的请求方法继续请求。

状态码307的含义:

HTTP 状态码 307 Temporary Redirect 表示请求的资源临时移动到一个新的 URI。与 302 状态码类似,307 也用于临时重定向,但有一个重要的区别:307 确保客户端在重定向时使用原始的 HTTP 方法。

使用场景

保持方法一致性: 当客户端发起一个 POST 请求时,如果服务器返回 307 状态码,客户端在重定向到新 URI 时仍然使用 POST 方法。这在某些情况下非常重要,例如提交表单后需要临时重定向到不同的页面。

临时重定向: 用于指示资源临时移动到新位置,适用于需要在短期内更改资源位置的场景。

示例

请求的 POST 请求示例:

  • POST /submit-form HTTP/1.1

  • Host: example.com

  • Content-Type: application/x-www-form-urlencoded

  • data=value

服务器响应示例:

  • HTTP/1.1 307 Temporary Redirect

  • Location: http://example.com/thank-you

在这个例子中,客户端会被告知资源临时移动到 http://example.com/thank-you,并且仍然会使用 POST 方法进行请求。

关键要点
  • 方法保持: 与 302 状态码不同,307 状态码要求客户端在重定向时保持原始的 HTTP 方法。

  • 临时性: 307 状态码是临时的,表示将来可能会恢复到原始 URI。

 

308 Permanent Redirect: 请求的资源永久移动到新位置,客户端应使用原来的请求方法继续请求。

状态码303的含义:

HTTP 状态码 308 Permanent Redirect 表示请求的资源已被永久移动到一个新的 URI,并且客户端在重定向时应继续使用原始的 HTTP 方法(例如,POST、PUT等)。

使用场景

方法保持: 与 301 状态码不同,308 确保在重定向时客户端使用原始的 HTTP 方法。这对于某些操作(如文件上传或表单提交)非常重要。

永久性重定向: 用于指示资源永久性地移动到新的位置,适用于需要更新链接或资源地址的场景。

示例

请求的 POST 请求示例:

  • POST /old-endpoint HTTP/1.1

  • Host: example.com

  • Content-Type: application/json

{"key": "value"}

服务器响应示例:

  • HTTP/1.1 308 Permanent Redirect

  • Location: http://example.com/new-endpoint

在这个例子中,客户端会被告知资源永久移动到 http://example.com/new-endpoint,并且在重定向时仍然使用 POST 方法进行请求。

关键要点
  • 方法保持: 308 状态码确保客户端在重定向时保持原始的 HTTP 方法,这对于某些请求非常关键。

  • 永久性: 308 表示请求的资源已被永久移动,客户端应更新其链接。

标签:状态,HTTP,请求,示例,服务器,返回值,异常,客户端
From: https://www.cnblogs.com/luatos/p/18509073

相关文章

  • 后端如何获得登录人的信息以及全局异常处理器
    目录后端如何获得登录人的信息全局异常处理器后端如何获得登录人的信息前提:导入jakarta.servlet-api<dependency><groupId>jakarta.servlet</groupId><artifactId>jakarta.servlet-api</artifactId><optional>true</optional><......
  • Watt Toolkit 报错:加速服务启动失败,443端口被 svnhttpsvc (4996) 占用
    问题描述WattToolkit(原名Steam++)启动加速时报错,显示443端口被svnhttpsvc(4996)占用了。svnhttpsvc是VisualSVNServer的一个应用程序,使用HTTPS协议,默认端口为443。在任务管理器(桌面底部任务栏右键打开)中搜索进程svnhttpsvc的PID4996可以看到svnhttpsvc是正......
  • 局域网使用mkcert配置服务的https访问
    制作ssl证书下载mkcert下载链接:https://github.com/FiloSottile/mkcert/releases安装mkcert(windows为例),生成CA证书下载完成后,在下载目录打开命令行,输入mkcert-install安装CA证书生成自签证书mkcert192.168.2.64或者mkcertexample.com生成自签证书给客户端安装C......
  • 虚拟线程实现Web服务器(处理HTTP请求)
    使用Java虚拟线程开发一个Web服务器可以显著提升并发能力,同时保持代码简洁。在这个示例中,我们将使用Java21的虚拟线程实现一个简单的HTTPWeb服务器,逐步解释每个部分的代码。实现目标通过虚拟线程处理HTTP请求。创建一个简单的Web服务器来响应客户端请求。适配IO......
  • 使用HTTP头进行403绕过 速率绕过 Rate Limit Bypass
    原理某些服务可能根据HTTP头部的信息(如User-Agent、X-Forwarded-For等)来识别用户。如果服务器未正确验证这些头部,攻击者可通过伪造这些头部来绕过限制。使用HTTP头进行403绕过速率绕过RateLimitBypassHTTPHeaders列表CACHE_INFO:127.0.0.1CF_CONNECTING_IP:127.0.0.1......
  • 《成长物语:永恒树之歌》ntdll.dll异常代码0xc0000005,怎么修复
    针对《成长物语:永恒树之歌》游戏中出现的ntdll.dll异常代码0xc0000005问题,可以尝试以下修复方法:一、系统还原打开控制面板:点击开始菜单,选择控制面板。选择系统和安全:在控制面板中,找到并点击“系统和安全”。点击系统:在系统和安全界面中,选择“系统”。进入系统保护:在系统界面......
  • day02|计算机网络重难点之HTTP请求报文和响应报文、HTTP的请求方式(方法字段)、GET请求
    day02|计算机网络重难点之HTTP请求报文和响应报文、HTTP的请求方式(方法字段)、GET请求和POST请求的区别3.HTTP请求报文和响应报文是怎样的,有哪些常见的字段?4.HTTP有哪些请求方式?(即方法字段的不同取值)5.GET请求和POST请求的区别3.HTTP请求报文和响应报文是怎样的,有哪......
  • HttpClient—请求第三方的服务
    1.介绍1.1简介HttpClient是ApacheJakartaCommons项目中的一个子项目,为开发人员提供了一个高效、功能丰富、支持最新HTTP协议的客户端工具包。它不仅可以支持HTTP/1.1和HTTP/2等最新版本的HTTP协议,还包括一系列高级特性,如连接池管理、SSL支持、自动重试机制、......
  • python异常处理中finally的作用
    Python异常处理中finally的作用包括:1、确保程序块退出前的代码执行、2、资源释放和清理工作、3、与return语句的交互行为。在finally子句中最为典型的应用是清理资源,比如关闭文件流或数据库连接。不论try块内代码是否触发了异常,finally子句都会被执行,这为程序员提供一种可靠的手段......
  • WEBRTC教程:局域网怎么调试,http://172.19.18.101:8080 ,无法访问摄像头和麦克风,请检查
    在局域网中使用WebRTC时,无法访问摄像头和麦克风通常是因为浏览器的安全策略限制了getUserMediaAPI的使用。如果你在非localhost或非HTTPS环境下访问网页,浏览器会阻止访问摄像头和麦克风。解决方案在局域网中调试WebRTC时,你有几个选项来解决这个问题:1.使用lo......