zoukankan      html  css  js  c++  java
  • HTTP Cookies

    简单来说,我们访问每一个互联网页面,都是通过 HTTP 协议进行的,而 HTTP 协议是一个无状态协议,所谓的无状态协议即无法维持会话之间的状态。比如,仅使用 HTTP 协议的话,我们登录一个网站的时候,假如登录成功了,但是当我们访问该网站的其他网页的时候,该登录状态则会消失,此时还需要再登录一次,只要页面涉及更新,就需要反复的进行登录,这是非常不方便的。所以此时,我们需要将对应的会话信息,比如登录成功等信息通过一些方式保存下来,比较常用的方式有两种:通过 Cookie 保存会话信息或通过 Session 保存会话信息。

    如果是通过 Cookie 保存会话信息,此时会将所有的会话信息保存在客户端,当我们访问同一个网站的其他页面的时候,会从 Cookies 中读取对应的会话信息,从而判断目前的会话状态,比如可以判断是否已经登录等。显然,这一种方式我们会用到 Cookie。如果是通过 Session 保存会话信息,会将对应的会话信息保存在服务器端,但是服务器端会给客户端发 SessionID 等信息,这些信息一般存在客户端的 Cookie 中,当然,如果客户端禁止了 Cookie,也会通过其他方式存储。但是,目前来说,大部分的情况还是会将这一部分的信息存到 Cookie 中。然后,用户在访问该网站其他网页的时候,会从 Cookie 中读取这一部分信息,然后从服务器中的 Session 中根据这一部分 Cookie 信息检索出该客户端的所有会话信息,然后进行会话控制。显然,使用 Session 的方式来保存会话信息,大部分的时候,还是会到 Cookie。

    通过前面的分析,可以看到,不管是通过哪种方式进行会话控制,在大部分时候,都会用到 Cookie。比如在爬虫的登录中,如果没有 Cookie,我们登录成功了一个网页,但如果我们要爬去该网站的其他网页的时候,仍然会是未登录状态,如果有了 Cookie,当我们登录成功后,爬取该网站的其他网页时,则会保持登录状态进行内容的爬取。

        

  • 相关阅读:
    AES算法加解密Java工具类AESUtil
    并发与高并发(二十二)高并发の服务降级与服务熔断思路
    并发与高并发(二十一) 高并发の应用限流思路
    并发与高并发(二十)高并发の应用拆分思路
    da5_模块
    day5_集合
    day5_递归调用
    day5_判断价格输入是否是正整数或正小数
    day5_函数_判断小数
    day5_函数_文件读写_用一个函数来满足文件的读或者写_应用默认参数
  • 原文地址:https://www.cnblogs.com/pzk7788/p/10530058.html
Copyright © 2011-2022 走看看