首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >拉威尔-路线得到了头

拉威尔-路线得到了头
EN

Stack Overflow用户
提问于 2014-03-01 18:37:07
回答 2查看 10.5K关注 0票数 3

当我做php artisan routes时,我的应用程序的GET请求有一个|HEAD。拥有|HEAD的目的是什么?

Routes.php

代码语言:javascript
运行
复制
+--------+----------------------------------+------------------------------+--------------------------------------+----------------+---------------+
| Domain | URI                              | Name                         | Action                               | Before Filters | After Filters |
+--------+----------------------------------+------------------------------+--------------------------------------+----------------+---------------+
|        | GET|HEAD /                       | home                         | HomeController@home                  |                |               |
|        | GET|HEAD user/{username}         | profile-user                 | ProfileController@user               |                |               |
|        | GET|HEAD account/change-password | account-change-password      | AccountController@getChangePassword  | auth           |               |
|        | GET|HEAD asset/encode-file/{id}  | encode-file                  | EncodeController@getEncode           | auth           |               |
|        | GET|HEAD asset/edit-file/{id}    | edit-file                    | AssetController@getEdit              | auth           |               |
|        | GET|HEAD asset/delete-file/{id}  | delete-file                  | AssetController@deleteDestroy        | auth           |               |
|        | GET|HEAD asset/upload-file-form  | upload-file-form             | AssetController@getUploadCreate      | auth           |               |
|        | GET|HEAD asset/library           | asset-library                | AssetController@getAssetLib          | auth           |               |
|        | GET|HEAD account/sign-out        | account-sign-out             | AccountController@getSignOut         | auth           |               |
|        | GET|HEAD account/activate/{code} | account-activate             | AccountController@getActivate        | guest          |               |
|        | GET|HEAD account/forgot-password | account-forgot-password      | AccountController@getForgotPassword  | guest          |               |
|        | GET|HEAD account/recover/{code}  | account-recover              | AccountController@getRecover         | guest          |               |
|        | GET|HEAD account/sign-in         | account-sign-in              | AccountController@getSignIn          | guest          |               |
|        | GET|HEAD account/create          | account-create               | AccountController@getCreate          | guest          |               |
+--------+----------------------------------+------------------------------+--------------------------------------+----------------+---------------+
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-01 19:11:12

以下函数来自Laravel'Illuminate\Routing\Router.php类,当您使用Route::get()方法为站点/应用程序添加路由时,Laravelurl添加两种方法,这意味着,使用get方法注册的这些url可以同时使用GETHEAD D9Illuminate\Routing\Router.php>方法访问,而只是另一个HTTP谓词/方法,用于发出HEAD请求。

代码语言:javascript
运行
复制
/**
 * Register a new GET route with the router.
 *
 * @param  string  $uri
 * @param  \Closure|array|string  $action
 * @return \Illuminate\Routing\Route
 */
public function get($uri, $action)
{
    return $this->addRoute(array('GET', 'HEAD'), $uri, $action);
}
票数 4
EN

Stack Overflow用户

发布于 2016-11-27 21:46:49

HEAD请求几乎与GET请求相同,它们仅在一个基本方面有所不同:响应不应包含有效载荷(实际数据)。

这使得HEAD HTTP谓词对于管理当前缓存数据的有效性至关重要。

如果您的数据不是最新的,HEAD请求响应中的标头字段的值将警告您。之后,您可以发出适当的GET请求,检索更新的数据。

例如,可以通过观察Content-Length字段或Last-Modified字段来实现这一点。

在处理大型有效载荷时,缓存数据并在实际的HEAD请求之前进行GET请求以检查当前数据的有效性,可以为数据消耗节省大量资金。

您将准确地知道何时检索全部有效载荷。

最大的问题是:当您使用HEAD Route::get()**?**时,为什么要将和 HTTP谓词结合起来?

您可以使用Route::match('HEAD')注册您的头请求,但我觉得奇怪的是,我们没有Route::head()

来自HTTP:

HEAD方法与GET相同,只是服务器不能在响应中返回消息体。HTTP头中包含的响应头请求的信息应该与响应GET请求而发送的信息相同。这种方法可以用于获取请求所隐含的实体的信息,而不需要转移实体-主体本身。此方法通常用于测试超文本链接的有效性、可访问性和最近的修改。 对HEAD请求的响应可以缓存,因为响应中包含的信息可以用于从该资源更新先前缓存的实体。如果新字段值指示缓存实体与当前实体不同(如内容长度、内容-MD5、ETag或最后修改的更改所指示的那样),则缓存必须将缓存条目视为陈旧。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22118598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档