1995年9月Netscape支持JavaScript/Cookies前,网上银行如何运作?
针对斯坦福联邦信用社1994年的网上银行服务,在没有Cookies和JavaScript的早期Web环境中,主要通过以下几种技术实现会话管理与基础服务功能:
URL重写:将唯一的会话ID直接附加在每个请求的URL末尾(例如
/account?session_id=xyz789)。服务器通过解析URL中的会话ID识别用户身份,维持会话状态。这种方式不需要客户端存储任何数据,完全依赖URL传递标识,是早期无Cookie场景下最常用的会话跟踪方案。表单隐藏字段:在每个交互表单中嵌入隐藏的输入字段(例如
<input type="hidden" name="session_id" value="xyz789">),当用户提交表单时,会话ID会随表单数据一同发送至服务器。不过这种方式仅适用于表单提交场景,无法覆盖静态页面跳转的会话维持需求。HTTP基本认证:利用HTTP协议原生的认证机制,浏览器会弹出用户名密码输入框,验证通过后,后续每个请求都会自动携带Base64编码的身份凭证。这种方式属于无状态验证,不需要会话跟踪,每次请求都重新验证身份,刚好适配早期网上银行仅提供账户查询、简单转账等基础功能的场景。
IP地址关联:服务器通过记录用户的IP地址来关联会话。但这种方式存在明显缺陷,比如同一局域网内多用户共享IP、拨号用户IP动态变化等情况会导致身份识别错误,因此仅作为辅助或临时方案使用。
从数字银行发展历史来看,1990年代初的网上银行功能相对简单,没有复杂的前端交互,以上这些非Cookie的技术完全能够支撑当时的服务需求,斯坦福联邦信用社的早期网银正是基于这类方案实现的。
内容的提问来源于stack exchange,提问作者Emma

