RTMPT

From Gnash Project Wiki

Jump to: navigation, search

RTMPT Protocol

RTMPT is an ASCII based extension to the HTTP protocol. This is supported by the Adobe player and media server. RTMPT commands basically control the persistence of the network connection. Back in the days of HTTP 1.0, all HTTP requests required a separate network connection for each one. This became an obvious performance issue as the web got more congested, so with the arrival of HTTP 1.1, all network connections are by default, persistent.

RTMPT has the commands OPEN, SEND, IDLE, CLOSE, used to control the connection. This functionality is now two additional headers added to HTTP 1.1, Keep-Alive and Connection. Both can toggle the persistence of the network connection in a similar way as RTMPT. All RTMPT commands use POST methods for requests and responses, where the GET method is used for everything else when dealing with RTMPT. As the Adobe media server dates back from the days of HTTP 1.0, it used RTMPT to fix what was a big performance issue with the web at that time. These commands were only supported by the Adobe media server, and not any web servers.

Cygnal supports both HTTP 1.1 and RTMPT, which is simple. The varying ways of toggling the persistence both do the same thing. Gnash itself will be using the HTTP 1.1 headers instead for controlling the persistence, so that it would work as well with the Apache web server as it would with Adobe's media server. Also as persistence is the default for most modern browsers and web servers, this should be entirely unnecessary.