CodeGym/Java 课程/模块 3/HTTP 标头第 2 部分

HTTP 标头第 2 部分

可用

7.1 Keep-Alive 头

还有一些更有用的标题。Keep-Alive标头告诉服务器保持连接打开:服务器不会在发送响应后立即关闭连接。这将导致同一客户端对服务器的下一次请求更快地完成。

这种标头的示例:

Connection: Keep-Alive

但如果所有客户端都需要永久连接,那么问题就会从服务器端开始。服务器将不可用或开始自行关闭连接。

7.2 缓存控制头

Cache-Control标头可用于控制内容缓存。正确配置的缓存可以加快内容的处理速度,配置不当的缓存会突然产生问题。

禁用缓存,您需要编写以下标头:

Cache-Control: no-cache, no-store, must-revalidate

缓存中不应存储任何内容——既不是来自客户端请求,也不是来自服务器响应。请求总是发送到服务器,响应总是被完全下载。

您还可以启用最原始和最可靠的缓存类型

Cache-Control: no-cache

在发出副本之前,缓存会查询源服务器以查看资源是否是最新的。

您可以以秒为单位指定资源缓存时间。标题将如下所示:

Cache-Control: max-age=31536000

此标头指定内容的最长缓存时间。

您可以在此处阅读有关缓存的更多信息。

7.3 饼干

服务器可以在客户端存储数据。此类数据称为cookie。但是,客户端也可以存储 cookie。他们对双方都非常有帮助。

例如,您访问该站点,并且您已获得该站点的授权。即你上次登录时,服务器命令浏览器存储某个用户登录成功的信息。

这是 Cookie 在请求中的样子:

Cookie: name=value;name2=value2;nameN=valueN00

Cookie 通常由浏览器存储,并且与特定域相关联。当您再次访问同一个域时,cookie 会自动添加到 http 请求和 http 响应中。服务器/域无法接收由另一个服务器/域存储在浏览器中的 cookie。

每个 cookie 有 4 个主要参数:

  • 姓名;
  • 意义;
  • 有效期(保存多长时间);
  • cookie 绑定的域。

Cookies是以文本形式存储和传输的,所以name和value都是字符串。如果未指定 cookie 过期时间,则它们会在浏览器关闭后被销毁。

7.4届

用户登录站点后,他们说站点和服务器之间已经建立了会话。

服务器本身创建一个特殊对象 -HttpSession,它存储所有必要的信息以与授权客户端一起工作。并且这个对象的唯一编号以Cookie的形式存储在浏览器中。

Java Web 服务器通常使用一个名称JSESSIONID来存储会话 ID。它看起来像这样:

Cookie: JSESSIONID =ABAD1D

在服务器端,可以设置session的生存期,以及是否在浏览器关闭时自动关闭。

评论
  • 受欢迎
你必须先登录才能发表评论
此页面还没有任何评论