HTTP协议②

HTTP协议有两类报文:
请求报文——从客户端向服务器发送的请求报文。
响应报文——从服务器到客户端回答的响应报文。

具体结构见下图

请求报文

响应报文

HTTP请求报文和响应报文都是由三部分组成的,通过比较可以看出,这两种报文的格式区别是开始行不同的。

(1)开始行,用于区别是请求报文还是响应报文。在请求报文中的开始行叫做请求行(Request-Line),而在响应报文中的开始行叫做状态行(Status-Line)。在开始行的三个字段之间都以空格分隔开,最后的“CR”和“LF”分别代表“回车”和“换行”。
(2)首部行,用来说明浏览器、服务器或报文主体的一些信息。首部可以有好几个,但也可以不使用。在每一个首部行中都有首部字段名和它的值,每一行在结束的地方都要“回车”和“换行”。
(3)实体主体(entity body),在请求报文中一般都不用这个字段,而在响应报文中也可能没有这个字段。

下面先介绍HHTP协议请求报文最主要的一些特点。

请求报文的第一行“请求行”只有三个内容,即方法,请求资源的URL以及HTTP的版本。
注意,这里的方法(method)是面向对象技术中使用的专有名词。所谓“方法”就是对所请求的对象进行的操作,这些方法实际上也就是一些命令。

常用的方法如下:
GET  请求访问已被URL标志的资源,指定的资源经服务器端解析后返回响应内容。
POST 传输实体主体,其主要目的并不是获取响应的主体内容。
PUT 在指明的URL下存储一个文件,要求在请求报文的主体中包含文件内容,然后保存到请求URL指定的位置。
HEAD 请求读取由URL所标志的信息的首部,不返回报文主体部分。一般用于确认URL的有效性及资源更新的日期时间等。
DELETE 删除指明的URL所标志的资源。
OPTIONS 请求一些选项的信息,一般用来查询针对请求URL指定的资源支持的方法。
TRACE 用来进行环回测试的请求报文。
CONNECT 用于代理服务器。要求在与代理服务器通信时建立隧道,实现用隧道协议进行TCP通信。

例如,GET /chn/yxsz/index.htm HTTP/1.1   

再看看HTTP协议响应报文的主要特点。

状态行包括三项内容,即HTTP的版本,状态码,以及解释状态码的简单短语。
状态码的职责是当客户端向服务器发送请求时,描述返回的请求结果。借助于状态码,用户可以知道服务器是正常处理了请求。还是出现了错误。

经常使用的状态码只有14种,下面一一介绍。
信息性状态码1XX,表示接收的请求正在处理。
成功状态码2XX,表示请求正常处理完毕。
(1)200 OK 表示从客户端发来的请求在服务器端被正常处理了。
(2)204 No Content 表示服务器接收的请求已经成功处理,但在返回的响应报文中不含实体的主体部分。另外,也不允许返回任何实体的主体。
(3)206 Partial Content 表示客户端进行了范围请求,而服务器成功执行了这部分的GET请求。
重定向状态码3XX,表示需要进行附加操作以完成请求。
(1)301 Moved Permanently 永久性重定向,表示请求的资源已经被分配了新的URL,以后应使用资源现在所指的URL。
(2)302 Found 临时性重定向,该状态码表示请求的资源已经被分配了新的URL,希望用户本次能使用新的URL访问。
(3)303 See Other 表示由于请求对应的资源存在另一个URL,应使用GET方法定向获取请求的资源。
(4)304 Not Modified 表示客户端发送附带条件的请求时,服务器端允许请求访问资源。
(5)307 Temporary Redirect 临时重定向。
客户端错误状态码4XX,表示服务器无法处理请求。
(1)400 Bad Request 表示请求报文中存在语法错误。
(2)401 Unauthorized 表示发送的请求需要有通过HTTP认证的认证信息。
(3)403 Forbidden 表示对请求资源的访问被服务器拒绝了。
(4)404 Not Found 表示服务器无法找到请求的资源。
服务器错误状态码5XX,表示服务器处理请求出错。
(1)500 Internal Server Error 表示服务器端在执行请求时发生了错误。
(2)503 Service Unavailable 表示服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。

例如, HTTP/1.1 404 Not Found
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值