Laravel - pokaż trasy | opiekun


Kiedy wykonuję
trasy artisan php
, żądanie
GET
mojej aplikacji zawiera
| HEAD
. Jaki jest cel posiadania
| HEAD
?

Routes.php

+--------+----------------------------------+------------------------------+--------------------------------------+----------------+---------------+
| 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 | |
+--------+----------------------------------+------------------------------+--------------------------------------+----------------+---------------+

Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Żądanie
HEAD
jest prawie identyczne z żądaniem
GET
, różnią się tylko jednym podstawowym aspektem:

odpowiedź
HEAD
nie może zawierać żadnego ładunku (rzeczywistych danych).

To robi

head czasownik

HTTP ma fundamentalne znaczenie dla zarządzania działaniami danych przechowywanych w pamięci podręcznej.
Wartość pola nagłówka w odpowiedzi na Twoje żądanie
HEAD
ostrzeże Cię, jeśli Twoje dane nie są aktualne. Następnie możesz wysłać poprawne żądanie
GET
w celu uzyskania zaktualizowanych danych.
Można to osiągnąć obserwując na przykład pole
Content-Length
lub
Last-Modified
.
W przypadku dużych ładunków buforowanie danych i wykonywanie żądań
HEAD
przed faktycznym
GET
w celu sprawdzenia aktualnych danych może zaoszczędzić sporo pieniędzy na zużyciu danych.
Dowiesz się dokładnie, kiedy otrzymasz pełną ładowność.
Wielkie pytanie:

dlaczego Laravel łączy czasowniki HTTP
HEAD
i
GET
, gdy używasz
Route :: get ()
?

Możesz użyć
Route :: match ('HEAD')
, aby zarejestrować żądanie HEAD, ale wydaje mi się dziwne, że nie mamy
Route :: head ()
.
Z HTTP RFC:

Metoda HEAD jest identyczna z metodą GET, z tą różnicą, że serwer nie powinien zwracać treści wiadomości w swojej odpowiedzi. Metainformacje zawarte w nagłówkach HTTP w odpowiedzi na żądanie HEAD muszą być identyczne z informacjami przesłanymi w odpowiedzi na żądanie GET. Tej metody można użyć do uzyskania metainformacji o jednostce wskazanej w żądaniu bez przekazywania samej jednostki treści. Ta metoda jest często używana do sprawdzania łączy hipertekstowych pod kątem ważności, dostępności i ostatnich modyfikacji.
Odpowiedź na żądanie HEAD MAY może być zapisana w pamięci podręcznej w tym sensie, że informacje zawarte w odpowiedzi MAY mogą zostać użyte do zaktualizowania wcześniej zbuforowanej jednostki z tego zasobu. Jeśli nowe wartości pól wskazują, że buforowana jednostka różni się od bieżącej jednostki (na co wskazywałaby zmiana w Content-Length, Content-MD5, ETag lub Last-Modified), wówczas pamięć podręczna MUSI traktować pamięć podręczną wpis jako nieaktualny.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Następująca funkcja jest pobierana z klasy
Laravel '
s
Illuminate \ Routing \ Router.php
, gdy używasz metody
Route :: get ()
aby dodać trasę do swojej witryny/aplikacji,
Laravel
dodaje obie metody dla
url
, co oznacza, że ​​te
url
są zarejestrowane w
get metoda
jest dostępna zarówno za pomocą metody
GET
, jak i metody
HEAD
HTTP
, a HEAD to po prostu kolejna metoda
Czasownik/metoda HTTP
,, używany do tworzenia żądania
HEAD
.
/**
* 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);
}

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się