两年多以前的时候,我就考虑过这个问题...没想到,竟然还有来提问的.
比较保守的说,纯html(其实离不开JS)做这个,稍微有点儿困难的.
你的这种思路其实是实现了前后端分离的,放宽看,可以当作是一个C\S架构了,Web站点当作一个客户端app.
这种状况下,web站点的登录状态就不能用传统的cookie+session搞定了(也不是完全不能,只是略二逼),目前比较通用的做法就是使用token来实现用户登录以及用户识别(相当于自己实现一套session机制).每次你访问api(需要登录状态的api)的时候,带上这个token,就相当于传统B\S架构中的浏览器带过去的cookie(标记sessionid的那个cookie),服务端用来甄别用户以及用户状态.
然后是回到开头第二句话,就是这个token如何保密,因为我不太了解JS,所以不清楚这个token如何在前端做到保密,总不能泄漏出去.
然后是,和api交互肯定不能光有token,还要有timestamp,signature,token(经过加密后的),key(用于解密token的key),这些大多都会放到http header中,辣么,JS能不能发送一个完整的可以自定义header的http请求( 不太清楚 )?...所以,开头说了一句,略微困难.
很多人目前的做法是,在你这种设想的前提下中间加了一层node.js,从宏观架构上看,node.js也隶属于前端这一块儿.