Last updated: 17 Apr 26 19:14:44 (UTC)
Backblaze Http control
Actually, Backblaze B2 does support HTTP, but it requires HTTPS (secure HTTP) to function. To clarify the “why” behind this and the confusion regarding “HTTP control,” here is the breakdown:
1. It is entirely HTTP-based (REST API)
Backblaze B2 is built specifically to be controlled via standard HTTP methods. Whether you are using the Native B2 API or the S3-Compatible API, every single action—uploading a file, listing a directory, or deleting an object—is performed by sending standard HTTP requests (GET, PUT, POST, DELETE) to their server endpoints.
2. Why “Plain” HTTP is blocked
You may have encountered situations where you couldn’t get a connection to work. This is almost certainly because Backblaze strictly mandates HTTPS (TLS).
- Security: Plain, unencrypted HTTP (port 80) is rejected by Backblaze servers because it exposes your data and your authorization tokens to anyone who can “sniff” the network traffic.
- Compatibility: All modern development tools and storage clients (like rclone, boto3, or aws-cli) default to HTTPS. If you try to force a connection over port 80, the Backblaze API gateway will refuse the request.
3. “Control” vs. “Protocol”
If you feel that B2 lacks “control” (e.g., you can’t just cd into a directory or rename a folder), that is not because of the HTTP protocol itself, but because of Object Storage architecture:
- It is not a filesystem: In a traditional Linux filesystem, “folders” exist as metadata entries on the disk. In B2, there are no actual folders—only “prefixes” in an object’s name.
- The “Rename” Limitation: Because renaming a folder in object storage would technically require renaming every single file inside that folder individually, the API does not support a simple “rename directory” command. You have to “copy” the files to a new prefix and “delete” the old ones.
Summary
Backblaze B2 is essentially a massive web service designed to be managed via HTTP. If you are comfortable with HTTP, you are already using the intended interface for B2.
- To see it in action: If you want to see the HTTP requests being made in real-time, you can run rclone with the -vv (verbose) flag. You will see every PUT, GET, and HEAD request it makes to the Backblaze servers.