问题描述
各位,我有个问题,最近在设计点赞功能,打算是用webapi来实现,webapi项目是放在api.xxx.com里的,主站www.xxx.com的页面ajax点击然后调用api.xxx.com里的点赞方法,现在问题是怎么限制点赞次数,登录账户还好控制,就是想控制游客的点此次数,想控制在一天一次,但发现api.xxx.com的webapi项目里貌似记录不了cookie,还有就是觉得webapi使用cookie貌似有违restful的风格。
解决方案
解决方案二:
点赞应该有记录的吧?有记录就可以判断啊,用IP或者机器码来判断今天是否点过赞。而且用cookie的方式,计算机清除一下应该就又可以点赞了吧?
解决方案三:
匿名用户按ip进行每天限制呗
解决方案四:
引用1楼fxj805835819的回复:
点赞应该有记录的吧?有记录就可以判断啊,用IP或者机器码来判断今天是否点过赞。而且用cookie的方式,计算机清除一下应该就又可以点赞了吧?
如果一条一条记录还好处理,但为了长久之策,我不打算记录游客的点赞记录,只想限制游客只能在一天内对同一篇文章进行点赞一次,所以想到记录游客ip的cookie
解决方案五:
这是什么时代,还用cookie啊?这是一个使用localStorage、sessionStorage的时代。
解决方案六:
关于你说的“restful的风格”,我可以告诉你一个新的信息,这个早过时了。之前的具体的技术就不多说了,现在的基本上所有浏览器都可以支持websocket,因此——你懂的,这是一个高效率双向通讯的web应用时代,而restful太笨重、太弱了。
解决方案七:
引用5楼sp1234的回复:
关于你说的“restful的风格”,我可以告诉你一个新的信息,这个早过时了。之前的具体的技术就不多说了,现在的基本上所有浏览器都可以支持websocket,因此——你懂的,这是一个高效率双向通讯的web应用时代,而restful太笨重、太弱了。
受教了,我换个方式试试
解决方案八:
我们拿当前这个csdn页面来说吧。csdn技术比较弱,我们说说现在的合格的前端开发人员的技术会如何做:1.当第一次下载http://bbs.csdn.net/topics/391958801?page=1#post-401192607这个页面时,它自然是有最基本的页面内容信息。2.但是当网络上有任何人在后边盖楼,正在看这个帖子的几百人最起码地能够实时地看到一个“小红点”提醒,而且还能看到页面自动就把新的楼层增加出来了,根本不需要刷新页面。3.任何人回复提交的内容,也是如此。根本不需要刷新页面。也就是说,一个bbs同时就是一个IM,只是体验不同,技术上没有不同。
解决方案九:
所有基于http的数据服务通讯,都要走tcp三次握手协议,都有很长和复杂的http消息头(而真正的数据其实比消息头的尺寸还小很多很多)。可以说,所谓restful等等基于http的数据服务通讯方式,效率极低,对服务器压力极大,速度极慢。并且比websockect编程上要非常复杂多了(Websocket直接传json序列化内容、或者二进制数据)。
解决方案十:
引用7楼sp1234的回复:
我们拿当前这个csdn页面来说吧。csdn技术比较弱,我们说说现在的合格的前端开发人员的技术会如何做:1.当第一次下载http://bbs.csdn.net/topics/391958801?page=1#post-401192607这个页面时,它自然是有最基本的页面内容信息。2.但是当网络上有任何人在后边盖楼,正在看这个帖子的几百人最起码地能够实时地看到一个“小红点”提醒,而且还能看到页面自动就把新的楼层增加出来了,根本不需要刷新页面。3.任何人回复提交的内容,也是如此。根本不需要刷新页面。也就是说,一个bbs同时就是一个IM,只是体验不同,技术上没有不同。
感谢sp哥,已经在使用localStorage来解决问题了
解决方案十一:
那如果手动清除了本地缓存呢?
解决方案十二:
引用10楼liaoxing168的回复:
那如果手动清除了本地缓存呢?
那就要点几次点几次了,严格控制只能在服务端实现。