浏览器会忽略后缀吗?

时间:2017-10-09 21:05:39

标签: php html url redirect url-redirection

错误的是,在我的网站上检查时,我在浏览器中写了一个URL时没有添加后缀import requests from bs4 import BeautifulSoup page = requests.get("https://openweathermap.org/city/2743477") soup = BeautifulSoup(page.content, 'html.parser') city_name = soup.find(class_="weather-widget__city-name") print(soup.prettify()) 。浏览器忽略它并简单地返回页面,就像我添加了.php后缀一样!这是正常的吗?是否所有现代浏览器都会看到.php之类的网址,只需转到www.website.com/thispagethispage.php,如果它们存在?

2 个答案:

答案 0 :(得分:1)

完全取决于Web服务器及其配置,以及如何处理URL。 Apache,NGinx,Cherokee,Litespeed等Web服务器都有不同的机制来处理URL请求到达时发生的情况,然后是它之后决定做什么。 例如,您可以让您的Web服务器尝试将.php和.htm以及.html后缀添加到请求的URL,以便尝试提供帮助。或者只是提供404页面,或将请求发送到主页 - 例如index.php。

答案 1 :(得分:1)

请求转到服务器。

浏览器地址栏中的任何基本URL都会向域(或主机名)定义的服务器发出HTTP请求。因此,mm-server将一大堆信息(在请求的“HEADER”中)发送到为http://www.something.com/here/there.x www子域注册的IP。该服务器获取请求,该标头包含有关您的浏览器,IP,请求类型,请求的完整地址,表单中提交的任何数据等信息。

您的服务器的http引擎决定如何处理它

Apache,nginx,iis,是不同类型的HTTP服务器,其全部目的是监听此类请求,并决定如何处理这些请求。

通常,这包括设置一定程度的默认值,例如:

  1. 将域名与目录匹配
    • something.com:something.com
    • strange.com:/var/www/site1
    • 默认:/var/www/site2
  2. 将路径(域后面的'/'之后)匹配到文件
    • 检查匹配的/var/default文件
    • 检查匹配的.html文件
  3. 检查权限和身份验证
  4. 根据配置执行文件
    • 将php文件发送到php进程,并重新路由输出
    • 简单地抓取并转储图像,txt和html文件的内容。
  5. 根据刚执行的内容发送回复。
  6. 这是 DRASTICALLY 简化,并且有很多层和细节,但我试图保持这个简单,如问题

    你告诉apache(或其他什么)该做什么。

    Apache可以配置为在任何人请求“http://blah.something.com/[anything]/ *。好的时候返回猫的样式化谷歌搜索”。它可以配置为根据您发送的网址执行您想要的任何操作。浏览器仅决定发送的内容。