Bir pod'da ilk kaynağınızı saklayın ve getirin

İki HTTP isteği.

Bu dökümün nereden geldiği, açıkça söylenmiş hâlde

Bir dizüstü bilgisayarda başlatılan bir pod'a karşı çalıştırıldı, iki komut, dağıtılmış sunucumuza karşı değil. Bizimkine yazmak kimliği doğrulanmış bir oturum gerektiriyor, dolayısıyla oradan bir döküm, sahip olmadığınız ve kontrol edemeyeceğiniz kimlik bilgileri gerektirirdi.

Size inanmak zorunda olduğunuz bir şey yerine tam olarak yeniden üretebileceğiniz bir şey göstermeyi tercih ederiz.

Yaz

$ curl -X PUT http://localhost:3000/hello.ttl \
    -H 'Content-Type: text/turtle' \
    --data-raw '<#it> <http://schema.org/name> "hello" .'

201 Created

Yazma yolunun tamamı budur. Kaynak URL'siyle adlandırılıyor; PUT onu oraya koyuyor.

Oku

$ curl http://localhost:3000/hello.ttl
<#it> <http://schema.org/name> "hello" .

200 OK

Aynı baytlar geri geliyor. Zarf yok, sarmalayıcı yok, içinde hiçbir yerde bize ait bir tanımlayıcı yok.

KONTROL, çünkü her şeye 200 dönen bir sunucu da aynı ekran görüntüsünü üretirdi:

$ curl -o /dev/null -w '%{http_code}' http://localhost:3000/never-created.ttl
404

Yok olan ile saklanan ayırt ediliyor. O satır olmadan yukarıdaki iki istek hiçbir şey kanıtlamıyor.

Yanıt başlıklarının bir istemciye söyledikleri

Allow: OPTIONS, HEAD, GET, PATCH, PUT, DELETE
Accept-Patch: text/n3, application/sparql-update
Link: <http://www.w3.org/ns/ldp#Resource>; rel="type"
Link: <.../hello.ttl.acl>; rel="acl"
WAC-Allow: user="append control read write", public="append control read write"

Bir yabancının aracının, bizim hakkımızda hiçbir şey söylenmeden öğrendiği dört şey: hangi yöntemlere izin verildiği, kaynağın yamalanabileceği ve hangi biçimlerde, onun bir LDP kaynağı olduğu ve erişim denetimi belgesinin nerede yaşadığı.

O blok hakkında iki dürüst not. Yamalamayı ilan ettik ve onu çalıştırmadık: başlık sunucunun iddiasıdır, bizim ölçümümüz değil. Ve WAC-Allow ardına kadar açık bir varsayılan gösteriyor: bu pod herkese dört kipin hepsini veriyor, ki bu yalnızca dizüstü bilgisayara özgü bir düzenlemedir.

"Yalnızca HTTP" olmasının neden ilginç kısım olduğu

Burada tescilli bir API yok. Fiiller web'in fiilleri, tanımlayıcı bir URL ve içerik türü pazarlıkla belirleniyor. Solid var olmadan önce yazılmış bir araç, bir pod'dan bir kaynak okuyabilir.

O özellik Solid'indir ve bütün modeldeki en güçlü argümandır, ayrıca kendi tanımlayıcı tasarımımıza ters düşen de odur, ki o bizim yöntemimizi konuşan bir istemci gerektiriyor.

Bunu bizim dağıtımımıza karşı yapmak

Kimliği doğrulanmış bir oturuma ihtiyacınız var, çünkü dağıtılmış sunucumuz kökün açık olmadığı pod başına bir düzen çalıştırıyor. Arayüz bunu sizin için yapıyor: bir klasör oluşturmak ve bir dosya yüklemek, bir ekranın arkasındaki aynı iki işlemdir.

Ve onun hata ayıklaması hakkında bir uyarı: bizim sunucumuzda bilinmeyen bir yol 404 değil 401 döndürüyor. Oradaki bir ret, kaynağın var olup olmadığı hakkında size hiçbir şey söylemiyor, ki bu az önce gördüğünüz yerel davranışın tam tersidir. Bunun sebebi.

Okumaya devam edin

Bir pod'da ilk kaynağınızı saklayın ve getirin · Solidus