react-router-dom
-
BrowserRouter
:对Router
接口的实现,使得页面和浏览器的history保持一致。如:window.location
-
hashRouter
:对Router
接口的实现,只是使用的是url的hash部分,如window,location.hash
- 区别:如果是非静态站点,要处理各种不同的URL,则需使用
BrowserRouter
。如果是静态站点,只需要匹配静态URL,则使用hashRouter
。
动态站点和静态站点有什么区别
- 网站采用动态网页还是静态网页主要取决于网站的功能需求和网站内容的多少,如果网站功能比较简单,内容更新量不是很大,采用纯静态网页的方式会更简单,反之一般要采用动态网页技术来实现。
- 静态网页是网站建设的基础,静态网页和动态网页之间也并不矛盾,为了网站适应搜索引擎检索的需要,即使采用动态网站技术,也可以将网页内容转化为静态网页发布。
- 动态网站也可以采用静动结合的原则,适合采用动态网页的地方用动态网页,如果必要使用静态网页,则可以考虑用静态网页的方法来实现,在同一个网站上,动态网页内容和静态网页内容同时存在也是很常见的事情。
动态网页的特点
- 采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等;
- 动态网页以数据库技术为基础,可以大大降低网站维护的工作量;
- 动态网页中的“?”对搜索引擎检索存在一定的问题,搜索引擎一般不可能从一个网站的数据库中访问全部网页,或者出于技术方面的考虑,搜索蜘蛛不去抓取网址中“?”后面的内容,因此采用动态网页的网站在进行搜索引擎推广时需要做一定的技术处理才能适应搜索引擎的要求;
- 动态网页实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页。
静态网页的特点
- 静态网页是以.htm、.html、.shtml、.xml等为后缀的;
- 静态网页的内容相对稳定,因此容易被搜索引擎检索;
- 静态网页的交互性较差,在功能方面有较大的限制;
- 网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页的内容都是保存在网站服务器上的,也就是说,静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件;
- 静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难。
对于动静态网页最简单的最直接的判断就是看网址的后缀。
补充
- html 是指静态网页 它不操作数据库 也就是说一个页面上写的1 要想改成2 就要改这个页面的代码 ”用在客户端的显示“
- jsp asp php 是在html的基础上 增加了对数据库的操作 这三种都是服务器端的语言 “用在服务器的控制”
- ajax 不是一种语言 它是一种客户端的显示技术 比如你输入用户名,你要点按钮提交后才能知道是否被占用,ajax可以使你在输入用户名后不用点那一下确定,它自己会提交判断并显示。