slim-php(“request-body”文档的解释)


slim php (explanation of "request body" documentation)

我是第一次使用Slim PHP,我正在尝试理解其中一个概念。在瘦PHP文档中,它指出:

请求正文

使用请求对象的getBody()方法来获取HTTP客户端发送的原始HTTP请求正文。这对于使用JSON或XML请求的Slim应用程序特别有用。

<?php
$request = $app->request();
$body = $request->getBody();

我的问题是,什么是"原始HTTP请求体"?它只是页面正文中所有HTML的字符串吗?它的存储格式是什么?echo $body会是什么样子?如果我做var_dump($body),我得到string(0)""。我该如何使用它?

我只是把它作为一个答案,而不是评论。。。

原始请求数据是作为POST请求的主体从浏览器提交的数据。http://en.wikipedia.org/wiki/POST_%28HTTP%29#Use_for_submitting_web_forms

从技术上讲,它可以用于从常见的html表单中读取数据,但这没有多大意义,因为PHP做得足够好,并将所有内容都放入$_POST中。

如果您有一些javascript发送XML或JSON数据,而PHP本身并不接受这些数据,那么您可能需要读取原始数据。

您要求的术语在RFC2616:超文本传输协议HTTP/1.1中定义。

例如,特别是消息(请求/响应)主体是什么:4.3消息主体。

如果这些RFC对你来说是新的,那么抓住它,从上到下阅读,并尽可能多地理解。你会开始看到互联网上的这些东西是如何运作的。

此外,2.0版本正在酝酿中,并进行了一些更改:

  • 超文本传输协议2.0版(草案04)

以防万一你感兴趣。