师太 大佬有话说 :
为什么大厂的网站URL都没有后缀?
本帖最后由 师太 于 2020-10-7 00:46 编辑
比如:https://cloud.tencent.com/login?s_url….
https://mp.weixin.qq.com/cgi-bin/registermidpage?action…
红色后边到底是html还是php或者其他语言?貌似很多大厂都是这种形式,到底有什么好,是通过伪静态实现的么?:lol
感谢楼下各位大佬的解答,大佬们的意思其实这就是一个路由功能,通过URL对应控制器和操作类的,比如thinkphp就是通过伪静态+路由配置实现的
但是我还是不明白为什么要省略.html或者.php,直接php对应过去不好么?
而且,路由的主要功能是多级目录对应相应的控制器和操作方法,比如http://xxxooo.com/index/hello 对应index控制器下的hello的方法,实际上他是用了伪静态 http://xxxooo.com/index.php/index/hello,主要是为了MVC的实现
但是像腾讯这种https://cloud.tencent.com/login?s_url…., 只有一个login ,主要功能我感觉应该不是路由的关系吧,莫非真实地址是类似index.php/login之类的?小白勿喷:lol
idczy4zq 大佬有话说 :
……..麻烦别问这么基础的东西好吗
OXO 大佬有话说 :
本帖最后由 OXO 于 2020-10-7 01:24 编辑
师太 大佬有话说 : 2020-10-7 00:35
大佬的意思其实这就是一个路由功能,通过URL对应控制器和操作类的,比如thinkphp
thinkphp 就是通过伪静 …
因为 html 准确的说是纯静态页面,php 是指 php 开发的页面,而楼上说的 flask 明明是 python 开发的为啥要用 .php 扩展名?
对大厂来说,一套系统不一定只有一种语言组成,可能有 java 可能有 c++ 可能有 python,不同语言强项负责不同业务模块,一个 url 请求的背后也不一定只由一种语言去处理
另外也不是所有大厂都没扩展名,比如腾讯的页面很多就是 .shtml 的,对于没扩展名的厂,我觉得除了避免产生歧义之外,更主要的原因就是好看
再补充一下路由的点,答案肯定是路由,但是在大系统中,路由肯定不是由 index.php 去处理的,很多是在 http server 处理的,甚至是在 api 网关处理,当 http server 收到一个请求时,根据 path 判断要调用哪个模块来处理对应的业务。
像 egg.js 这样的 node.js 框架(拿它举例是因为它就符合你说的大厂,它是阿里开发的)这类框架属于后端中的前端,承担了一些简单的业务逻辑,他甚至没有 index.js 文件,因为它本身就自带了 http server。
年轻人 不要局限在 thinkphp 这类框架去理解问题,更不要尝试用 thinkphp 的角度去理解真正的互联网产品
Lost_Scarecrow 大佬有话说 :
一帖看出论坛水平
inkedus 大佬有话说 :
cgi-bin 是c++写的https://cdn.jsdelivr.net/gh/hishis/forum-master/public/images/patch.gif
猛犸 大佬有话说 :
没后缀意味着搜索引擎会把这当作一个目录。
记得帝国cms可以这样设置。
有利于seo,这是搜索引擎推荐的做法。
gr58046576 大佬有话说 :
应该是伪静态之类的吧
16qf 大佬有话说 :
:lol 楼上马总正解
师太 大佬有话说 :
inkedus 大佬有话说 : 2020-10-7 00:10
cgi-bin 是c++写的
C++是后端吧,前端总要生成html显示的,这个不重要,我想问的是为什么刻意省略了html,比如云函数网址都是没有后缀的:lol
timelo 大佬有话说 :
不同语言的路由解析规则不……
naohion 大佬有话说 :
可以配置路由的
滑稽 大佬有话说 :
为啥一定要后缀(或者说扩展名)?
举个例子,只要愿意,可以修改nginx的配置文件里让php-fpm同时处理无后缀名的文件也能达到这一效果(不是伪静态哦
william2ct 大佬有话说 :
应该不是伪静态吧。 谁知道用的什么语言,应该有一个配置文件,定义他自己的规则
hula 大佬有话说 :
后端写代码可以路由,对某个url调用某个函数,比如看看flask的hello world