Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal

Recommended Posts

OHML being complete, it just needed something next so the OHML specification is complete. And this thing is what is here: OHTP


Host - Any computer or machine with a OC-compatible modem attached to it

Server - Host sending OHTP-valid data when an user attemps to connect

Client - Host receiving OHTP-valid data from a Server

OHTP - Open Hyper Text Protocol - Protocol used to transmit OHML - Open Hypertext Markup Language between Hosts.


The OHTP protocol doesn't take care of what is transporting it. Either it is using a socket API, going through modem, minitel or GERT. It assumes the API or transport layer you utilize supports sockets.

Arguments in URLs:

To put arguments inside URL, the url must end like normal, but have "?" at end, followed by "property=value" entry. If wanting to add more entries, add "&" after last entry




Once the socket is opened, the Client can ask data to Server

The Client will send first a Request Header looking like it:


Example, if the REQUEST is GET, and the version 1.0, with a request page equals to /index.html (the PAGE entry CANNOT BE EMPTY, if wanting to access default file of server, use /):

OHML/1.0 GET /index.html

Currently the valid REQUEST values are:

  • GET (just receive the file)

There are also request bodies, which just include "Property: Value" entries.

For now, request body is unused, however, there can be non-standard properties, but they must start with "X-"

So a request is constructed like that: Request Header( + Request Body)

The client, even after having received the Response from Server can still send new requests. All that until socket is closed.


Once the Server receives a Request from a client. It must replies with a Response.

A Response is contructed like this: Response Header + Response Content

The Response Header is constructed like this:


Yep, i know it's really small, making it simple to implement.

Currently there are thoses error codes:

  • 200: OK
  • 201: Moved permanently + new URL after ERRORCODE
  • 300: Temporaly moved + new URL after ERRORCODE
  • 301: Switch protocol + approved protocol name after ERRORCODE
  • 404: Page not found
  • 500: Server error
  • 501: Internal error sending the the fetched page (e.g. file found but not accessible from server).
  • 502: Server-side language is errored (Detailled version of 500, optional)
  • 503: Service temporaly down

The Response Content is just the content of the fetched file (if found).

Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.