zoukankan      html  css  js  c++  java
  • ticket、token、rpc是什么

    SSO技术中ticket和cookie有什么区别?

    其实无论是ticket还是cookie,都是验证信息的一种具体表现。
    cookie是具体指在网页上缓存的已经验证的信息,而ticket则可以以任何形式存在,包括cookie。

    sso技术中ticket和cookie的区别

      1、dua ticket to +地点 (例:zhithe ticket to a ball game .
      2、 I want a ticket to Hangzhou.)
      a ticket for +具体事情/为了什dao么的票/给谁的(例:the ticket for the film. I want a ticket for the trip./I want a ticket for my grandmother.)
      3、无论ticket还是cookie,都是验证信息的一种具体表现。
      4、cookie是具体指在网页上缓存的已经验证的信息,而ticket则可以以任何形式存在,包括cookie。

    token是什么意思?

    在计算机身份认证中是令牌(临时)的意思,在词法分析中是标记的意思。一般作为邀请、登录系统使用

    在这里插入图片描述

    token是计算机术语:令牌,令牌是一种能够控制站点占有媒体的特殊帧,以区别数据帧及其他控制帧。token其实说的更通俗点可以叫暗号,在一些数据传输之前,要先进行暗号的核对,不同的暗号被授权不同的数据操作。基于 Token 的身份验证方法

    使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录。大概的流程是这样的:

    1.客户端使用用户名跟密码请求登录
    2.服务端收到请求,去验证用户名与密码
    3.验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端
    4.客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 Local Storage 里
    5.客户端每次向服务端请求资源的时候需要带着服务端签发的 Token
    6.服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据

    什么是http接口?

    其实这个接口的意思就是一个传递数据的通道,你只要将数据送入通道并可以被请求者获得就可以了。正常情况下你在做一个web项目吗是在springmvc里被请求的controller不是一个接口,因为你没有和请求方达成数据请求的方式。举个例子来说吧
    比如你有个UserController,里面有个userList这个方法,查询所有的用户,你页面发送请求到这个方法中,你可以使用model.addAttribute或者request.setAttribute("userList",userList),然后页面端用${userList}就可以获取到数据,只是由于这个jsp是和你的controller属于同一个webContext,但是当部署在其他服务器上的程序想要获取这个数据时,这样的方式是达不到效果的,这个时候你需要将这个方法的返回结果进行改造,就是如果放回的数据是以json、xml或者txt的方式返回的话(具体格式双方约定好),这样的话你的这个userList就可以作为一个接口了!

    API 是什么

    应用程序接口(API),又称为应用编程接口,是软件系统不同组成部分衔接的约定。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的可维护性和可扩展性。

    应用程序接口(API),又称为应用编程接口,是软件系统不同组成部分衔接的约定。由于近年来软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的可维护性和可扩展性。

    在这里插入图片描述

    API 又分为(Windows、Linux、Unix 等系统的)系统级 API,及非操作系统级的自定义 API。作为一种有效的代码封装模式,微软 Windows 的 API 开发模式已经为许多商业应用开发的公司所借鉴,并开发出某些商业应用系统的 API 函数予以发布,方便第三方进行功能扩展。如 Google、苹果计算机公司,以及诺基亚等手机开发的 API 等等。
    API 同时也是一种中间件,为各种不同平台提供数据共享。根据单个或分布式平台上不同软件应用程序间的数据共享性能,可以将 API 分为四种类型:

    1、远程过程调用(RPC):通过作用在共享数据缓存器上的过程(或任务)实现程序间的通信。
    2、标准查询语言(SQL):是标准的访问数据的查询语言,通过通用数据库实现应用程序间的数据共享。
    3、文件传输:文件传输通过发送格式化文件实现应用程序间数据共享。
    4、信息交付:指松耦合或紧耦合应用程序间的小型格式化信息,通过程序间的直接通信实现数据共享。

    当前应用于 API 的标准包括 ANSI 标准 SQL API。另外还有一些应用于其它类型的标准尚在制定之中。API 可以应用于所有计算机平台和操作系统。这些 API 以不同的格式连接数据(如共享数据缓存器、数据库结构、文件框架)。每种数据格式要求以不同的数据命令和参数实现正确的数据通信,但同时也会产生不同类型的错误。因此,除了具备执行数据共享任务所需的知识以外,这些类型的 API 还必须解决很多网络参数问题和可能的差错条件,即每个应用程序都必须清楚自身是否有强大的性能支持程序间通信。

    相反由于这种 API 只处理一种信息格式,所以该情形下的信息交付 API 只提供较小的命令、网络参数以及差错条件子集。正因为如此,交付 API 方式大大降低了系统复杂性,所以当应用程序需要通过多个平台实现数据共享时,采用信息交付 API 类型是比较理想的选择。

    ticket机制

    某日你逛商场,理发,洗浴,住宿,店主或老板在你消费之后会给你一张所谓的“会员卡”,等你再次来消费的时候,只需出示此卡,商家就会视你为其顾客,使你享受该有之优惠并采取积分措施并计入磁卡,此事之办成,全凭一张卡,此卡商家并不保留,而全由顾客持有,为防止会员卡伪造而骗取优惠,可能会员卡上会有一条磁条,该磁条作防伪只用,商家只需将卡在其特定机器上只一刷便可知卡之真伪。对比这个办法,如果会员信息全部保留在商家处而非顾客持有的磁卡,而顾客只需保留自己的姓名等认证信息,那么随着顾客的增加,商家保留的信息将膨胀,最终将商家阻滞在将要成功处。会员卡的方略旨在将信息保存在顾客处而不是商家,这样可以减轻商家的信息记录负担。
    计算机信息科学和网络永远都是落后于时代的,会员卡早有人使用,可是在网络上提出类似的机制却只是最近才提出来,在c/s模式的应用或者协议中,服务器最好也由客户端来保持session信息以便恢复一次会话,而不是让客户端来保持各个客户端的session状态,这个办法我可以将之视为ticket机制,也就是服务器会发给客户端一张ticket,要求服务器做某事时,客户端只需要出示一下ticket即可,类似顾客的会员卡。在实际应用中tcp协议的syn cookie机制就是这么做的,这样可以防止tcp半连接攻击,另外tls协议的TicketSession机制也是如此,以往ssl客户端的session信息都是保留在服务器端的,而ticketsession机制可以将信息作为一张ticket保留在客户端,这张ticket是一段加密的信息,所有的ssl客户端的ticket都由服务器端的同一个密钥加密,内中包括该客户端的master secret,它被服务器传给客户端之后,和客户端的master secret保留在一起,待客户端需要恢复一个session时,只需将此加密的ticket传给服务器,服务器用同一个密钥解密之,然后取出对应的客户端信息和master secret,恢复session后继续通信,这样可以保证不在服务器端保留任何客户端的session信息。tcp的syn cookie也一样,tcp服务器将对客户端的syn-ack的seq设置成一个用同一个密钥加密后的数据,然后在客户端最后握手阶段的ack中取出ack号,然后解密之,验证之...
    如果理解了会员卡机制,这种计算机网络中的“票据”机制就很好理解了。

    rpc是什么

    RPC是远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。

    RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

    RPC采用客户机/服务机器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。

    TCP和HTTP的关系

    TCP是传输层协议,定义数据传输和连接方式的规范。握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。

    HTTP 超文本传送协议(Hypertext Transfer Protocol )是应用层协议,定义的是传输数据的内容的规范。

    HTTP协议中的数据是利用TCP协议传输的,特点是客户端发送的每次请求都需要服务器回送响应,它是TCP协议族中的一种,默认使用 TCP 80端口。

    好比网络是路,TCP是跑在路上的车,HTTP是车上的人。每个网站内容不一样,就像车上的每个人有不同的故事一样。

  • 相关阅读:
    五种线程池的分类与作用
    什么是死锁?
    事务隔离级别区分,未提交读,提交读,可重复读
    共享锁(读锁)和排他锁(写锁)
    java中的成员变量和全局变量的区别
    Algorithm
    6
    5
    4
    3
  • 原文地址:https://www.cnblogs.com/liushiya/p/13532378.html
Copyright © 2011-2022 走看看