h5前端有php,【前端】为什么有些网站的页面地址,没有加上html或者php或者jsp的后辍名?...
如寫成http://www.例子.com/page/help的形式
回答
因為不需要
Every HTTP URL conforms to the syntax of a generic URI. A generic URI is of the form:
scheme:[//[user:[email?protected]]host[:port]][/]path[?query][#fragment]
via Wikipedia
可見 URI 并不需要以后綴名結尾。
早期的 URI 常見以后綴名結尾,是由于當時的網站多為靜態或偽靜態的,訪問一個 URI 相當于 訪問 服務器上的一個文件,由服務器直接返回或解析其中的腳本后返回(ASP or PHP)。
而如今,網站幾乎都是動態的了,URI 不再和文件一一對應,而是以功能、邏輯區分。后端框架會解析 URI,并將請求分配到對應的處理函數(handler),然后返回處理結果。
path只是個字符串
他可以映射到服務器的一個文件名 (.php, .asp)
在framework或rewrite的支持下也可以不映射
django的教程有這麼一段:
Because the URL patterns are regular expressions, there really is no limit on what you can do with them. And there’s no need to add URL cruft such as .html – unless you want to, in which case you can do something like this:
url(r'^polls/latest\.html$', views.index),
But, don’t do that. It’s silly.
因為路由,給一個url(有沒有后綴名都行),服務器會根據url返回相應的頁面.jsp,.php,.html等。
能想到的有兩種情況,一是help只是個文件夾,在他下面有默認文件名的index.php或者index.html.二是網站設置了路由規則,也就是這個url會被網站重新解析到指定路徑
在j2ee的web框架spring mvc或者struts中,這個應該是url映射,比如你上面的help映射成框架里的控制器,然后控制器處理完相應業務邏輯之后跳轉到指定頁面顯示處理結果。
現在的網站基本是動態的,URL不不代表網站的真實目錄,因為已經rewrite,也就是服務器可以控制要不要加,也可以完全重寫URL,不加可以提高安全性,雖然這個安全性現在看來沒什么鳥用。
總結
以上是生活随笔為你收集整理的h5前端有php,【前端】为什么有些网站的页面地址,没有加上html或者php或者jsp的后辍名?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微型计算机及接口技术试卷,微机原理及接口
- 下一篇: php 获取京东交易账号,PHP爬虫爬取