0

我第一次使用 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)"". 我该如何使用它?

4

2 回答 2

1

您要求的术语在RFC2616: Hypertext Transfer Protocol -- HTTP/1.1中定义。

例如,特别是 Message (Request/Response) Body 是什么:4.3 Message Body

如果这些 RFC 对您来说是新的,请抓住它并从上到下阅读并尝试尽可能多地理解。您将开始了解互联网中的这些东西是如何工作的。

此外,还有 2.0 版本在管道中,有一些变化:

以防万一你感兴趣。

于 2013-07-12T16:07:39.210 回答
1

我只是将其作为答案而不是评论...

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

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

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

于 2013-07-12T15:58:11.450 回答