Constructing web sites – but how?
That's the one question plaguing anyone who considers creating a web project in
earnest. There are of course plenty of solutions available that may be operated
more or less easily; from web construction kits to web space to standalone
servers that hosts the web site virtually anything may be found here. The only
catch on this: One cannot necessarily exhaust the full potential offered by
web space or a server, but is instead limited to what is offered by the
construction kit.
Web construction kits are of course the primary choice for creating a web site
without that much knowledge. The various hosters usually have a variety of
templates available from which one may choose, and normally they allow for
quick creation of the web site by means of a web-based
WYSIWYG editor.
In contrast dedicated web space normally doesn't provide pre-made modules, but
it is instead necessary to generate and upload any pages yourself. However, you
are far more flexible since you don't have to rely on any standards, plus the
more powerful packages also support Perl and/or PHP, with the professional
packages also providing a database that may be designed by means of a web
interface to suit your needs.
A dedicated server in turn offers total
freedom. However, you are required to take care of everything since your
provider is only going to take care of instaling the system and maintaining the
hardware – system maintenance as well as setting up and configuring the various
services is up to you alone. Operating a dedicated server therefore is meant
for people who are well-versed in this matter and can securely operate a
server. It is therefore mandatory to know the internals of the system in use,
be it Linux, be it Windows and also look into the services to be provided.
However, when one knows what to do, one can set up a web site that dwarfs
everything that could be done with the other options by far.
HTML editor or self-made?
When you don't want to be limited to web construction kits, the question that
inevitably is going to come up is how to generate your web pages in the first
place. To this end there are various HTML editors that take care of generating
the HTML source. The only thing that you have to do is writing the text and
format it if applicable. The editor is dealing with the rest.
However, when you load the web page thus generated into a simple text editor
you are going to notice that the result leaves a lot to be desired and wastes
a great deal of potential for page optimization. After all the program lacks
the intuition that a human has at his disposal, thereby limiting the HTML
editor in its options for optimizing. If the HTML editor in question is badly
programmed as well, the result usually is even worse.
You alternatively have the option of doing it yourself and create things
manually like in the good ol' days of the World Wide Web. However, that
requires that you deal with HTML/XHTML as well as CSS and, if necessary,
JavaScript in order to create a viable web project. The big advantage of this
is that you aren't subject to any limitations, but may instead create your
pages entirely as desired. The only drawback is that you normally don't have
any standardized elements that you could use, but you have the option to deal
with this problem by simply putting any components that are used repeatedly into
separate modules and include those into your files where appropriate. This way
you can make up your own web construction kit if you so desire and from which
you may help yourself as required by your web project.
And in case you intend to generate dynamic content, you have three powerful
tools at your disposal, namely SSI, CGI, and PHP, to get it done, plus you may
even connect to a database when using PHP or CGI!
The second point inevitably is the question how to upload your pages to your web site. This is normally done by means of FTP access that allows transferring any data from your box to your web site, or you have a login available, usually SSH under Linux. The latter allows for working directly on your server so that you don't need explicit FTP access any more to upload data to your server.