zoukankan      html  css  js  c++  java
  • http请求状态保持的四种方法

    Cookie
    cookie:听起来很高大上的亚子,其实呢他就是一段文本而已,明文。存储在客户端的浏览器的内存或者磁盘里面。而且每个界面都会有自己的cookie,主要存储的是和网站相关的文本字符串。主要以键值对的方式存在。
    cookie使用的原理是什么呢?

    cookie的存储位置及过期时间设置

    如果我们指定了cookie的过期时间,那么存储字啊客户端的磁盘上面,如果我们没有指定cookie的过期时间,那么存储在客户端浏览器的内存当中。
    当然如果你设置了过期时间,那么cookie按照你所设置的进行失效处理,当你没有设置过期时间时,那么就会在浏览器会话结束后失效

    什么时候适合使用cookie呢?

    购物车、用户Id等。
    例:我们在用户登录的页面将用户名添加到cookie进行存储:

    Response.Cookies["userid"].Value = "123456";

    然后在另一个页面进行获取该用户Id:

    id=Request.Cookies["userid"].Value;

    当然除了这些cookie还可以设置过期时间、跨域等。

    那我们可以无限制的存储cookie吗?

    大多数浏览器最大为4K的cookie,所以我们只会用cookie存储少量的数据或者存储用户ID的标识符等。 大多数浏览器最多存储一个网站创建20个cookie,如果视图创建更多的,那么旧的就会被删除,有些浏览器会对所有站点的cookie总数做出绝对限制,通常为300个。而且cookie存储的值其实是不安全的。

    Session
    session:是一个服务端的保护机制,可以把各种类型的数据存储在session中,这些数据是存储在服务端的开辟的一块内存当中的,这块内存就是session。session是需要借助cookie才可以达到想要的保存标识的目的
    session使用的原理:

    session的存储都是有自己的一个sessionid的,也是为了区分哪个用户的session变量,通过用户的浏览器在访问的时候返回给服务器。
    下面的这个举例是通过cookie来实现的的session,当然当浏览器不支持cookie时,可以使用URL重写来实现。

    使用URL重写与上面原理不同的就是,当执行到response redirect时,服务器是将sessionid直接附加在URL路径的后面。

    session的过期时间设置

    Session默认的过期时间是20min,过期时间为滑动过期时间。可以通过Session的属性Timeout来修改。
    当浏览器关闭而且不到过期时间时,SessionId会没有(因为seesionid是以cookie发送到浏览器的,并且没有指定过期时间,所以浏览器一关,那么cookie就会被删除,自然sessionId也就没了),但是内存里面还是该数据了,不过没有SessionId一样不能得到Session的值。最后20分钟之后服务器也会把Session内容删除掉

    隐藏域
    什么是隐藏域呢?
    其实简单来说就是我在一个页面当中设置了一个隐藏的控件,用户看不到。我们在表单中插入隐藏域染回收集或者发送信息,让被处理的表单可以使用。当浏览器点击提交表单的时候,然后隐藏域里面的信息一起发送到服务器。

    具体的作用详解

    URL重写
    URL重写就是首先获得一个进入的URL请求然后把它重新写成网站可以处理的另一个URL的过程。举个例子来说,如果通过浏览器进来的URL是“UserProfile.aspx?ID=1”那么它可以被重写成 “UserProfile/1.aspx”,这样的URL,这样的网址可以更好的被网站所阅读。一般情况下,在浏览器不支持cookie时,会使用这种方法。比如我们常常用的分页就是URL重写的一种体现


    ————————————————
    版权声明:本文为CSDN博主「make_1998」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/make_1998/article/details/103757846

    你有什么心态,就有什么样的人生。管不好自己的心态,注定你就是个弱者。
  • 相关阅读:
    如何控制Yahoo! Slurp蜘蛛的抓取频度_国外博客资源站_百度空间
    PHP学习之十:foreach
    asp.net 上传控件
    程序员转型不得不说的事 成为管理者
    博客无法使用外站图片,暂停更新一段时间
    C#控制光驱开关
    通过输入方式在Android上进行微博OAuth登录
    .Net 绑定Dropdownlist的时自定义组合字段后显示
    XNA那些事(四) 3D知识初步
    jQuery实现图片延迟加载
  • 原文地址:https://www.cnblogs.com/LQZ888/p/12125738.html
Copyright © 2011-2022 走看看