我正在尝试一种聪明的方法来粗略衡量网站的唯一页面浏览量。
我的第一个想法是要有一个数据库表记录每次命中,但这并不能解决同一用户不断刷新页面的问题。
相反,我想知道cookie是否是一个合理的主意(或者可能是数据库记录和cookie的混合?)。
类似的东西:
//on page hit
let pageViews = cookies.get('myWebsitePageViews');
//pageViews = '12, 135, 14, 2, 5' <---a string of page IDs
if(pageViews.contains(thisPageID){
// do not add new entry to cookie string
}
else{
cookies.add('myWebsitePageViews', pageViews + ', ' + thisPageID.ToString());
serverCall.IncrementPageView(thisPageID);
}
我了解可以删除或禁用Cookie,但是通常这样做是可以的,因为我不是在寻求严格的准确性。我只需要一些东西来防止普通用户通过不断的页面重新加载来增加页面浏览量。
我想知道这是否存在任何重大问题,还是我不知道的任何更好的方法。
谢谢。