当前位置: 首页 > 面试题库 >

cookie和cookiejar有什么区别?

弓智明
2023-03-14
问题内容

今天,我遇到了术语“ cookiejar”(程序包net/http/cookiejar)。我试图收集有关它的一些信息,但没有任何可理解的信息。我知道
cookie服务器发送给客户端的键/值对,例如:Set-Cookie: foo=10浏览器将其存储在本地,然后每个后续请求浏览器都会将这些cookie发送回服务器,例如:Cookie: foo=10

好的,但是 cookiejar 呢?这是什么,看起来如何?


问题答案:

正如您在问题中所描述的那样,Cookie由浏览器(HTTP客户端)管理,它们允许将信息存储在客户端计算机上,这些信息由浏览器根据后续请求自动发送。

如果您的应用程序充当客户端(使用该net/http程序包连接到远程HTTP服务器),则没有浏览器可以处理/管理Cookie。我的意思是存储/记住作为Set- Cookie:响应头到达的cookie,并将它们附加到对同一主机/域发出的后续出站请求。另外,cookie的失效日期还必须在决定将其包含在外发请求中之前进行检查。

http.Client但是,该类型允许您设置type的值http.CookieJar,如果这样做,则将具有自动cookie管理,否则该cookie将不存在,或者您必须自己进行设置。这样一来,您就可以net/http对服务器将在同一个会话中看到的程序包进行多个请求,就像它们是由真实的浏览器发出的一样,因为HTTP会话(会话ID)通常是使用cookie维护的。

该软件包net/http/cookiejar是一个CookieJar实现,您可以直接使用它。请注意,此实现仅在内存中进行,这意味着如果重新启动应用程序,则cookie将丢失。

因此,基本上, HTTP cookie
是从网站发送的一小段数据,并在用户浏览该网站时存储在用户的Web浏览器中。

Cookiejar
是简单cookie管理器的Go接口(用于管理HTTP请求和响应标头中的cookie)以及该接口的实现。



 类似资料:
  • (1)存储位置不同 cookie在客户端浏览器; session在服务器; (2)存储容量不同 cookie<=4K,一个站点最多保留20个cookie; session没有上线,出于对服务器的保护,session内不可存过多东西,并且要设置session删除机制; (3)存储方式不同 cookie只能保存ASCII字符串,并需要通过编码方式存储为Unicode字符或者二进制数据; session

  • 问题内容: 我正在使用新的Python Requests库发出http请求。我从服务器获取cookie作为文本。如何将其中的cookie变成一个? 问题答案: 这个问题让我感到困惑。请求库将为您将Cookie放入罐子中。 URL的第一个请求将填充该jar。第二个请求会将cookie发送回服务器。标准库的urllib模块cookielib也是如此。(当前可用于2.x版本的文档)

  • 问题内容: localStorage,sessionStorage,session和cookie的技术优缺点是什么,何时可以在另一个之上使用? 问题答案: 这是一个范围极为广泛的问题,很多利弊都取决于具体情况。 在所有情况下,这些存储机制都将特定于单个计算机/设备上的单个浏览器。跨会话持续存储数据的任何要求都将涉及您的应用服务器端- 最有可能使用数据库,但可能使用XML或文本/ CSV文件。 lo

  • localStorage、sessionStorage、session和cookie在技术上的优缺点是什么?我什么时候会使用其中一个而不是另一个?

  • 问题内容: 我想在不同节点上的2个应用程序之间共享会话;但是,我很困惑Cookie和Redis会话存储之间的区别是什么;例如Cookie会话可能如下所示: 在Redis中,一个会话存储可能看起来像这样: 但是,我很困惑如何共享这些会话。在cookie方法中,请求包含会话的状态,而我看不到Redis中的会话实际上如何匹配到2个应用程序之间的状态。有什么建议如何在2个机架应用程序之间使用Redis /

  • 问题内容: 两者都意味着空间,但是有什么区别吗? 问题答案: 一个是不间断空间,另一个是常规空间。不间断的空格表示该行不应在该点处换行,就像它不会在一个单词的中间换行一样。 此外,正如斯文德(Svend)在其评论中指出的那样,不间断的空间不会崩溃。