服务器端cookie和客户端cookie有什么区别?

在服务器和客户端上创buildcookie有什么区别? 这些叫做服务器端cookies和客户端cookies吗? 有没有办法创build只能在服务器或客户端上读取的cookie?

HTTP COOKIES

Cookies是网站用于在浏览器上存储状态信息的键/值对。 假设你有一个网站(example.com),当浏览器请求一个网页时,网站可以发送cookie来在浏览器上存储信息。

浏览器请求示例:

GET /index.html HTTP/1.1 Host: www.example.com 

来自服务器的示例答案:

 HTTP/1.1 200 OK Content-type: text/html Set-Cookie: foo=10 Set-Cookie: bar=20; Expires=Fri, 30 Sep 2011 11:48:00 GMT ... rest of the response 

这里两个cookie foo = 10和bar = 20被存储在浏览器中。 第二个将在9月30日到期。 在接下来的每个请求中,浏览器都会将cookies发送回服务器。

 GET /spec.html HTTP/1.1 Host: www.example.com Cookie: foo=10; bar=20 Accept: */* 

会话:服务器端Cookie

服务器端Cookie被称为“会话”。 在这种情况下,网站在浏览器上存储一个包含唯一会话标识符的cookie。 状态信息(上面的foo = 10和bar = 20)存储在服务器上,会话标识符用于将请求与存储在服务器上的数据进行匹配。

使用的例子

您可以使用会话和Cookie来存储:身份validation数据,用户首选项,电子商务网站中图表的内容等。

优点和缺点

下面的解决scheme的利弊。 这是我想到的第一个,肯定有其他的。

Cookie优点:

  • 可扩展性:所有数据都存储在浏览器中,因此每个请求都可以通过负载均衡器访问不同的Web服务器,并且您拥有满足请求所需的所有信息;
  • 他们可以通过浏览器上的JavaScript访问;
  • 不在服务器上,它们将在服务器重新启动后生存下来;
  • RESTful:请求不依赖于服务器状态

Cookie缺点:

  • 存储空间限制为80 KB(20个Cookie,每个4 KB)
  • 安全的cookie不易实现:看一看安全的cookie协议

会议优点:

  • 一般来说更容易使用,在PHP中可能没有太大的区别。
  • 无限的存储

会议缺点:

  • 更难以规模
  • 在Web服务器重新启动,您可能会丢失所有会话取决于实施
  • 不是RESTful

你可能是指Http Only cookies和他们的柜台部分之间的区别?

Http在客户端JavaScript中,只有服务器端才能访问(读取或写入)Cookie。 如果未设置Http Only标志,或者在(客户端)JavaScript中创buildcookie,则可以在(客户端)JavaScript和服务器端读取和写入cookie。

没有区别。 常规的cookie可以设置在服务器端或客户端。 Cookie将随每个请求一起发回。 由服务器设置的cookie将在响应中发送给客户端。 服务器只在明确设置或更改cookie时发送cookie,而客户端则在每个请求上发送cookie。

但它是一样的cookie。