日期:2014-05-16  浏览次数:20881 次

这些地址是如何解析的?<a href="/200225/list?catid=18&p=1">
我在看到某个网站的时候,发现他们的链接是这样的:
http://www.***.con/message/743a6d161ed6414c8dd0f5b959aa8a5e
听过查看网页源代码,发现他们的超链接是这样的:
<li><a href="/message/list?catid=18&p=1"><span>待办工作</span></a></li>


本人可以理解***.asp?id=1&name=zhang  或者  ***.aspx?id=1&name=zhang
但是以上链接地址理解不了,请教上面的链接地址是如何找到具体的访问页面?

非常感谢!
web地址解析

------解决方案--------------------
http://www.***.con/message/743a6d161ed6414c8dd0f5b959aa8a5e
re:
这种是服务器端url重写.每种服务器(apache,iis,nginx)重写规则语法可能有差异


<li><a href="/message/list?catid=18&p=1"><span>待办工作</span></a></li>
re:
这种叫地址定义。我知道java都是这种.上面的href属性值分为
请求地址:/message/list,在java中可以加上后缀或者省略
?catid=18&p=1,GET请求的参数集合
------解决方案--------------------
url重写:由服务器根据重写规则跳转到实际的地址

地址定义:这(/message/list)就是实际的地址。
------解决方案--------------------
地址定义一般在配置文件中?.net我不会,你打开所有配置看看吧。下面是java的地址定义

 <servlet>
  <servlet-name>ChannelServlet</servlet-name>
  <servlet-class>com.apobates.servlet.ChannelServlet</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>ChannelServlet</servlet-name>
  <url-pattern>/channel/build</url-pattern>
 </servlet-mapping>

url-pattern的值就是.

在.net的网站中,如何解析呢?
re:
要想定义,必须在服务器可以读到的配置文件中,按照规范书写.如果你想更深入,哪去研究服务器的架构吧
------解决方案--------------------
我说的服务器又叫应用服务器。像:IIS,apache,nginx,
java的就多了:
tomcat,jboss,sun application server,weblogic,...
------解决方案--------------------
也有叫 web 容器的
------解决方案--------------------
web服务 都会提供一个 http拦截机制
也就是 http访问的时候  你有机会 预先用你自己的代码 或者预定的配置 进行处理
这个时候你可以把http连接 解析成任何你想要的