HTTP学习(三)

文章是学习记录使用,摘自《HTTP权威指南》

报文是如何流动的;
HTTP报文的三个组成部分(起始行、首部和实体的主体部分)﹔请求和响应报文之间的区别;
请求报文支持的各种功能(方法)﹔和响应报文一起返回的各种状态码;
各种各样的HTTP首部都是用来做什么的。

所有的HTTP报文都可以分为两类:请求报文(request message)和响应报文(response message)。请求报文会向Web服务器请求一个动作。响应报文会将请求的结果返回给客户端。请求和响应报文的基本报文结构相同。

1.请求行
请求报文请求服务器对资源进行一些操作。请求报文的起始行,或称为请求行,包含了一个方法和一个请求URL,这个方法描述了服务器应该执行的操作,请求URL描述了要对哪个资源执行这个方法。请求行中还包含HTTP的版本,用来告知服务器,客户端使用的是哪种HTTP。

2.响应行
响应报文承载了状态信息和操作产生的所有结果数据,将其返回给客户端。响应报文的起始行,或称为响应行,包含了响应报文使用的HTTP版本、数字状态码,以及描述操作状态的文本形式的原因短语。

3.方法
请求的起始行以方法作为开始,方法用来告知服务器要做些什么。比如,在行“GET /specials/saw-blade.gif HTTP/1.o”中,方法就是GET。
HTTP规范中定义了一组常用的请求方法。比如,GET方法负责从服务器获取一文档,POST方法会向服务器发送需要处理的数据,OPTIONS方法用于确定Web服务器的一般功能,或者 Web服务器处理特定资源的能力。

在这里插入图片描述
4.状态码
方法是用来告诉服务器做什么事情的,状态码则用来告诉客户端,发生了什么事情。

状态码位于响应的起始行中。比如,在行 HTTP/1.0 200 OK中,状态码就是200。

可以通过三位数字代码对不同状态码进行分类。200到299之间的状态码表示成功。300到399之间的代码表示资源已经被移走了。400到499之间的代码表示客户端的请求出错了。500到599之间的代码表示服务器出错了。

在这里插入图片描述
5.原因短语
原因短语是响应起始行中的最后一个组件。它为状态码提供了文本形式的解释。比如,在行HTTP/1.0 200 OK中,OK就是原因短语。
原因短语和状态码是成对出现的。原因短语是状态码的可读版本,应用程序开发者将其传送给用户,用以说明在请求期间发生了什么情况。

6.版本号
版本号会以HTTP/x.y的形式出现在请求和响应报文的起始行中。为HTTP应用程序提供了一种将自己所遵循的协议版本告知对方的方式。
使用版本号的目的是为使用HTTP的应用程序提供一种线索,以便互相了解对方的能力和报文格式。在与使用HTTP 1.1的应用程序进行通信的HTTP 1.2应用程序应该知道,它不能使用任何新的1.2特性,因为使用老版本协议的应用程序很可能无法实现这些特性。

注意,版本号不会被当作分数来处理。版本中的每个数字(比如HTTP/1.0中的1和0)都会被当作一个单独的数字来处理。因此,在比较HTTP版本时,每个数字都必须单独进行比较,以便确定哪个版本更高。比如,HTTP/2.22就比HTTP/2.3的版本要高,因为22比3大。

1.首部分类
HTTP规范定义了几种首部字段。应用程序也可以随意发明自己所用的首部。HTTP首部可以分为以下几类。
·通用首部
既可以出现在请求报文中,也可以出现在响应报文中。
·请求首部
提供更多有关请求的信息。

·响应首部
提供更多有关响应的信息。

·实体首部
描述主体的长度和内容,或者资源自身。

·扩展首部
规范中没有定义的新首部。

每个HTTP首部都有一种简单的语法:名字后面跟着冒号(😃,然后跟上可选的空格,再跟上字段值,最后是一个CRLF。

3.2.4实体的主体部分
HTTP报文的第三部分是可选的实体主体部分。实体的主体是HTTP报文的负荷就是HTTP 要传输的内容。
HTTP报文可以承载很多类型的数字数据:图片、视频、HTML文档、软件应用程序、信用卡事务、电子邮件等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值