爬虫基础 2.4 会话和cookie

2.4 会话和cookie

2.4.1 静态网页和动态网页

    1 静态网页

        静态网页是标准的HTML文档,不可以传参数,只展示信息

    2 动态网页

        动态网页可以动态的解析网页中的URL的参数变化,关联到数据库,根据参数的不同呈现不同的页面,可以实现登录,注册,验证。

 

2.4.2 无状态 http

    无状态http 即使用该协议连接客户端以及服务器,服务器是不识别客户端是谁。

    为了保持浏览器和服务器连接的状态的保持,使用了新的技术: 会话和cookie

 

    Cookie 保存在客户端浏览器, 下次访问的时候会附带请求中发送给服务器,服务器通过cookie识别是哪个用户,判断是否登录,然后返回响应内容。

 

    1 会话

        会话 ,是相互的,双方均识别对方。当用户在应用程序的不同页面跳转的时候,在会话对象中的识别用户信息的变量不会丢失,会存在与整个会话中。会话过期,或者放弃,服务器会终止会话。

    2 cookies

        Cookies 即网站为了识别用户,进行会话维持跟踪,存储在浏览器本地的一组数据

    3 会话维持

怎样利用 Cookies 保持状态呢?当客户端第 次请求服务器时,服务器会返回以个请求头中带有 Set-Cookie 字段的响应给客户端,用来标记是哪一个用户,客户端浏览器会把 Cookies 保存起来 当浏览器下一次再请求该网站时,浏览器会把 Cookies 放到请求头 起提交给服务器,Cookies 携带了会话ID信息,服务器检查该 Cookies 即可找到对应的会话是什么,然后再判断会话来以此来辨认用户状态

 

在成功登录某个网站时,服务器会告诉客户端设置哪些 ookies 信息,在后续访问页面时客户端会把 Cookies 发送给服务器,服务器再找到对应的会话加以判断如果会话中的某些设置登录状态的变量是有效的,那就证明用户处于登录状态,此时返回登录之后才可以查看的网页内容,浏览器再进行解析便可以看到了

 

如果传给服务器的 Cookies 是无效的,或者会话已经过期了,我们将不能继续访问页面,此时可能会收到错误的响应或者跳转到登录页面重新登录所以, Cookies 和会话需要配合,一个处于客户端,一个处于服务端,二者共同协作,就实现了登录会话控

 

2.4.3 cookies 内容

    百度的登录cookies

    

    Name Cookie 的名称。一旦创建,该名称便不可更改

Value Cookie 的值 如果值为 Unicode 字符,需要为字符编码 如果值为二进制数据,则需要使用 BASE64 编码

Domain :可以访问 Cookie 的域 例如,如果设置为 zhihu.com ,则所有以 zh ihu .co 结尾的域名都可以访问该 Cookie

Max Age Cookie 失效的时间, 单位为秒,也常和 Expires 一起使用,通过它可以计算

有效时间 Max Age 果为正数Max Age 秒之后失效 如果为负数,则关闭浏览器时 Cookie 即失效,浏览器也不会以任何形式保存该 Cookie

Path Cookie 的使用路径 如果设置为/path/ ,则只有路径为 path/ 的页面可以访问该Cookie 果设置为/本域名下的所有页面都可以访问该 Cookie

Size 字段 Cookie

HTTP 字段: Cookie httponly 属性 属性为 true ,则只有在 HTTP 头中会带有此

Cookie 的信息,而不能通过 document.cookie 来访问此 Cookie

Secure Cookie 是否仅被使用安全协议传输 安全协议有 HTTPS SSL 等,在网络上传

输数据之前先将数据加密 默认为 false

posted @ 2019-06-08 16:54  binyang  阅读(219)  评论(0编辑  收藏  举报