DO I HAVE TO KNOW ALL THIS STUFF?

Well, sort of.  Browsers and servers can only really do what you tell them to do.  The instructions for these two wonders of communication come from HTML source code, the language that web pages are written in.  HTML may be hand-written (the old way) or it can be generated by software such as Microsoft FrontPage or Netscape Composer.  HTML uses paths (subdirectories, file names, server names, etc.) to tell the server which pieces of information to send.  If that path information is incorrect, for whatever reason, it may be necessary for you to correct the problem manually.

For instance, let's say your URL is http://www.cport.com/~sparky and you have just uploaded your home page.  You know everything is "right" because it works great on your computer, but when you upload the file and try to view your page through the Internet, you notice that your radically cool logo is missing.  So, you go back to your other browser window and look at the version of the page that you have on your hard drive.  Looks good, doesn't it?  So, what went wrong?

Well, there are a few possibilities.  For starters, did you upload the graphic?  If not, then you'd better get back into your FTP client and make sure it gets where it belongs.  But wait... the file is there.  So, why didn't it load?  What else could be wrong.  Then you think about it for a second and realize that maybe you didn't tell the server where to find the graphic.  Remember subdirectories from the last section?  Maybe the file is in a subdirectory.  Did you create any subdirectories?  Well, no, that's not it; you just checked with your FTP client and there are no subdirectories.  Everything is right there in your directory.  So, why won't the graphic load?  You're really frustrated and about to call the webmaster to give him a piece of your mind when you realize that maybe your HTML source is screwy.  Having looked at HTML source for a few web pages, you recall that the IMG tag is responsible for displaying graphics on web pages.  You scan your page and you see something really weird:

        <IMG SRC="file:///A|/coolstuff/radcool.gif">

Huh?  Well, what does it look like to you?  You have no idea, right?

Well, first, let's look at how web browser work.  Where do web pages come from?  Servers, right?  How does the browser know which server to get graphics from?  Well, unless you tell it otherwise, it assumes that the graphics exist on the same server as the current page.  Furthermore, it assumes that the graphic exists in the same directory as the current page.  However, these assumptions are made in the absence of other information.  That is, if only a file name is provided, the server will look no further than the current directory — the directory containing your home page — when the browser requests that graphic.

Here are examples of how the server "serves" up the files you ask it for:

1 <IMG SRC="http://www.cport.com/batman.gif"> batman.gif is assumed to be in the root directory of theCport web server.  Chances are it's not there.
2 <IMG SRC="/batman.gif"> batman.gif is assumed to be in the root directory of the web server where the current web page resides.
3 <IMG SRC="batman.gif"> batman.gif is assumed to be in the current directory.  By current directory, we mean the directory where the current web page resides.
4 <IMG SRC="../batman.gif"> batman.gif is assumed to be in the directory just above the current directory.  DOS and Unix users are familiar with this system.  One dot means "this directory."  Two dots mean "the directory above this one." 
5 <IMG SRC="./batman.gif"> This is the same as #3.

Based on the above information, what does <IMG SRC="file:///A|/coolstuff/radcool.gif"> do?  Well, from the server's perspective, nothing.  When a browser is told to visit a site, it grabs the source code for the actual page (the .html file) and then parses (analyzes) it.  Part of that parsing is determining where to get the various pieces of information that comprise the page.  For this step, the browser uses the protocol information to first determine if the information is local in nature or if it needs to pull the information from a server.  What's this?  Local?  Yes, local.  A browser will, if it can, use information from your own hard disk to display a page element (Let's call these things page elements from now on.  I like the way it sounds.) and it uses the protocol to determine if this is possible or not.  It's not the the browser has an inclination to use one protocol over another.  It's just that it is its job to follow instructions and there is always the possibility that a page element may be located on the local hard disk.  It is the FILE protocol (indicated with file:///) that tells the browser to look on the local machine.  Pretty cool, eh?  But what's the rest of the junk?  Ready for another table?

file Protocol.  This is used to distinguish one transfer method from another.  HTTP (Hypertext Transfer Protocol) is the default protocol, but others exist; FTP, TELNET, GOPHER, to name a few.
: Separator. A colon is used to signify the end of the protocol and the beginning of the next part of the URL.
// Triple Forward Slashes.  Two forward slashes are used to indicate that what follows is the host name of a computer.  Triple slashes are used to indicate that resource is local in nature.  If double slashes were used, the file protocol could still be used, but a computer name would be expected to follow the slashes.  This could be used in a local area network to access files on remote computers.  This is known, in Information Technology terms, as an "Intranet."
A Drive Letter.  Because the file protocol was used, a drive letter is expected to tell the browser where on your local computer to begin looking for the file you've specified.  If you see this in your HTML source, more than likely you used a drag and drop operation to include this file in your web page.  Since the file was coming from a source that your web authoring software considers to be "external," a verbose link to the file was created "just to be safe."  Unfortunately, this causes every computer that views your web page to search its own A: drive for this file.
I Pipe.  The Pipe character is used to separate a drive letter from the rest of a file protocol path.  In DOS and Windows, colons are used for this purpose, but since a colon is considered a special character and is already used elsewhere in the URL syntax, something else has to be used.  Use of the Pipe character in this regard is the work of brilliant mind.  I almost had you believing that I invented this scheme, didn't I?
/ Single Forward Slash.  The leftmost single forward slash in any URL always means the same thing.  It is the root directory; the directory which contains the collective content of the entire disk, which itself is comprised of many subdirectories and files.
coolstuff Subdirectory.  The parts of a URL following the leftmost forward slash can be either subdirectories or files.  In this case, coolstuff is a subdirectory, so the rest of the URL is processed to determine whether the next element is a directory or a file.
radcool.gif File Name.  This names the file that the browser is supposed to retrieve for the page it is rendering (like that word?).

So, there you have the reason for the graphic not showing up.  That is, unless you send an identical floppy to each visitor to your site, making sure that you have a coolstuff directory with a radcool.gif file in it, no one but you is going to see that graphic.  In fact, you'll only see it if and when you have that floppy in your diskette drive.

This section was a bit lengthy, but the idea was to make you think about the possibilities and to help you understand how browsers work.  The browser must be able to locate the elements of your page and it can only do so with the instructions you provide it.  Your HTML code is the place where this occurs and you should not rule out learning HTML, even if you are using Microsoft FrontPage,  Adobe Page Mill or any of the other WYSIWYG web design products available.