前后端分离的思考 - 网站URL设计

news/2024/5/9 7:50:45/文章来源:https://blog.csdn.net/weixin_33717117/article/details/91884104

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

    最近在开发新项目,总是希望尽善尽美,让以后的维护轻松一点.基于前后端分离的模式进行开发,所有的浏览器url都由前端处理后转发发给后端,这里前端就要设计一些友好的url.

    一开始没有注意这方面,开发完将近两个模块后,突然发现url的设计处于随心所欲的状态,没有一个规范.这才发现这是一个不容忽视,但却经常性被忽视的问题,

    

224321_KrhD_723632.jpeg

    既然决定好好梳理一下url的设计,首先我来思考一下url的作用.一般来说,用户通过一个url的能访问到一些资源,这里提到的资源通常情况下是一些数据,可能是文字表格,图片,音乐或者视频等.结合一些资料自己总结了一些url的规划.


    短小而有含义    

    不知道谁之前提出过url的设计要注意对于SEO的友好,我只能说根据我的体验这纯粹是扯淡...你在设计url的时候先想清楚,那么长一串的"专业英文"到底是为谁设计的,url的目的是为了服务于人,而不是为搜索引擎设计的.所以使用完整而有含义的单词,如果词义相近选择尽量短小的.从这个角度想之前的一些设计就不是很合理,比如www.demo.com/resource_childlist/2这样的url,应该设计成www.demo.com/resource/2/chilclist才对.

    为了对用户尽可能友好,那么就应该让url具有良好的可读性并且尽可能的短,我曾看到说不要在url中出现类似数据库ID号这样对用户没有意义的内容,按照建议/products/23这样的URI地址对用户是很不友好的,应当使用/products/red-apple一类的地址.对于这个我持相反的意见,按照RESTful接口的设计思路,以及程序的开发的便利性,使用唯一标识的好处都要比坏处明显的多.


    可预测性

    另一个良好url的设计表现,就是url的可预测性.因为你的url设计准则非常一致,规律性很强.那么用户则可以据此推测其他内容的url.比如www.demo.com/resource/2/childlist代表资源2的子列表,那么www.demo.com/resource/22/childlist则应该代表资源22的子列表.


    url字母小写

    如果平时仔细观察你会发现很少有网站的url中包含了大写字母,尤其是web网站的页面url.这么做是为了方便使用者输入,不会因为大小写混合出现错误,另外有一些服务器对于大小写区分敏感.这是为了避免一些特殊词对于url的破坏,同时也会尽量避免使用诸如!,@,#,$,%,^,&,*一类的字符.


    额外的资源后缀是没有意义的

    因为是前后端分离开发,所以页面全都是一些静态文件,然后又JS请求数据再来动态渲染.所以用户url请求的其实都是一些url,但是绝对不会出现www.demo.com/resource.html这样的路径,首先对用户不友好,其次也没有必要暴露对于用户没有任何意义的.html后缀.  


    结论就是url的设计要紧密结合系统的功能模块,从视觉的角度去规划,在易读的同时注意于系统组织结构的结合.

转载于:https://my.oschina.net/blogshi/blog/291742

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_829549.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在PC上测试移动端网站和模拟手机浏览器的5大方法

2019独角兽企业重金招聘Python工程师标准>>> 最近公司要开发网站的移动版,让我准备准备知识,话说本人开发移动网站的经验还真不多,最悲剧的事情就是我的手机是个经典的诺基亚,而且公司还不给配手机,这是有多…

Android-好的学习网站或者博客

2019独角兽企业重金招聘Python工程师标准>>> 1,http://blog.csdn.net/liuhe688/article/details/6733407 讲的很基础,还会配有很多实例,很详细 转载于:https://my.oschina.net/u/1376153/blog/355129

20分钟一键自动化部署10台服务器网站集群

谢谢老男孩oldboy本内容来自老男孩教育,20期学生的期中架构实战分享讲解,全架构用了近40个SHELL脚本,8个expect脚本,2个python程序实现,历时1-2周。值得所有从事LINUX的初学者以及初中级运维参考学习。本视频分两部分&…

程序员兼职十大网站

前言今天给大家介绍几个接私活的网站,接私活比较辛苦,如果弄不好的话,就是纯体力的劳动,大家也可以尝试做兼职远程开发。需要挣个生活费的小伙伴们,或者在校学生想锻炼自己的,可以去尝试一下。以下网站仅供…

外国程序员兼职网站

老哥絮叨这篇文章是讲之前承诺的一些外国兼职网站,老哥在这里只是把这些信息告诉大家,不做过多的评论,大家按照自己的需要来。仁者见仁智者见智,每个人的想法和经历都不一样,所以老哥就不多哔哔了,兼职开头…

福建SEO:根据跳出率和退出率分析用户体验

衡量一个网站建设的好不好,最重要的是看用户体验效果。有人就会问那怎么判断用户体验呢?有什么指标可以来衡量嘛?(亲,莫及)福建SEO就从两个方面来为大家分析:跳出率、退出率。二者之间又有什么区…

4.Windows Server2012 R2里面部署 MVC 的网站

网站部署之~Windows Server | 本地部署:http://www.cnblogs.com/dunitian/p/4822808.html#iis 后期会在博客首发更新:http://dnt.dkill.net 添加角色 基本功能 默认即可 装一下iis 选4.5和iis核心 其他的下面继续选 安全肯定全要的,常见HTTP和应用程序开…

25 个精美的手机网站模板

Dossier Mobi Stickers Playlist Mobi Gringo mobi Classic Mobi Premium Mobile Website Templates and Layouts Restaurant Mobile Theme Meat&Recipes Signum Mobile | HTML5 & CSS3 And iWebApp AxiaMobile – Mobile Designed Template Woody – Mobile Theme Ese…

Redis简单案例(一) 网站搜索的热搜词

对于一个网站来说,无论是商城网站还是门户网站,搜索框都是有一个比较重要的地位,它的存在可以说是 为了让用户更快、更方便的去找到自己想要的东西。对于经常逛这个网站的用户,当然也会想知道在这里比较“火” 的东西是什么&#…

大型网站架构技术一览

大型网站架构技术一览 网站系统架构层次如下图所示: 1、 前端架构 前端指用户请求到达网站应用服务器之前经历的环节,通常不包含网站业务逻辑,不处理动态内容。 (1) 浏览器优化技术; (2&…

使用百度统计来统计网站访问信息

(1)网址:https://tongji.baidu.com (2)注册账号,登陆。 (3)登陆进去之后:新建网站,输入我们要统计网站 (4)在我们网站的头部添加代码: (5)网站统计查看:可以统计用户分布,检索词查询&#xff…

SEO之建立有效页面数据库:目的、定义、流程、应用

关于 SEO 运营观,简明提到,好的 SEO 工作开展,是需要从「需求形成产品」再到「流量获取及转化」贯穿始终的。文中有这么一段话:SEO 运营观(传递价值,变现产品)。SEO运营公式:有效查询覆盖 有效抓取 有效收录…

李唐:教你怎么做好网站SEO策略

一、竞争对手分析利用搜索引擎或SEO工具寻找关键字排名较好的竞争对手(3个左右),分析其排名较好的原因,如域名,站龄,页面关键字,内外链数量与质量等,记录并进行比较。二、关键字选取…

JSP网站开发基础总结《十三》

继上一篇为大家补充过滤器类后,本篇为大家简单介绍一下如何实现验证码效果。验证码的作用是什么呢?1、防止恶意注册2、防止恶意提交3、防止盗取账户等等,总的来说验证码的存在就是为了,防止非人为的操作,不过需要指出的…

JSP网站开发基础总结《十》

经过上一篇的介绍相信大家对JSP提供的过滤器一定有了一个概念,本篇我们就一起再来研究一下关于创建多个过滤器时,如果有两个以上过滤器的过滤规则相同,那么这些过滤器的执行顺序如何呢?答案是根据我们在web.xml中声明的先后顺序进…

JSP网站开发基础总结《八》

JSP的学习总结到本篇已经八篇了,内容比较多,但都是实战,本篇最后为大家介绍一个小效果:百度分页。就是当我们遍历的数据对象较多时,这时我们就会看到了这个效果了,那他是如何实现的呢?下面我们就…

jquery mouseover与mouseenter,mouserout与mouseleave的区别

mouseover与mouseenter不论鼠标指针穿过被选元素或其子元素&#xff0c;都会触发mouseover事件只有在鼠标指针穿过被选元素时&#xff0c;才会触发mouseenter事件 <!doctype html> <html> <head> <meta charset"utf-8"> <script type&quo…

电商网站中价格的精确计算(使用BigDecimal进行精确运算(实现加减乘除运算))...

使用BigDecimal的String的构造器。商业计算中&#xff0c;使用bigdecimal的String构造器&#xff0c;一定要用。 重要的事情说三遍&#xff1a; 商业计算中&#xff0c;使用bigdecimal的String构造器&#xff01; 商业计算中&#xff0c;使用bigdecimal的String构造器&#xff…

利用Serverless架构下函数计算实现网站文件处理的最佳实践...

本文介绍如何通过函数计算实现网站文件管理的最佳实践&#xff0c;包括以下几个功能&#xff1a;•特定图片更新后&#xff0c;自动更新这些特定文件之前的压缩包&#xff08;compress函数&#xff09;•自动获取压缩包文件的md5值&#xff08;get-object-md5函数&#xff09;•…

sqlmap对php登录页面,SQLMAP/Metasploit介绍及PHP网站渗透

查找PHP网页&#xff1a; inurl:php?id查询jsp网页&#xff1a;inurl:asp?id判断网页的动态还是静态www.baidu.com------>www.baidu.com/index.html-----没有报错就是静态页面www.baidu.com/plasp?id86------>www.baidu.com/plasp?id86 and 11--测试网页是否有注入…