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.