教程 > http 教程 > 阅读:75

http 响应——迹忆客-ag捕鱼王app官网

在接收并解释请求消息后,服务器以 http 响应消息进行响应。接下啦我们详细介绍http 响应消息中使用的每个实体。

消息状态行

状态行由协议版本后跟数字状态代码及其相关的文本组成。元素由空格 sp 字符分隔。

status-line = http-version sp status-code sp reason-phrase crlf

http 版本

支持 http 1.1 版本的服务器将返回以下版本信息:

http-version = http/1.1

状态码

status-code 是一个 3 位整数,其中 status-code 的第一位数字定义响应的类别,最后两位数字没有任何分类作用。第一个数字有 5 个值:

序号 代码 描述
1 1xx:信息 这意味着已收到请求并且该过程正在继续。
2 2xx:成功 这意味着动作被成功接收、解析和接受。
3 3xx:重定向 这意味着必须采取进一步行动才能完成请求。
4 4xx:客户端请求错误 这意味着请求包含不正确的语法或无法完成请求。
5 5xx:服务器错误 这意味着服务器未能满足明显有效的请求,可能服务端程序有错误。

http 状态代码是可扩展的,并且 http 应用程序不需要了解所有已注册的状态代码的含义。在单独的章节中提供了所有状态代码的列表供您参考。

响应头字段

当我们学习 http 头字段时,我们将在单独的章节中学习 general-header 和 entity-header。现在,让我们看一下 response 标头字段是什么。

响应头字段允许服务器传递关于响应的附加信息,这些信息不能放在状态行中。这些头字段提供了关于服务器的信息以及关于对由 request-uri 标识的资源的进一步访问的信息。

  • accept-ranges
  • age
  • etag
  • location
  • proxy-authenticate
  • retry-after
  • server
  • vary
  • www-authenticate

如果您要编写自己的自定义 web 客户端和服务器,则可以引入自定义字段。

响应消息示例

现在让我们把它们放在一起形成一个 http 响应,用于从在 jiyik.com 上运行的 web 服务器获取hello.html页面的请求

http/1.1 200 ok
date: fri, 23 jul 2018 07:17:06 gmt
server: apache/2.2.14 (win32)
last-modified: tue, 20 jul 2018 01:22:52 gmt
content-length: 88
content-type: text/html
connection: closed


以下示例显示了当 web 服务器找不到请求的页面时显示错误条件的 http 响应消息:

http/1.1 404 not found
date: sun, 18 oct 2018 10:36:20 gmt
server: apache/2.2.14 (win32)
content-length: 230
connection: closed
content-type: text/html; charset=iso-8859-1

   404 not found
   
   

the requested url /t.html was not found on this server.

以下是当 web 服务器在给定的 http 请求中遇到错误的 http 版本时显示错误情况的 http 响应消息示例:

http/1.1 400 bad request
date: sun, 18 oct 2018 10:36:20 gmt
server: apache/2.2.14 (win32)
content-length: 230
content-type: text/html; charset=iso-8859-1
connection: closed

   400 bad request
   
   

your browser sent a request that this server could not understand.

the request line contained invalid characters following the protocol string.

查看笔记

扫码一下
查看教程更方便
网站地图