当前位置: 首页 > wzjs >正文

建设网站的会计分录百度免费咨询

建设网站的会计分录,百度免费咨询,该网站暂时无法访问404,上海网址大全一、Cookie与Set-Cookie 1. Cookie 定义: Cookie 是客户端(通常是浏览器)存储的一小段数据,由服务器通过 Set-Cookie 响应头设置,并在后续请求中通过 Cookie 请求头发送回服务器。作用: 用于在客户端保存状态信息,例…

一、Cookie与Set-Cookie

1. Cookie

  • 定义: Cookie 是客户端(通常是浏览器)存储的一小段数据,由服务器通过 Set-Cookie 响应头设置,并在后续请求中通过 Cookie 请求头发送回服务器。
  • 作用: 用于在客户端保存状态信息,例如用户登录状态、偏好设置等。
  • 使用场景:
      客户端在每次请求时,自动将 Cookie 附加到请求头中,发送给服务器。
      服务器通过读取 Cookie 来识别用户或恢复会话状态。
  • 示例
GET /example HTTP/1.1
Host: www.example.com
Cookie: name=value; sessionid=12345

客户端将存储的 Cookie 发送给服务器

2、Set-Cookie

  • 定义: Set-Cookie 是服务器在 HTTP 响应中发送的响应头,用于在客户端设置或更新 Cookie。
  • 作用: 服务器通过 Set-Cookie 向客户端发送数据,要求客户端保存这些数据并在后续请求中回传。
  • 使用场景:
      服务器需要在客户端存储数据时(如用户登录成功后的会话 ID)。
      服务器可以设置 Cookie 的属性,如过期时间、作用域、安全性等。
  • 示例
HTTP/1.1 200 OK
Set-Cookie: sessionid=12345; Path=/; Expires=Wed, 09 Jun 2023 10:18:14 GMT; Secure; HttpOnly

服务器通过 Set-Cookie 设置一个名为 sessionid 的 Cookie,并指定了路径、过期时间、安全性和 HTTP-only 属性

3、主要区别

特性CookieSet-Cookie
类型请求头响应头
作用客户端将存储的 Cookie 发送给服务器服务器要求客户端设置或更新 Cookie
使用场景客户端发起请求时服务器返回响应时
数据流向客户端 → 服务器服务器 → 客户端
示例Cookie: name=value; sessionid=12345Set-Cookie: sessionid=12345; Path=/

4、Set-Cookie 的属性

Set-Cookie 可以设置多个属性来控制 Cookie 的行为:

  • Name=Value: Cookie 的名称和值。
  • Expires: Cookie 的过期时间(GMT 格式)。
       示例: Expires=Wed, 09 Jun 2023 10:18:14 GMT
  • Max-Age: Cookie 的最大存活时间(秒)。
       示例: Max-Age=3600(1 小时后过期)
  • Domain: Cookie 的作用域(指定域名)。
      示例: Domain=example.com
  • Path: Cookie 的作用路径。
      示例: Path=/(根路径下有效)
  • Secure: 仅在使用 HTTPS 时发送 Cookie。
      示例: Secure
  • HttpOnly: 禁止 JavaScript 访问 Cookie,防止 XSS 攻击。
      示例: HttpOnly
  • SameSite: 控制 Cookie 是否在跨站请求时发送。
      示例: SameSite=Strict(严格模式,禁止跨站发送)

5、工作流程

在客户端(如浏览器)第一次向服务器发送请求时,客户端是没有 Cookie 的。Cookie 的生成和传递过程是一个逐步建立的过程,以下是详细的解释:

  • 1.、第一次请求(无 Cookie)
    当客户端第一次访问某个网站时,浏览器会向服务器发送一个 HTTP 请求。由于是第一次访问,客户端还没有存储任何与该网站相关的 Cookie,因此请求头中不会包含 Cookie 字段。

示例

GET /index.html HTTP/1.1
Host: www.example.com
  • 2、服务器响应并设置 Cookie
    服务器接收到请求后,会根据业务逻辑决定是否需要设置 Cookie(例如,生成一个会话 ID 或其他标识)。服务器通过 Set-Cookie 响应头将 Cookie 发送给客户端。

示例

HTTP/1.1 200 OK
Set-Cookie: sessionid=12345; Path=/; HttpOnly
  • 3、客户端存储 Cookie
    客户端(浏览器)接收到服务器的响应后,会解析 Set-Cookie 头,并将 Cookie 存储在本地。
    存储的 Cookie 通常包括以下信息:
       Cookie 的名称和值(如 sessionid=12345)。
       作用域(如 Domain 和 Path)。
       过期时间(如 Expires 或 Max-Age)。
       其他属性(如 Secure、HttpOnly、SameSite)。
  • 4、后续请求(携带 Cookie)
    在客户端存储了 Cookie 后,后续对同一服务器的请求会自动将 Cookie 附加到请求头中。

示例

GET /dashboard HTTP/1.1
Host: www.example.com
Cookie: sessionid=12345

6、 Cookie 的初始来源

  • 第一次请求时没有 Cookie:客户端第一次访问服务器时,请求头中没有 Cookie 字段。
  • Cookie 是由服务器生成的:服务器通过 Set-Cookie 响应头将 Cookie 发送给客户端。
  • 客户端存储并回传 Cookie:客户端在后续请求中自动将存储的 Cookie 发送给服务器。

7、实际应用场景

  • 会话管理:
      服务器在用户登录成功后生成一个会话 ID,并通过 Set-Cookie 发送给客户端。
      客户端在后续请求中携带该会话 ID,服务器通过验证会话 ID 来识别用户。
  • 个性化设置:
      服务器可以通过 Cookie 存储用户的偏好设置(如语言、主题等)。
  • 跟踪用户行为:
      服务器可以通过 Cookie 记录用户的访问行为,用于分析或广告投放。

二、seesion详解

1、 基本概念

  • Cookie:
    是客户端(通常是浏览器)存储的一小段数据。
    由服务器通过 Set-Cookie 响应头发送给客户端。
    客户端在后续请求中自动将 Cookie 附加到请求头中发送给服务器。
    数据存储在客户端。
  • Session:
    是服务器端存储的用户状态信息。
    服务器为每个用户创建一个唯一的会话 ID,并将该 ID 通过 Cookie 或 URL 重写的方式发送给客户端。
    客户端在后续请求中发送会话 ID,服务器根据该 ID 查找对应的会话数据。
    数据存储在服务器端。

2、存储位置

  • Cookie:
    数据存储在客户端(浏览器)中。
    可以是内存 Cookie(浏览器关闭后失效)或持久化 Cookie(根据过期时间存储在硬盘中)。
  • Session:
    数据存储在服务器端(如内存、数据库或文件系统)。
    客户端只存储会话 ID(通常通过 Cookie 存储)。

3、数据安全性

  • Cookie:
    数据存储在客户端,可能被篡改或窃取。
    可以通过设置 Secure(仅 HTTPS 传输)、HttpOnly(禁止 JavaScript 访问)等属性提高安全性。
  • Session:
    数据存储在服务器端,客户端只存储会话 ID,相对更安全。
    会话 ID 仍需通过 Cookie 或 URL 传递,可能被窃取(如通过 XSS 攻击)。

4、数据大小限制

  • Cookie:
    单个 Cookie 大小通常限制为 4KB。
    每个域名下的 Cookie 数量和总大小也有限制(通常为 50 个 Cookie,总大小不超过 4KB)。
  • Session:
    数据存储在服务器端,没有严格的大小限制。
    但存储过多数据可能影响服务器性能。

5、生命周期

  • Cookie:
    可以设置过期时间(Expires 或 Max-Age),可以是会话级(浏览器关闭后失效)或持久化(长期有效)。
    客户端可以手动清除 Cookie。
  • Session:
    生命周期由服务器控制,通常在一定时间内无活动后失效(如 30 分钟)。
    服务器可以主动销毁 Session。

6、使用场景

  • Cookie:
    适合存储少量不敏感的数据,如用户偏好设置、跟踪信息等。
    适合跨页面或跨会话的状态管理。
  • Session:
    适合存储敏感数据,如用户登录状态、购物车信息等。
    适合短期状态管理(如一次会话期间)。

7、实现方式

  • Cookie:
    服务器通过 Set-Cookie 响应头设置 Cookie。
    客户端自动管理 Cookie 的存储和发送。
  • Session:
    服务器创建会话并生成唯一的会话 ID。
    会话 ID 通过 Cookie 或 URL 重写发送给客户端。
    客户端在后续请求中发送会话 ID,服务器根据 ID 查找对应的会话数据。

8、 性能影响

  • Cookie:
    每次请求都会携带 Cookie,可能增加请求头的大小。
    数据存储在客户端,对服务器性能无直接影响。
  • Session:
    数据存储在服务器端,可能占用服务器内存或存储资源。
    需要根据会话 ID 查找数据,可能增加服务器负载。

9、示例对比

  • Cookie 示例

1、服务器设置 Cookie:

HTTP/1.1 200 OK
Set-Cookie: username=john; Path=/; Expires=Wed, 09 Jun 2023 10:18:14 GMT

2、客户端发送 Cookie:

GET /dashboard HTTP/1.1
Host: www.example.com
Cookie: username=john
  • Session 示例

1、服务器创建 Session 并发送会话 ID:

HTTP/1.1 200 OK
Set-Cookie: sessionid=12345; Path=/; HttpOnly

2、客户端发送会话 ID:

GET /dashboard HTTP/1.1
Host: www.example.com
Cookie: sessionid=12345

服务器根据会话 ID 查找 Session 数据:
会话数据:{ sessionid: 12345, username: “john”, loggedIn: true }

10、总结对比表

特性CookieSession
存储位置客户端服务器端
数据安全性较低(数据存储在客户端)较高(数据存储在服务器端)
数据大小限制有(通常 4KB)无严格限制
生命周期可设置过期时间由服务器控制
使用场景存储少量不敏感数据存储敏感数据
实现方式通过 Set-Cookie 设置通过会话 ID 管理
性能影响增加请求头大小占用服务器资源

11.、如何选择?

  • 如果需要存储少量不敏感的数据,并且希望数据在客户端长期保存,使用 Cookie。
  • 如果需要存储敏感数据或大量数据,并且希望数据在服务器端管理,使用 Session。

在实际开发中,Cookie 和 Session 通常会结合使用。例如,使用 Cookie 存储会话 ID,而将实际数据存储在 Session 中。
理论上,只用 Cookie 是可以实现状态管理的,但在实际应用中,Session 的引入是为了解决 Cookie 的一些局限性,尤其是在安全性、数据存储和性能方面。

http://www.dtcms.com/wzjs/50745.html

相关文章:

  • 杭州仪器网站制作线上营销培训
  • 怎么自己设计网站百度贴吧官网app下载
  • 说做网站被收债网络营销顾问工作内容
  • 哪些网站可以做设计方案网络营销推广策划步骤
  • 自己做网站开发by网站域名
  • 功能多的网站模板 中文内容网络营销案例分享
  • 免费做网站优化seo网站优化
  • 做游戏网站给人诈骗站长之家字体
  • 安徽省建设监理有限公司网站电商网站图片
  • 网站建设操作网址查询域名解析
  • 网站建好了怎么做网站登录入口
  • 会qt怎么做网站百度人气榜排名
  • 网站的动态新闻数据库怎么做网络营销最基本的应用方式是什么
  • 网站源码可以做淘宝客专业网站建设
  • 设计师做帆布包网站南宁网络推广有限公司
  • 政府网站建设问题分析百度权重是怎么来的
  • 低价网站备案整合营销方案
  • 网站备案会过期吗网站模板怎么建站
  • 做推广任务的网站有哪些2020年百度搜索排名
  • 学做网站网seo搜索优化专员
  • 如何做旅游休闲网站百度关键词收录排名
  • 北京亦庄网站建设公司中国十大网站
  • 网站建设 南京企业营销网站
  • 家具网站建设规划书百度关键词优化和百度推广
  • 建网站图片怎么找站长工具黄
  • 在社保网站做调动互联网营销师报名官网
  • 西餐厅网站建设的需求分析seoul是啥意思
  • 承德网络推广公司怎么做优化
  • 龙岩网站设计培训西安seo霸屏
  • seo的优化技巧有哪些海南seo