Data URI
Data URI (Satır İçi Veri Şeması)
Verilerin kodlanmış dize olarak doğrudan belgelere gömülmesine olanak tanıyan URL şeması; görüntüler ve fontlar gibi küçük kaynaklar için ayrı HTTP isteklerini ortadan kaldırır.
Teknik Detay
Sözdizimi: data:[ortam-türü][;base64],veri. Örnekler: data:image/png;base64,iVBORw0KGgo..., data:text/html,%3Ch1%3EMerhaba%3C/h1%3E (yüzde kodlanmış metin), data:text/plain;charset=utf-8,Merhaba. Data URI bir HTTP isteğini ortadan kaldırır ancak: HTML/CSS belge boyutunu %33 artırır (Base64 artışı), bağımsız olarak önbelleğe alınamaz, ayrıştırıcıyı engeller (HTML'de satır içi). En iyi kullanım: <1-2KB küçük görüntüler (ikonlar, LQIP yer tutucular), kritik fontlar (alt küme), satır içi SVG. Anti-pattern: büyük görüntüler (ayrı HTTP isteği + önbellekleme kullanın), dinamik veri (API uç noktası kullanın). Boyut sınırları: tarayıcılar genellikle 2MB'a kadar destekler, IE8 32KB ile sınırlar. Güvenlik hususları: data:text/html JavaScript çalıştırabilir — CSP default-src varsayılan olarak data URI'leri engeller.
Ornek
```javascript
// Encode string to Base64
const encoded = btoa('Hello, World!'); // 'SGVsbG8sIFdvcmxkIQ=='
// Decode Base64 to string
const decoded = atob('SGVsbG8sIFdvcmxkIQ=='); // 'Hello, World!'
// File to Base64 Data URI
const reader = new FileReader();
reader.onload = () => console.log(reader.result);
// → 'data:image/png;base64,iVBORw0KGgo...'
reader.readAsDataURL(file);
```