• session和cookie的区别,以及两种机制的发展背景史,你再不懂cookie,我就死给你看


    让人恶心的cookie的创始人,终于找到了,1993年的那个卢姥爷!-------卢- 蒙特利.发明的。慢慢往下看,你会更理解session和cookie。

    一:HTTP无状态协议和socket双向通信

    无状态协议是指协议对务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 Http协议不像建立了socket连接的两个终端,双方是可以互相通信的,http的客户端只能通过请求服务器来获取相关内容或文件信息。

    http协议这种特性有优点也有缺点,优点在于解放了服务器,每一次请求“点到为止”不会造成不必要连接占用,缺点在于每次请求会传输大量重复的内容信息。

    二:HTTP的发展,是一个不断自我完善的过程

    1.web刚开始,只是简单的页面浏览,查什么给看什么就好了。没有交互

    2.后来需要交互,需要登录等等。就广义的session了。广义的session是理念,是一种会话控制战略追求

    3.一直用狭义的session数据来控制回话,网站访问量增大,每个用户的session都保存在服务器,服务器受不了了1993年搞出来cookie技术。cookie是实战,是广义session控制的战术实现

    4.也可以url重写,实现广义session控制。是一种区别于cookie的解决方案

    5.狭义的session保存在服务端,cookie保存在客户端。广义session本身是一种追求。哎,分不清,广义狭义,会让小白很懵逼的。

    三:到底是先有的cookie,还是先有的session

    1.cookie的背景。追溯到1993年

         Cookie的复数形态是Cookies, 英文的意思是小甜饼,小饼干. 类型为小型文本文件, 指某些网站为了辨别用户身份储存在用户本地中断上的数据. 是前网景公司的员工 卢-蒙特利在1993年3月发明的,最初定义与RFC 2109 当前使用最广泛的Cookie标准不是RFC中定义的任何一个,而是在网景公司制定的标准上进行扩展后的产物.

    网景是网景通信公司(Netscape Communications Corporation)的常用简称。网景通信公司曾经是一家美国的计算机服务公司,以其生产的同名网页浏览器Netscape Navigator而闻名。1998年11月,网景被美国在线(AOL)收购。

    网景这个公司就是那个netscape浏览器的公司,一开始挺厉害,后来要整一个通过浏览器操作的系统, 微软发现了,一看这个不行啊,你这玩意儿看着挺狠, 万一发展起来了,我不就难受了吗. 之后微软就想, 你要整个系统, 我就去整个浏览器,专门刚你. 之后弄出个IE, 不但免费,推广手段还狠,IE浏览器就跟着windows绑定着装, 人们就喷它, 但是没办法啊, 用多了用着用着习惯了. 这下网景就不行了, 后来想了个辙, 免费了旗下所有软件以后的版本, 还把netsscape Communicator 4.0 的源代码开放了,但是没什么特别大的用, 被美国在线98年收购了, 最后还和微软打了反垄断官司,胜诉了.但是03年7月15日美国在线把网景解散了.这公司基本就退出了历史舞台,剩下了网景门户网站还在.

    再来说说 卢- 蒙特利 ,他是1994年第一届国际万维网大会宣布选入万维网名人堂的六人之一, 堪萨斯大学毕业,15年的时候加入了JetInsight.看这位的工作经历,

    2.session的背景

      百度半天,查了一百多个搜索结果,百度百科也查了,还是查不到,session机制的提出时间。不过,可以确定,现有session理念,后来才有session的实现。

      坑逼百度!坑人学SEO,坑人做网站MIP改造,坑人的搜索结果!

    3.还有一些其他的一些解决方案,比如token,jwt等等,这些都是道与术的区别。

      还是那句话,web不死,session长存!

    查了半天资料,知乎,csdn,百度百科,等等,总结的,一定对你有所帮助。这里没有太多细节,但是把思路弄清楚,知道为什么这样,我觉得更重要!

  • 相关阅读:
    爱奇艺笔试题 输出01020304... ...
    ThreadPoolExecutor 中为什么WorkQueue会在corePoolSize满了之后入队
    jvisualvm 的使用
    连续子数组的最大和
    最长连续子序列
    leetcode 需要了解的知识点储备
    java String
    mysql MVCC
    java 批量导出(zip文件)
    java 中接口调用
  • 原文地址:https://www.cnblogs.com/cn-oldboy/p/12543519.html
Copyright © 2020-2023  润新知