laravel Junior

What is the difference between sessions and cookies?

Short Answer

Sessions store data on the server (identified by a session ID cookie). Cookies store data directly in the browser, limited to ~4KB.

Detailed Answer

Sessions vs Cookies: Sessions: - Data stored on the server (file, database, Redis) - Session ID stored in a cookie on the client - Unlimited size (server storage) - More secure (data never leaves server) - Expiration controlled server-side Cookies: - Data stored directly in the browser - Limited to ~4KB per cookie - Sent with every HTTP request - Visible to the user (can be inspected) - Can have expiration set by server In Laravel: - Session: session()->put('key', 'value') or $request->session() - Cookie: Cookie::make('key', 'value') or $request->cookie('key') - Session driver: file, cookie, database, Redis, memcached

Code Example

Example
<?php
// Session usage
session(['key' => 'value']);
$value = session('key');

// Request session
$request->session()->put('cart', $cartItems);
$cart = $request->session()->get('cart');
$request->session()->forget('cart');

// Cookie usage
// Set cookie in response
return response($content)->cookie('name', 'value', 60);

// Read cookie
$value = $request->cookie('name');

// Encrypt cookies (automatic in Laravel)
// Cookie::queue(Cookie::make('name', 'value', 120));

// Session configuration (.env)
SESSION_DRIVER=redis
SESSION_LIFETIME=120
SESSION_ENCRYPT=true

Interview Tip

Emphasize security: sessions are more secure because sensitive data stays on the server. Mention Laravel's session encryption and CSRF protection.