这些地址是怎么解析的?
我在看到某个网站的时候,发现他们的链接是这样的:
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连接 解析成任何你想要