SUIP Manifesto

Simple Unified Internet Protocol — Version 0.1

"The internet protocols we use today carry 30+ years of legacy baggage. What if we could start fresh, keeping the lessons learned but leaving the bloat behind?"

The Problem

HTTP was designed in 1991 for sharing hypertext documents. Since then, it has been extended, patched, and retrofitted to handle everything from streaming video to real-time chat to REST APIs. The result is a protocol that:

We are not here to replace HTTP. We are here to explore what a protocol designed today, from scratch, might look like.

The Vision

SUIP (Simple Unified Internet Protocol) is an experimental protocol built on four principles:

1. Simplicity First

The core protocol must be simple enough to understand in one evening and implement in a weekend. Complexity belongs in optional extensions, not in the foundation.

2. Self-Describing

A protocol should explain itself. Clients should be able to discover server capabilities without external documentation. Servers should advertise what they can do.

3. Extensible Without Fragmentation

Extensions should be standardized patterns, not ad-hoc additions. A CRUD API, a streaming service, and a pub/sub system should all use recognizable, universal patterns.

4. Developer-Friendly

If it's hard to implement, it's wrong. The reference implementation should be under 2000 lines. The specification should be clear, concise, and practical.

The Protocol

SUIP uses a fixed 12-byte binary header followed by a variable-length body:

Byte 0:    Protocol Version (0x01)
Byte 1:    Message Type (REQUEST / RESPONSE / ERROR)
Byte 2:    Operation (FETCH / STORE / LIST / INFO)
Byte 3:    Status Code (SUCCESS / NOT_FOUND / etc.)
Byte 4:    Content Type (TEXT / BINARY / XML / STRUCTURED_PATH)
Byte 5:    Flags (compression, keep-alive, priority)
Bytes 6-7: Reserved
Bytes 8-11: Content Length (big-endian)

That's it. No parsing ambiguity. No variable-length headers. No text encoding issues.

URL Scheme

suip://host[:port]/path

Default port: 2802. Transport: TCP.

Operations

CodeNamePurpose
0x01FETCHRetrieve a resource
0x02STORESave a resource
0x03LISTList available resources
0x04INFOGet resource metadata

Status Codes

CodeName
0x00SUCCESS
0x01NOT_FOUND
0x02ACCESS_DENIED
0x03SERVER_FAULT
0x04INVALID_REQUEST
0x05UNSUPPORTED_OPERATION

Six status codes. That's all you need for MVP.

The Markup

SUIP defines a minimal XML-based markup for content:

<?xml version="1.0"?>
<page>
  <container>
    <text class="heading">Welcome to SUIP</text>
    <text>A simple page with no JavaScript, no CSS frameworks, no bloat.</text>
    <link href="suip://localhost/about.xml">Learn more</link>
  </container>
</page>

Four elements: <page>, <container>, <text>, <link>. Everything else is an extension.

Extensions

The core protocol is intentionally minimal. Additional functionality comes through standardized extensions:

Servers advertise their capabilities through /.well-known/capabilities. Clients adapt automatically.

What SUIP Is Not

What SUIP Is

Roadmap

Join the Experiment

SUIP is open source. Whether you're a protocol designer, an implementer, or simply curious about how the internet works — you're welcome to contribute.