web.php 和 api.php 的区别?

各位大大,有点不明白web和api方式的真正区别,查看了laravel的文档,描述如下:

所有的 Laravel 路由都在 routes 目录中的路由文件中定义,这些文件都由框架自动加载。在routes/web.php 文件中定义你的 web 页面路由。这些路由都会应用 web 中间件组,其提供了诸如 SessionCSRF 保护等特性。定义在 routes/api.php 中的路由都是无状态的,并且会应用 api 中间件组。

给我的初步感觉是web用浏览器展示,而api用app等展示,百度了下,发现给的解释是:
api存在ajax问题,说要注意跨域,要不容易存在安全问题
那我可不可以这么理解:

  1. 所有的路由都可以在api中实现,但是要注意ajax的处理方式?这样就不需要开发web的后端?这样的方式常见吗?

  2. 这样就不需要开发web的后端,以统一的方式实现就行?这样的方式常见吗?

希望有大大给我解疑下,summer大大,Kelvin大大,超哥.......

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 3

首先可以不用特别在意这两个文件的名字,可以粗放的理解为 web.php 为 PC,M 站等页面形式的站点或者应用提供路由规则的文件,你说的 ajax 基本也都是在这样的站点路由里,而 api.php 主要是为 APP 应用开发提供访问接口的路由规则。根据自己的应用情况可以自由设置。

6年前 评论

最重要的区别就是 web.php中的路由需要启动session和cookie支持,而api.php中的路由是没有这些东西的

6年前 评论

谢谢回答@reatang @outman

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!