Kaynaklar (resources)
Kısaca: Bir web veya sistem bağlamında, bir adres (örn. bir URL) üzerinden adreslenebilen veya bir sistemin sağlayabildiği her şey — dosyalar, veriler, ama aynı zamanda CPU veya RAM gibi donanım kapasitesi.
Biraz daha ayrıntılı: Web’de kaynak, tipik olarak bir URL ile adreslenebilen bir nesnedir (bir HTML sayfası, bir görüntü, bir API yanıtı). Bir sistem bağlamında ise “kaynaklar”, yönetimi örneğin işletim sisteminin işi olan ana bellek, işlemci süresi veya ağ bant genişliği gibi sınırlı kapasiteler anlamına gelir.
Ayrıntılı
Kaynak kavramı REST API’leri için merkezîdir: eylemleri adlandırmak (getUser, deleteUser) yerine REST, kaynakları URL’lerle adresler ve eylemi HTTP yöntemiyle ifade eder (GET /users/42 okur, DELETE /users/42 aynı kaynağı siler). Her kaynağın ideal olarak, içeriği zamanla nasıl değişirse değişsin, benzersiz ve kararlı bir adresi vardır.
Bir sistem bağlamında (“sistem kaynakları”) anlam farklıdır: burada kaynaklar, tahsisini işletim sisteminin eşgüdümlemesi gereken sınırlı, paylaşılan kapasitelerdir:
- CPU süresi: bir işlemin birim zamanda kaç hesaplama adımı aldığı.
- Ana bellek: bir işlemin ne kadar belleği işgal etmesine izin verildiği.
- Dosya tutamaçları/soketler: bir işlemin aynı anda kaç açık dosya/ağ bağlantısı tutmasına izin verildiği.
- Ağ bant genişliği: bir işleme/konteynere ne kadar veri verimi sunulduğu.
Bir uygulamanın bu kaynakları tükenirse (örn. bellek dolarsa), sistem kaynak türüne bağlı olarak farklı tepki verir — yavaşlamadan işlemin zorla sonlandırılmasına kadar (Linux’ta “out of memory killer”).
Ayrıca bak: URL