Was ist der Unterschied zwischen cookie und cookiejar?
Heute Stand ich mit dem Begriff "cookiejar" (Paket net/http/cookiejar
). Ich habe versucht, einige Informationen zu sammeln über Sie, aber es kam nichts verständliches. Ich weiß, dass cookie ist der Schlüssel/Wert-Paare, die der server sendet an einen client, wie zB: Set-Cookie: foo=10
browser lokal speichern und dann bei jeder nachfolgenden Anforderung browser sendet diese cookies zurück an den server, zB: Cookie: foo=10
.
Ok, aber was ist mit cookiejar? Was ist das und wie schaut es aus?
- Siehe
net/http.CookieJar
. - Tangential Verwandte: github.com/gorilla/securecookie oder Sitzungen, wenn Sie müssen, verwenden cookies zur Speicherung von Daten. Authentifiziert cookies sind wichtig für die Sicherheit.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie du Sie beschrieben hast in deiner Frage sind die cookies verwaltet durch Browser (HTTP-clients) und Sie ermöglichen das speichern von Informationen auf den Computern der Kunden, die gesendet werden automatisch durch den browser bei nachfolgenden Anfragen.
Wenn Ihre Anwendung fungiert als client (Sie eine Verbindung zu remote-HTTP-Server mit der
net/http
- Paket), dann gibt es keine browser, die das handhaben würde /verwalten der cookies. Damit meine ich die Speicherung/Erinnerung an cookies, die ankommen, alsSet-Cookie:
Antwort-Header, und befestigen Sie Sie an nachfolgende ausgehende Anforderungen an den selben host/domain. Auch cookies haben Ablaufdatum, die Sie auch haben zu prüfen, bevor Sie entscheiden, Sie in ausgehenden Anfragen.Den
http.Client
Typ jedoch können Sie legen Sie einen Wert vom Typhttp.CookieJar
, und wenn Sie dies tun, müssen Sie die automatische cookie-Verwaltung, die sonst nicht existieren würden oder Sie würde es selbst zu tun. So können Sie nicht mehrere Anfragen mit dernet/http
- Paket, das der server als Teil der gleichen session, so als wären Sie von einem echten browser, wie oft HTTP sessions (session-ids) verwaltet werden Verwendung von cookies.Paket
net/http/cookiejar
ist ein CookieJar-Implementierung, die Sie verwenden können, aus der box. Beachten Sie, dass diese Implementierung in-memory-nur was bedeutet, wenn Sie die Anwendung neu gestartet, die cookies gehen verloren.Also im Grunde eine HTTP-cookie ist ein kleines Stück von Daten von einer website gesendet und gespeichert in einem web-browser, während der Benutzer ist das surfen, die website.
Cookiejar ist ein Go-Schnittstelle eine einfache cookie-manager (zur Verwaltung von cookies von HTTP request und response Header) und eine Implementierung der Schnittstelle.
In der Regel ist es ein datenspeicher, in denen eine Anwendung (browser oder nicht) setzt cookies verwendet, während die Anfragen und Antworten. So ist es wirklich ein Glas für cookies.