is 123systems good for testing? and hold a website with hardly any traffic?
You get access to a VPS (Virtual Private Server) which is essentially a computer that is always connected to the internet and that you have full access to (through an SSH client (I like 'PuTTY'), which is basically a command line like interface).
You have a handful of linux OS you can install through the website (web panel) - this all happens automatically. Some of them even come with Apache pre-install (a webserver, i.e, a program that listens for incoming connections from port 80 (it responds to HTTP requests)). You have a folder called /var/www/html/ where Apache looks for your web pages. If you don't have one, Apache provides a default page that says something like: "Apache installed, bla bla".
Your computer has an IP address, so you just go to that address with your web browser and voila Apache will display your pages for you.
If you want a name for your website you need to buy a domain name (which is completely different from hosting your website). A Domain name simply points a registered name (e.g. google.com) to an IP address. Domain names cost around 3-10$ per year, depending on the suffix (e.g: .com costs about 8$, .org costs about 5$ etc).
If you google "Free DNS" you might find free domain names like "blabla.freedns.org" which are free names that point to your IP address (your VPS) that you can use.
If you're looking for DNS, I can recommend Godaddy.com. I've used dotster.com but they have so many mini fees you need to pay for other stuff like url-forwarding that it's really annoying, Godaddy.com has url-forwarding for free and IMHO is less of a nuisance.
Also, a lot of DNS providers also provide Web hosting. But you won't need Web hosting since you can host your own website at your VPS and have full control over it.
As an example, my website at www.heartpirates.com
is hosted completely on my VPS (applets, html files, css files etc etc). I've registered the domain name "heartpirates.com" from godaddy and simply point it to the IP address of my VPS (which you can easily find out e.g with http://www.selfseo.com/find_ip_address_of_a_website.php
I play around with my VPS a lot and just now I happen to host a web page with an applet on there. You don't HAVE to host a website, you can turn Apache off or even uninstall it completely and browsers connecting to your VPS will simply get error messages (since your VPS won't respond, or even listen for that matter, for incoming connections on port 80)).
To connect to your VPS through SSH you download a client like e.g PuTTy, choose port 22 (default for SSH connections) and connect to your VPS ip address. You will be prompted by a login name + password. For admin the login name is usually "root" or "admin" and the password is the one you provided at the web panel on 123systems. You can create other usernames for your VPS too (it's just a computer (with unix OS), you can do anything, but you're "limited" to doing everything through the command line)).
You could possibly also connect to your VPS and get a Desktop GUI view but that is INSANELY BAD. The command line like interface (shell/bash etc) is much more efficient.
If you've never operated a computer from this point of view, you should learn. Basic commands are:
Windows : Unix
cd : pwd - print current directory.
dir : ls - print current directory's files and sub-directories.
cd <name> : cd <name> - change directory to <name>.
mkdir <name> : mkdir <name> - make a new directory.
etc etc, just google unix commands.
A few useful commands:
The double dot ".." means go up a directory. e.g: [cd ..]
wget, download an url (website, file, image etc) from the web into the current directory. e.g: [wget www.google.com
just type "help" and use google to learn the commands for stuff you want to do.