Cookie和Session的区别

  1. SESSION 与 COOKIE的区别是什么,请从协议,产生的原因与作用说明?
    Session是服务器端保存客户端状态信息的方案,一般保存在服务器端内存中,session超时时间在服务器端进行设置。
    Cookie是客户端保存信息的方案,一般是以文件的形式进行保存,cookie清空时间是在客户机浏览器设置。

  2. HTTP 状态中302、403、 500代码含义?
    200:服务器成功返回网页
    301:永久跳转成功,请求的内容已被永久转移到新位置
    302:临时转移成功,请求的内容已转移到新位置
    304:自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。
    403:服务器拒接请求
    404:找不到请求的页面
    500:服务器内部错误

http://blog.csdn.net/huangxingchen123/article/details/52401563
http://blog.csdn.net/baidu_31337243/article/details/48954445
http://blog.csdn.net/hj7jay/article/details/51198139
http://blog.csdn.net/shuaishenkkk/article/details/8634917

cookie一般从作用、组成(名字、值、时间、路径和域)

而Session机制采用的是一种在服务器端保持状态的解决方案。

 Session是针对每一个用户的,变量的值保存在服务器上,用一个SessionID来区分是哪个用户Session变量,这个值是通过用户的浏览器在访问的时候返回给服务器,当客户禁用Cookie时,这个值也可能设置为由get来返回给服务器。
 就安全性来说:当你访问一个使用Session 的站点,同时在自己机子上建立一个Cookie,建议在服务器端的Session机制更安全些,因为它不会任意读取客户存储的信息。
 Session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。
 当程序需要为某个客户端的请求创建一个Session时,服务器首先检查这个客户端的请求里是否已包含了一个Session标识(称为Session id),如果已包含则说明以前已经为此客户端创建过Session,服务器就按照Session id把这个session检索出来使用,如果客户端请求不包含Session id,则为此客户端创建一个Session并且生成一个与此Session相关联的Session id,Session id的值应该是一个既不会重复,又不容易被找到规律以仿造的字符串,这个session id将被在本次响应中返回给客户端

保存。
保存这个Session id的方式可以采用Cookie,
这样在交互过程中浏览器可以自动的按照规则把这个标识发挥给服务器。一般这个Cookie的名字都是类似于SEEESIONID。但Cookie可以被人为的禁止,则必须有其他机制以便在Cookie被禁止时仍然能够把Session id传递回服务器。
经常使用的一种技术叫URL重写,就是把Session id直接附加在URL路径的后面。还有一种技术叫做表单隐藏字段。就是服务器会自动修改表单,添加一个隐藏字段,以便在表单提交时能够把Session id传递回服务器。
Cookie与Session都能够进行会话跟踪,但是完成的原理不太一样。普通状况下二者均能够满足需求,但有时候不能够运用Cookie,有时候不能够运用Session。下面经过比拟阐明二者的特性以及适用的场所。

posted @ 2017-02-15 00:02  Seekload  阅读(174)  评论(0编辑  收藏  举报