请问一下"csdn"的网站结构....有用到xml...有没有用数据库.....

完全是xml做数据库吗~~~~,还是另有数据库的支持....是怎样的一个框架结构呢....多谢了....
---------------------------------------------------------------

数据库+xml
xml只作为现实用,数据全部存在数据库中

个人思路:
1. TopicView1.asp?id=1797081
A. 判断1797081.xml是否存在
a. 存在,则转向到1797081.xml
b. 不存在,生成1797081.xml
c. 其他逻辑元算
B. 其他逻辑运算

2.reply.asp
A. 向数据库添加回复内容
B. 进行其他逻辑运算
C. 如xml文件存在,则向xml文件添加回复内容

3.提问和回复类似,只是其他逻辑运算更多

4. 1797081.xml?temp=.2211115
针对IE缓存 URL中增加了随机参数
使每次从TopicView1.asp转到xml文件时,读取新的数据,而不是从缓存中读取数据

:_)

---------------------------------------------------------------

1.呵呵,上面我所说的第1点的功能,csdn用两个页面去实现

a. TopicView1.asp?id=1822709
获得ID号,算出文件路径,取得1随机数作为参数,直接转向到xml文件:
http://expert.csdn.net/Expert/topic/1822/1822709.xml?temp=.5515558
5515558 就是随机数,防止IE缓存

b. buildtopic1.asp?id=1822709
读取数据库内容,生成xml文件,算出文件路径,取得1随机数作为参数,直接转向到xml文件

xml文件本身只有数据,指定了xslt来显示这些数据
http://expert.csdn.net/expert/Xsl/2.xsl

至于不用一个页面去完成这两项工作,可能出于打开贴子时,节省创建对象(判断文件是否存在)过程所占用的资源,毕竟,csdn的访问量十分庞大

2. 有新的"问题",数据库中添加纪录后,就建立1个新xml文件,回复是在数据库添加纪录后,向相应xml文件增加新的节点。生成xml文件也是为了节省服务器资源.(使用 IE==>查看==>源文件)
所有操作都是先对数据库操作,然后对xml文件操作。
过一阶段,就会对数据库中的数据导出到其他数据库备份,相关xml将被删除。所以要查询以前的数据,需要指明贴子日期(所处阶段),直接显示访问以前的xml则不存在,需要重新生成.

3.缓存机制 IE默认设置,对有访问过的东西,在本地生成临时文件(为了提高访问速度)。下次访问相同资源时,就不再从服务器上读取数据,而是从本地读取,如果使用代理服务器访问,也常会设有相似的缓存设置,即访问相同资源时,不再从服务器上读取数据,而从代理服务器的缓存读取数据。IIS中也提供了"缓存ISAPI应用程序"设置。增加随机参数,欺骗IE或服务器认为是在读取不同的资源.

:_)

Published At
Categories with Web编程
Tagged with
comments powered by Disqus