第 8 天:弄懂 HTTP 请求报文

以前觉得 HTTP 请求报文很难理解,直到系统看完了 RFC2616 和《HTTP权威指南》相关章节,发现原来并没有那么难理解。

你可以把 HTTP 请求报文看成一段「有格式」的文本,它描述了「我要干什么,我提供了哪些有用的信息」。这个类似于我们平时打电话,要知道对方的电话号码,以及要沟通的事情。我觉得 request 就是干了一件沟通的事情。

它的内容也比较简单,我们看一张图,内容我是从网上随便抓的。

请求报文由三部分组成:

1.请求行(request line)

基本语法:Method 空格 Request-URI 空格 HTTP版本 换行。比如:

POST /bauhinia/v1/class/purchase/info HTTP/1.1。HTTP 中常用的方法就是 GET 和 POST,主要的作用是要执行什么事件。

2.请求头(request header)

请求头会分多种:

<1>.通用Header(request 和 response 都可以使用)

Cache-Control:

Connection:

Date:

Pragma:

Trailer:

Transfer-Encoding:

Upgrade:

Via:

Warning:

<2>.请求Header(只有请求使用,携带关于请求和客户端的额为信息供服务端使用)

Accept:

Accept-Charset:

Accept-Encoding:

Accept-Language:

Authorization:

Expect:

From:

Host:

If-Match:

If-Modified-Since:

If-None-Match:

If-Range:

Max-Forwards

Proxy-Authorization:

Range:

Referer:

TE:

User-Agent:

<3>.实体Header(关于 body 的附加信息)

Allow:

Content-Encoding:

Content-Language:

Content-Length : 表示请求体的长度;

Content-Location :

Content-MD5:

Content-Range :

Content-Type: 表示请求体的内容类型;

Expires:

Last-Modified:

3.请求体(body)

POST 方法会携带请求体,通过 key=value 的形式把不同的值使用&拼接起来。

总结

关于 request 报文信息主要由三部分组成,请求行、请求头和请求体,其中请求头内容比较多,更详细的内容可以查看 RFC2616 文档,有非常详细的描述。另外在请求头中也可以定义自己的信息,一般会放网络请求的通用参数供服务端使用。在网络请求的过程中,会把请求报文通过 TCP 传输到服务端。下一节内容我们学习响应报文的内容。大家加油!!!

今天打卡指令:

1.谈一谈你都用过哪些 Header?你能说出上面 Header 的作用吗?

2.response报文与request报文有什么不同?


推荐阅读:

第 7 天:小卖部与生产商之间的协作

这些网络(HTTP, TCP, WebServer)学习资料不容错过

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值