[En français] [Монголоор]

Different types of websites

Various classifications

Websites can be classed in different ways. One may class them by publisher: administrative sites, corporate sites, personal sites etc. One may class them by size: by number of pages, or by size of the computer files. The number of pages is not very significant by the way because, behind a unique page as Google’s search page can be a huge invisible database. One may as well class websites by their goal: commercial sites, social sites, official sites, political sites etc.. We’ll attempt here a basic technical classification. In the boxes below are technical pieces of information. We pretend in no way to introduce all the technologies used in the web. The below technologies are among the most used by website creators. We do not introduce the technologies used by Web hosters, Internet service providers or telecommunications operators. Creating a website is the subject of recommendations of the W3C (World Wide Web Consortium), which are in fact the main standards of the web.

Vocabulary

visitor
Someone who visits a website.
server (computer)
Computer providing a service to other computers, in this case a web service. It is usually a mainframe belonging to a body and connected to the Internet 24 hours a day, which hosts websites.
client (computer)
Computer receiving a service provided by a server. It is often a personal computer connected to the Internet and using the web. But it can also be a large computer of Google visiting websites to catalogue them.
hoster
Company with one or more web servers providing others with hosting service, which consists of serving web pages on clients request, 24 hours a day.
cookie
Small amount of information (usually one or a few lines) stored on the client computer by the server when the client is connected to a there hosted website, and that the server can read when the client is connected to him. A cookie allows the server to recognise subsequently a client computer or some features of previous connections. The meaning of a cookie may be for example: Last time a visitor connected from this client computer he chose the German part of this site and viewed the page regarding home delivery. This will be particularly useful if the visitor change page, or if he comes back another day.
web session
Website visit during which the visitor is identified by the server as a single visitor while he changes pages.
to run
To work. Said of a program.
to run on the client side
To work on the client computer. Said of a program.
to run on the server side
To work on the server. Said of a program.
URI (Uniform resources identifier)
Web address, usually displayed at the top of the browser. For example: http://Fiable.biz .
serveur (application)
Application installed on a server computer and in charge of providing a service to other computers, in this case a web service. Example: Apache.
applet
Small program included in a web page and executed by the browser reading the page.
browser plug-in
Auxiliary program installed on a client computer to confer additional functionality to the browser.

Static website

A static website is like a book: it can contain text and still images, and everyone can see the same thing. Instead of turning the pages, one clicks on links, which can enable easier browsing than the pages of a book pages because the reader is not obliged to look for a page if a link leads him directly to it. But nothing else happens. A static website can be updated, possibly frequently, but not in response to an action of the visitor. A static site may however include an email address hyperlink, but the site itself does not undertake to send mail and leaves that task to the visitor’s email program.


To write a static website, one uses HTML descriptive language, whose present version is called XHTML (extended hypertext markup language). It describes the page content (text, pictures…). He also uses, in addition, the descriptive language CSS (cascading style sheet), responsible for the formatting of the page (colours, bold, italic etc..). It happens that these descriptive languages allow text to flash, so that the mere blink text is still regarded as static, as well as changes in text colour or picture position when the mouse goes over a link or click on it.

A site can also be written in XML (including XHTML as a special case), standard which describes the semantic content of a site, for example: product name:, price:. This technique can allow a client computer to take better advantage of the information provided. The file has to be transformed into XHTML by the client to be displayed.

To add an image to a web page, you can either make a photo with a digital camera or scan a document or do a drawing with a software program. It is often preferable to compress the image for faster downloading of the page by the visitor’s browser. The major image formats on the web are JPEG (Joint photographic experts group), JPEG 2000 , GIF (Graphics interchange format) and PNG (portable network graphics). They are said raster formats i.e. the file contains the colour and brightness of each point of the drawing. SVG (Scalable vector graphics) is a drawing format said vector format, i.e. the file does not contain the colour and brightness of each point of the design, but the parameters of equations of each drawn element (lines and surfaces). This achieves much smaller files, very fast to download. Microsoft Internet Explorer 9, far behind it main competitors will at last be able to read SVG files, so this format will develop quickly on the web.

A website needs a web address, or URI, and a hosting service. Address and hosting are usually chosen by the website creator but subcontracted to a hoster, so the corresponding techniques are not broached here.

A field of competence shared between the hoster and the website creator is HTTP (Hypertext transfer protocol), which manages the dialogue between the server and the client. The client asks for a page, and tells its own browser name and version, the file types and character encodings it’s able to read, as well as the human languages it prefers to receive. The server may use this information to serve an appropriate version of the page if it has several versions at its disposal. This is called content adaptation. The server tells in turn to the client the type and encoding of the file it is going to serve. Cache management is also a matter for HTTP. These memories are located between the server and the visitor: in the hoster’s cache server, at the visitor’s internet access provider’s, in the visitor’s computer and possibly in intermediary computers. They are designed to speed up the service, storing the most asked web pages and serving them without needing to download them each time. But if the page has changed on the server, the cache just has to download it again. The duration for which to store each file may be given by the server software (whose most famous is Apache), or be given directly to the computer managing the cache thanks to a program written in PHP, Perl, Python or other language by the site creator. In any cases, a HTTP header file is produced and provided to the cache before the web page itself. Although the hoster proposes a management of these storage durations, the website creator, who knows how often he updates his files, is in a better position than the hoster to tell these storage durations.

The techniques used for static sites are also used by all other sites.

Animated site

This kind of site is sometimes called dynamic but the word dynamic has, in computer sciences, several acceptations, including the one of interactive (see below). A animated site includes at least a movie, a cartoon film (in the broad meaning of the word) or some sound.

An animated site can include much more than a paper document, but looks like an audio or video tape or like a collection of tapes: the visitor watches what happens, can stop the movie, go back, choose one page (and so one movie, cartoon film or sound) or another one, but his activity can’t go further.

GIF format enables short, jerky, animations. SVG enables cartoon films. As far as the major other formats are concerned, if the sound files are usually of a reasonable size, raster files of video and fluid animation (as opposed to jerky) are very big, hence the necessity to compress them to speed the visitor’s browser automatic downloading. The visitor’s computer has to uncompress the file. Now, the W3C members haven’t manage to agree on a compression standard, or on an envelope standard, which would enable to coordinate (they say multiplex) video, sound and subtitles. So one should know that, whatever be the chosen format, a movie or a cartoon won’t be viewable by some visitors. Video compression main formats presently still in contention answer to the sweet-sounding names of Theora and H.264, the latter being also called MPEG-4 AVC. Audio compression main formats are Vorbis, MP3, AAC (advanced audio coding), subtitling main formats are MPEG-4 timed text and Ogg Writ, while envelopes main formats are Ogg and Flash video. But there are many more. SMIL (Synchronised multimedia integration language), the W3C standard for multimedia integration, is already used by several software programs, but not yet by browsers, except on an experimental basis. Theora, Vorbis, Ogg Writ and Ogg have the advantage of being free, while H.264, MP3, AAC, MPEG-4 timed text and Flash video are protected by patents, so one has to pay to use them. Generally speaking, some patents price is included in the price of standalone DVD players or in the one of personal computers, but it’s generally not the case if the visitor uses Linux or BSD, since Linux and BSD are free.

Responding site

A responding site is a site which responds to what the visitor does, besides changing page and playing movies or soundtrack. For example, a context menu, or a computation. On some commercial sites selling complex products like computers, the customer-visitor can add, modify or delete options and the bill total is modified immediately each time, without the visitor needing to validate nor to wait. This is reactivity. (By contrast, order and payment require interactivity techniques described below.) Reactivity doesn’t require that what the visitor does go back to the server (the big computer) because reactivity is obtained by a small program included in the web page and called "applet", running client side, i.e. working on the visitor’s computer, not on the server, which will never know what happened on the visitor’s computer. In other words, if there is, for example, a computation, it’s the consumer’s computer which makes the computation. So reactivity is very quick, because it’s not necessary to wait for a remote server’s reply. The client (the visitor’s computer) has first to download the applet. So it can’t be more that a small program. Moreover, the visitor’s browser may not understand the applet or be configured to ignore it. So this technique, though very widespread, is not extremely reliable.

Applets best known programming language is Javascript, whose standard ECMAScript is accepted by all modern desk browsers, but the visitor, or the person who configured his computer, may have disabled "Javascript", so that nothing will happen. Java which, despite its name, has nothing to do with Javascript and requires the client browser have a plug-in (Java plug-in), as well as ActiveX, which only works with Microsoft Windows, have also to be mentioned as applets languages.

Interactive site

An interactive site, as its names says it, is a site where the visitor interacts with the server, and not only to decide which pages he consults by clicking links. In this category are included sites with an e-mail sending form and sites offering financial services, even the ones only permitting the visitor to consult his accounts and not to do any banking operation, because it’s in response to his name and password than the site displays him his accounts data, and not someone else’s ones. More generally, any site requiring an ID and a password is interactive. Are also interactive the merchant sites where the visitor can purchase on line, the sites including an internal search system by keyword, and search engines, as Google or AltaVista.

Many interactive sites use cookies to recognise the visitor. Another technique, which lasts only the time of a session, is to place this piece of information into the URI.

Interactive sites usually use a database, most often following SQL (structured query language) standard and always a language enabling server and client computer to dialogue. The oldest technique, still in use, is CGI (common gateway interface), a standard enabling the client computer to pass information to the server so that the latter run a program written in any programming language: Perl, C, C++, Basic etc.. This technique is quite slow if the two computers (client and server) have to respond several times one to the other. An improvement is FastCGI. Alternatives are modules added to the server so that the latter understand some programming languages running server side: most often PHP (hypertext preprocessor), Visual basic.NET, C#, Java or Ruby. Modern websites endeavour to make client computer and server best cooperate, which requires the coordinated use of reactivity and interactivity technologies. Such a coordination is itself a technology. The best known reactivity-interactivity coordination programmes are: Ajax (Asynchronous Javascript and XML), founded as it name says it on Javascript, which works on all desk browsers but may have been disabled, Adobe Flash, Java and Microsoft Silverlight. Unlike Ajax, these technologies require a browser plug-in. Now Apple, the biggest producer of handhelds (iPhone etc.), doesn’t provide this possibility on its handhelds.

On the one hand such a programming making two computers playing a part becomes quickly very complicated, on the other hand many web programming basic needs are standard, such as for instance management of visitors’ session (permitting to recognise a one visitor surfing from page to page). So, rather than rewriting already existing parts of programs, the programmer often uses a web framework. One of the types of web framework is called model-view-controller, such as Django, PureMVC, or XForms, which provide the programmer with libraries (collection of programs parts) in charge of the low-level tasks but also of some higher levels tasks.

One the one hand all web site creators are not programmers, on the other hand many sophisticated needs for internet are standard. For instance, there is a considerable number of merchant sites, having similar needs. Rather than programming every time, many website creators use a CMS (content management system), including a collection of ready-made programs for interactivity but also reactivity tasks, articulated with a collection of sites models. Moreover CMSs separate the programmer and redactor roles, enabling authors with no special computer knowledge to insert content. There are many CMSs, the most used of which seem to be Drupal, vBulletin and Expression engine. For blogs, the most used CMS is by far WordPress. Most CMS also provide framework functions, and so ease programming supplementary modules.

Community site

A community site is a site enabling interactions not only between the site master and the visitor, but also between visitors. Are community sites the ones enabling the visitor to leave a public comment other visitors will be able to answer to, sites including a forum, social sites where the visitor has his own page others can write on, wikis where visitors take part together in the redaction of a knowledge database (the best known being Wikipedia), webmail sites enabling to receive and send e-mail on the web (as opposed to programs like Microsoft Outlook or Mozilla Thunderbird, which manage the e-mail off web). Are also community sites the chat sites.

The techniques used for community sites are the same ones as those used for the other interactive sites. A community site necessarily has a database.

Open site

Let’s call open site a site automatically including content provided by third parties who are not necessarily its visitors. Content syndication permits several sites to share a common content, automatically updated. For instance, many sites provide weather forecast, news or stock quotations, from a third party source. It usually is either a service paid by the site master including this information, or a promotion campaign for the source.

Beside sites with content syndication, fit into the category of open sites sites automatically displaying advertisement from an advertising agency and not directly from the advertiser. Are also open the webmail sites (but these ones are interactive too). For example, if I write an e-mail to Cathy@gogo.mn, my e-mail will be displayed on Gogo’s website when Cathy will connect to read her e-mail, without me having to visit Gogo.mn site. The micro-blogging site Twitter and its partner sites display messages broadcast by people who haven’t necessarily visited their site. Search engines like Google or Altavista also display content from this kind of third parties (they are necessarily interactive).

The best known technologies of content syndication are RSS (Really simple syndication) and Atom.

Other techniques used by open sites are Javascript, e-mail, Twitter (which is a very simple shared service of micro-blog), pieces of software of advertisement management like OpenX or services of advertisement management like Google adwords, indexing robots such as Heritrix, HTTrack, or Scooter (the latter is neither free neither for sale).

Automated site

An automated site is an interactive site enabling the visitor to give orders to one or several robots other than computers. For example, an hybrid mail site receives by internet a text or pictures as well as the service payment, automatically prints the text or the pictures thanks to a printer (1st robot), folds them thanks to a folding machine (2nd robot), put them in envelopes (3rd robot) then send them by post in the name of the site’s visitor. (Instead of 3 robots, there may indeed be one three-functionality robot.)

Automated websites use drivers, enabling the computer to pilot the robot. The robot itself has its own program. The programming language is usually different from a robot to another. Yet Microsoft robotics developer studio and Urbi are attempts of more general robotic programming frameworks.

Site for mobile devices

A website for handhelds (alias "mobile devices", "smartphones" or handbrowsers) is a site designed for browser having a very small screen and, as for now, a small memory, an expansive internet connexion and an often low internet speed. This is not a category of sites adding to the previous categories, but a cross-cutting category, that is to say a site for handheld may be static, responding, interactive etc.. A one website may be designed both for desktops and handhelds.

Sites designed for both handhelds and desktops usually use a browser recognition program, which analyses the data send by HTTP (hypertext transfert protocol) before the page itself, in order to know if they are dealing with a handheld or not, for instance the program AskPythia. Some sites for mobile devices use a program which queries a database to get more details about the handheld connecting, notably the exact size of the screen, for example the database WURLF (Wireless Universal Resource FiLe). The W3C (World wide web consortium) published a interface for querying such databases, named DDR simple API (device description repository simple application programmation interface). Adaptation of the content to the reading device is necessary for any site designed to both handhelds and desktops, except if the pages are very simple and light. Moreover, handhelds usually only accept a subset of the techniques used in sites designed for desktops. The W3C redacted special recommendations for this, notably XHTML Basic et XHTML Mobile Profile. So writing such a site requires knowing precisely the limitations of most handhelds, and thus specific knowledge and know-how. To assist site developers in this task, the W3C has published a library (set of programming functions) for automatic adaptation of content, called TransPythia.