为什么 Laravel 默认情况下通过 POST 注销(而不是 GET)?

Why does Laravel, by default, logout via POST (As opposed to GET)?

在 Laravel 应用程序的上下文中,POST 执行注销的意义是什么?是否存在一些安全 and/or 会话特殊性,仅通过 GETing 进行 POSTing?

生成的相关部分make::auth:

<ul class="dropdown-menu" role="menu">
  <li>
    <a
      href="{{ url('/logout') }}"
      onclick="event.preventDefault();document.getElementById('logout-form').submit();">
      Logout
    </a>

    <form id="logout-form" action="{{ url('/logout') }}" method="POST" style="display: none;">
      {{ csrf_field() }}
    </form>
  </li>
</ul>

GET 请求应该是“safe”并且不应该有任何明显的副作用。例如,浏览器的预缓存功能是否遵循 link 应该无关紧要。那应该只是获取一些数据。

注销用户会产生严重的副作用,因此 GET 是不合适的。