您的位置:首页 > 理论基础 > 计算机网络

APP开发实战26-HTTP消息

2016-05-18 21:43 295 查看

7.3HTTP消息

HTTP消息包括客户机向服务器的请求消息(Request)和服务器向客户机的响应消息(Response)。这两种类型的消息由一个起始行,一个或者多个头字段,一个指示头字段结束的空行和可选的消息体组成。

7.3.1请求消息

  请求消息的第一行为下面的格式:

Method SP Request-URI SPHTTP-Version CRLF

Method表示对于Request-URI完成的方法,这个字段是大小写敏感的,包括OPTIONS、GET、HEAD、POST、PUT、DELETE和TRACE。

方法GET和HEAD应该被所有的通用WEB服务器支持,其他所有方法的实现是可选的。GET方法取回由Request-URI标识的信息。HEAD方法也是取回由Request-URI标识的信息,只是可以在响应时,不返回消息体。POST方法可以请求服务器接收包含在请求中的实体信息,可以用于提交表单,向新闻组、BBS、邮件群组和数据库发送消息。

SP表示空格。

Request-URI遵循URI格式,在此字段为星号(*)时,说明请求并不用于某个特定的资源地址,而是用于服务器本身。

HTTP-Version表示支持的HTTP版本,例如为HTTP/1.1。

CRLF表示换行回车符。

请求消息示例:

  GEThttp://download.microtool.de:80/somedata.exe

Host: download.microtool.de
  Accept: */*

  Pragma: no-cache

  Cache-Control:no-cache

  User-Agent:Mozilla/4.04[en](Win95;I;Nav)

Range: bytes=554554-

7.3.2响应消息

  响应消息的第一行为下面的格式:

  HTTP-Version SPStatus-Code SP Reason-Phrase CRLF

HTTP-Version表示支持的HTTP版本,例如为HTTP/1.1。

Status- Code是一个三个数字的结果代码。Reason-Phrase给Status-Code提供一个简单的文本描述。Status-Code主要用于机器自动识别,Reason-Phrase主要用于帮助用户理解。

Status-Code的第一个数字定义响应的类别,后两个数字没有分类的作用。第一个数字可能取5个不同的值:

  1xx:信息响应类,表示接收到请求并且继续处理

  2xx:处理成功响应类,表示动作被成功接收、理解和接受

  3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理

  4xx:客户端错误,客户请求包含语法错误或者是不能正确执行

  5xx:服务端错误,服务器不能正确执行一个正确的请求

响应消息示例:

  HTTP/1.0200OK

  Date:Mon,31Dec200104:25:57GMT

  Server:Apache/1.3.14(Unix)

  Content-type:text/html

  Last-modified:Tue,17Apr200106:46:28GMT

  Etag:"a030f020ac7c01:1e9f"

  Content-length:39725426

Content-range:bytes55******/40279980
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: