1/

The #WorldWideWeb dominated #Internet would have been a different place if #HTTP had support for directories.

Because except for an atavism on how relative URIs resolve against a base URI —

HTTP does not support directories.

2/

For example, there is no HTTP method to list the contents of a directory.

Also, there is no HTTP method to pull all the contents of a directory (as a single operation).

There are no recursive HTTP methods for directories.

Etc.

3/

"Yes", there is WebDAV — but WebDAV is no more HTTP than AtomPub is.

And also, WebDAV does a mediocre job of trying to shoehorn directories into HTTP.

@reiver How do you explain http://kingsley.idehen.net/DAV/home/kidehen/Public/Linked%20Data%20Documents/Playground/gptChat/#this then?

That's an #HTTP-based filesytem (built circa 2000, and still running) that also supports #WebDAV and the more recent #LDP protocol.

I can perform operations recursively just as I would a #Unix, #Linux, #macOS, or #Windows filesystem. It also includes both Role-Based Access Controls (#RBAC) and the more powerful fine-grained Attribute-Based Access Controls (#ABAC) 😀

#ODSBriefcase #DataSpaces #SemanticWeb #Web30

@kidehen

My comment was about HTTP.

Unless I'm mistaken, that URL ( http://kingsley.idehen.net/DAV/home/kidehen/Public/Linked%20Data%20Documents/Playground/gptChat/#this ) is an application built on top of HTTP, HTML, CSS, JavaScript.

It isn't HTTP itself.

...

HTTP doesn't have (built-in) methods for directories.

These are the (built-in) HTTP methods here:

• CONNECT
• DELETE
• GET
• HEAD
• OPTIONS
• PATCH
• POST
• PUT
• TRACE

( https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods )

.

WebDAV Repository

@reiver Take a URL from that instance and then pass it through each method using cURL.

It's as #HTTP as it gets.

Example:

curl -I http://kingsley.idehen.net/DAV/home/kidehen/Public/Linked%20Data%20Documents/Playground/gptChat/9to5mac-apple-offers.ttl

Response: https://tinyurl.com/bda88kax

#ODSBriefcase #LDP #WebDAV

@kidehen

The COPY, LOCK, MKCOL, MOVE, PROPFIND, PROPPATCH, and UNLOCK methods in that screenshot are not built-in HTTP methods.

They are custom methods used by WebDAV.

WebDAV is not HTTP.

WebDAV is no more HTTP than AtomPub is HTTP.

@kidehen

For example — I could go create custom HTTP methods for HTTP to support the directory operations I mentioned.

• LIST
• LIST-RECURSIVE
• PULL
• PULL-RECURSIVE
• etc

But unless other server software and client software also implements my custom HTTP methods, they won't work.

And also, my custom HTTP methods aren't HTTP. HTTP allows for them. But they are a usage of HTTP, not HTTP itself.

@reiver #WebDAV is an #HTTP based protocol.
#ActivityPub is an HTTP based protocol.
#AtomPub is an HTTP based protocol.

That's all because HTTP is deliberately focused on CRUD operations targeting resources denoted by Uniform Resource Locators (URLs).

Regarding HTTP, a Folder (or Directory) is just another resource denoted by a #URL 🙂

See: https://tinyurl.com/2p8uyett

Carbon

Carbon is the easiest way to create and share beautiful images of your source code.