认证、授权与单点登录

认证与授权

  • 认证(Authentication)即确认该用户的身份是他所声明的那个人
  • 授权(Authorization)即根据用户身份授予他访问特定资源的权限

也就是说,当用户登录应用系统时,系统需要先认证用户身份,然后依据用户身份再进行授权。认证与授权需要联合使用,才能让用户真正登入并使用应用系统。

阅读更多

Fetch API小抄

Fetch API 提供了一个 window.fetch() 接口来获取资源(包括网络资源)。Fetch API 可以用来替代 XMLHttpRequest ,可以在 Web Workers 中使用( WorkerGlobalScope.fetch() )。

阅读更多

HTTP Cookie 小抄

HTTP Cookie(也叫 Web Cookie 或浏览器 Cookie)是服务器发送到用户代理(一般是浏览器,以下统一用浏览器表示)并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。虽然 Cookie 具有许多降低其安全性的缺陷和隐私问题,但由于历史原因,Cookie 和 Set-Cookie 头字段还是被广泛的在互联网上使用。

Cookie 主要用于以下三个方面:

  • 会话状态管理(如用户登录状态、购物车、游戏分数或其它需要记录的信息)
  • 个性化设置(如用户自定义设置、主题等)
  • 浏览器行为跟踪(如跟踪分析用户行为等)

阅读更多

RPC

什么是 RPC

RPC(Remote Procedure Call)— 远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的 webservice 架构。比如两个不同的服务 A、B 部署在两台不同的机器上,那么服务 A 如果想要调用服务 B 中的某个方法该怎么办呢?使用 HTTP 请求当然可以,但是可能会比较慢而且一些优化做的并不好。 RPC 的出现就是为了解决这个问题。

最终解决的问题:让分布式或者微服务系统中不同服务之间可以像本地服务一样调用。

阅读更多

JWT-JSON WEB TOKEN

什么是JWT

Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准(RFC 7519)。该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该 token 也可直接被用于认证,也可被加密。

阅读更多

HTTP-缓存

什么是HTTP缓存

缓存是一种保存资源副本并在下次请求时直接使用该副本的技术。
HTTP 缓存机制就是,通过配置 HTTP 响应头来告诉浏览器是否应该对请求的资源进行缓存、缓存多长时间、缓存是否过期的一种机制。

阅读更多

HTTP小抄

什么是HTTP

HTTP全称超文本传输协议(HyperText Transfer Protocol),诞生于 1989年3月,由 CERN(欧洲核子研究组织)的 Tim Berners Lee 博士和他的团队设计,是一种能够获取如 HTML 这样的网络资源的通讯协议。它是在 Web 上进行数据交换的基础,是一种 客户端-服务器 协议,也就是说,请求通常是由像浏览器这样的客户端发起的。一个完整的Web文档通常是由不同的子文档拼接而成的,像是文本、布局描述、图片、视频、脚本等等。

HTTP正式作为标准是在 1996年的5月,版本被命名为 HTTP/1.0,并记载于 RFC1945

HTTP在基本的TCP/IP协议栈上发送信息,1994年底,网景公司(Netscape Communication)在此基础上创建了一个额外的加密传输层:SSL(Secure Socket Layer 安全套接层),SSL在标准化道路上最终成为TLS(Transport Layer Security 安全传输层协议),并记载于 RFC2246

1997年1月 HTTP/1.1公布,当初的标准是 RFC2068,目前最新的修订版是1999年6月发布的 RFC2616

HTTP2目前正在设计中,它的两个预览版本 RFC7230RFC7235 发布于2014年6月

阅读更多

HTTP get post区别

1.get传参方式是通过地址栏URL传递,是可以直接看到get传递的参数,post传参方式参数URL不可见,get把请求的数据在URL后通过?连接,通过&进行参数分割。psot将参数存放在HTTP的包体内

2.get传递数据是通过URL进行传递,对传递的数据长度是受到URL大小的限制,URL最大长度是2048个字符。post没有长度限制

3.get后退不会有影响,post后退会重新进行提交

4.get请求可以被缓存,post不可以被缓存

5.get请求只URL编码,post支持多种编码方式

6.get请求的记录会留在历史记录中,post请求不会留在历史记录

7.get只支持ASCII字符,post没有字符类型限制

HTTP状态码

HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774、RFC 4918等规范扩展。

常见状态码以红色显示。

阅读更多