错误的是,在我的网站上检查时,我在浏览器中写了一个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/thispage
或thispage.php
,如果它们存在?
答案 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,请求类型,请求的完整地址,表单中提交的任何数据等信息。
Apache,nginx,iis,是不同类型的HTTP服务器,其全部目的是监听此类请求,并决定如何处理这些请求。
通常,这包括设置一定程度的默认值,例如:
something.com
/var/www/site1
/var/www/site2
/var/default
文件.html
文件这是 DRASTICALLY 简化,并且有很多层和细节,但我试图保持这个简单,如问题
Apache可以配置为在任何人请求“http://blah.something.com/[anything]/ *。好的时候返回猫的样式化谷歌搜索”。它可以配置为根据您发送的网址执行您想要的任何操作。浏览器仅决定发送的内容。