Opera Mini uses a server to translate
HTML,
CSS and
JavaScript into a more compact format. It can also shrink any images to fit as the handset screen. This step makes Opera Mini fast. Most Opera Mini versions use only the server-based compression method, with maximal compression but some issues with interactive
web apps. Opera Mini can operate in three compression modes: "mini" (or "extreme" on Android versions), "turbo" (or "high" on Android versions) and uncompressed. A page is
compressed, then delivered to the phone in an
interpreted markup language called Opera Binary Markup Language (OBML) supported by Opera Mini. According to Opera Software, the data compression makes transfers about two to three times faster The turbo mode was added later, and is similar to Mini mode but bypasses compression for interactive functionality, at the expense of less extreme data compression. The turbo and uncompressed modes use the "WebView" on Android and the
WebKit layout engine on iOS. Other versions can switch between various modes, gaining functionality at the cost of lower or no compression. Opera Software claims that Opera Mini reduced the amount of data transmitted up to 90% in the mini (extreme) mode; in turbo (high) mode, it reduced amount up to 60%, similar to
Google Chrome's Reduced Data mode. When a user requests a Web page using Opera Mini, the request is sent, via the connectivity used by the device to access the
Internet (typically
mobile broadband or
Wi-Fi), to a proxy server run by the
Opera Software company, which retrieves, processes and compresses the full page, and sends the smaller processed page back to the client's device. By default, Opera Mini opens one connection to the proxy servers, which it keeps open and re-uses as required. This improves transfer speed and enables the servers to quickly synchronize changes to bookmarks stored in Opera Mini server. When the
Opera Software company launched Opera Mini in 2006, they had over 100
Linux-based proxy servers to handle Opera Mini traffic. Consequently, Opera Mini supports most of the
web standards supported in Opera 12. Presto's development has continued for Opera Mini and further support was added for
HTML5 input types,
CSS Flexbox model, CSS
rem units and
ECMAScript 5. Opera Mini supports
bi-directional text and can correctly display right-to-left scripts such as
Arabic and
Hebrew in addition to languages written left-to-right. However, it will not display right-to-left text if the font size is set to
small or
very small.
Indic and
Chinese scripts are supported only if an appropriate font is installed on the device as the default system font.
Small-Screen Rendering For devices with screens 128
pixels wide or smaller, the default rendering mode is Small-Screen Rendering (SSR). In this mode, the page is reformatted into a single vertical column so that it only needs to be scrolled vertically. Web developers can turn on SSR on the desktop edition of Opera to see how their websites will be displayed on mobile editions of Opera.
Complex script rendering Opera Mini can send content in bitmap image form if a font required is not available on the device, which is useful for
indic scripts.
Hindi,
Bengali and a few other non-Latin character sets are supported.
JavaScript support When browsing the Web in Opera Mini mode,
JavaScript is
processed by the proxy server, and is merely
rendered on the device. This limits
interactivity. Scripts cannot be run in the background on the device. If a script is paused (on the server), the browser must communicate with the server to unpause it. JavaScript will only run for a couple of seconds on the Mini server before pausing, due to resource constraints. On Opera Mini, before the page is sent to the mobile device, its onLoad events are fired and all scripts are allowed a maximum of two seconds to execute. The setInterval and setTimeout functions are disabled, so scripts designed to wait a certain amount of time before executing will not execute. After the scripts have finished or the timeout is reached, all scripts are stopped and the page is compressed and sent to the mobile device. Once on the device, only a handful of events are allowed to trigger scripts: • onSubmit: Fires when a form is submitted Opera has published Web content authoring guidelines to assist authors. Opera Mini supports most advanced version of
Transport Layer Security (TLS) protocol it also supports modern secure ciphers such as
AES-GCM and
ECC. However, Opera Mini's Extreme mode does not offer true
end-to-end security when visiting
HTTPS encrypted websites only for data saving purpose. With "Extreme/Mini mode" when visiting an encrypted web page, first the Opera Mini's servers decrypt the page, compress it for data saving then re-encrypt it themselves and finally forward it to the destination phone. While browsing a secured site with "High/Turbo mode" or "Uncompressed mode" the connection is not intercepted by the Opera Mini server so that High and Uncompressed modes do not break end-to-end integrity. ==Features==