Libro Python Aplicado de Eugenia Bahit. GNU/Linux, ciencia de datos, y desarrollo web

Banner de Python Aplicado

Generación y lectura de cookies HTTP desde Python


Cita con formato IEEE:
E. Bahit, "Generación y lectura de cookies HTTP", in Python Aplicado, 4th ed., EBRC Publisher, 2022, pp. 257–261.

Cita con formato APA 7:
Bahit, E. (2022). Generación y lectura de cookies HTTP. In Python Aplicado (4th ed., pp. 257–261). EBRC Publisher.

Cita en línea:
(Bahit, 2022)

Una cookie HTTP es un dato que el servidor envía al navegador del cliente, y este almacena a fin de ponerlo a disposición del servidor en cualquier momento, o hasta que el usuario decida eliminarlo.

Las cookies HTTP permiten a un servidor reconocer a un usuario y guardar información no crítica sobre este, de forma temporal, y localmente en el dispositivo del usuario en vez de hacerlo en el propio servidor.

Creación de cookies HTTP con Python

Las cookies se generan por medio de cabeceras HTTP, enviando al navegador una instrucción con la siguiente estructura:

Set-Cookie: <nombre de la cookie>=<valor de la cookie>

Por ejemplo, para crear una cookie cuyo nombre sea color, y cuyo valor sea azul, la instrucción se vería como la siguiente:

Set-Cookie: color=azul

En Python, las cookies pueden crearse imprimiendo simplemente la línea anterior antes del cuerpo:

print("Content-Type: text/html; charset=utf-8")
print("Set-Cookie: color=azul")
print("")
print("<b>Cuerpo del documento</b>")

O empleando la biblioteca cookies:

from http.cookies import SimpleCookie
cookie = SimpleCookie()
...

Atributos adicionales de una cookie HTTP

Además del nombre y valor, una cookie puede tener otros atributos definidos en las RFC 626524. Estos atributos pueden emplearse de forma combinada en una misma cookie, o utilizarse individualmente. Los principales atributos se describen y ejemplifican en la tabla de página 259.