Search blog.co.uk

Web servers: a digression

by cc0028 @ 2006-01-30 - 21:59:33

I've been using the term "Web server" for a while in this blog; and now I realise that I've never defined what such an animal might be. So this is a very brief introduction to Web server technology.

I don't know, but some of you might be familiar with the idea of a file server. Basically, it's a relatively high spec computer with lots of disk space that is used for storing and retrieving files. The advantage of this is that, unlike your local hard disk drive (your C: drive, usually, for all you Windows people out there), it can be effectively backed up, centrally; can provide fault tolerant storage (e.g. parts of the disk can be corrupted or inoperable, but your data stays safe), and can make very large persistent data stores, in the form of files of one type or another, available to users - stores that are far larger than could be attached to ordinary PCs. It also allows the files it stores to be shared securely.

When you retrieve a file from a file store, your computer generally knows what program to use to manipulate the file. If you retrieve a word processing document, for example, your computer will - if it recognises the format - open it in a word processor.

So why am I talking about file servers when I promised to talk about Web servers. Well, because in essence, Web servers are just specialised file servers. They are specialised in the sense that they serve up files (called pages in Web server speak) that conform to a set of standards for Web pages. This allows a client application - a web browser - to request a certain type of page which it, the browser, can then interpret and display for the user.

At the very simplest level, all Web servers do is to serve up HTML pages that they find on their file systems by following the paths sent to them by the client browser: the URL. The URL of a web page is the address you see in the address bar of your browser, underneath the menus. For example, the URL of the page I am typing into now is http://www.blog.co.uk/admin/b2edit.php?blog=51047.

What the above URL means is that there is a document called b2edit.php in the directory called admin on the machine called www that lives in the domain called blog.co.uk. The ?blog=51047 is called the query string and tells the Web server which blog I'm editing.

Of course it's a bit more complex than that. The browser in this case is asking for a PHP page, and the Web server knows to hand off processing of such pages to the PHP application: but at the end of the day, what it sends back to the browser is HTML - even if it's been made up on the fly by another program such as PHP and never actually existed as a real file on the file system.

If you want to see what the Web server sends back, just right click on a Web page and select View Page Source - or whatever your browser says.

Generally speaking, HTML pages on Web browsers are just sent back without modification. Files such as PHP files contain instructions to a PHP processor as well as HTML markup. The Web server hands the page to the PHP processor, which modifies the page and hands the resulting HTML back to the server for sending on to the client (browser).

The pages I am writing are called ASP.NET pages. These are similar to PHP pages in that they contain a mixture of text and instructions. Until recently, these instructions could only be processed on Windows servers using Microsoft's Web server (IIS), but now, with the advent of Mono, they can be processed by other Web servers, notably Apache, using Mono as the processor. My project aims to discover whether the Apache-mono combination is as effective as the native Windows implementation.

That's probably enough for now. If you have any questions, ask away. I love this subject, so I'm only too pleased to respond to anyone else who shows even the slightest interest.


 
 

Trackback address for this post:

authimage

Comments, Trackbacks: Hide subcomments

menhirmenhir [Member]
01/02/06 @ 18:51

Two things; can you tell me what PHP stands for and ASP? It is possible these letters have no interpretation, but my guess is that they are acronyms that do, and I would like to know what that meanting might be.

cc0028cc0028 [Member]
http://www.peredur.uklinux.net
01/02/06 @ 19:26

Let's start with PHP.

PHP is a piece of free software. That's "free" as in "speech", not as in "beer". In other words it is software that is free of restrictive licensing conditions. This is in contrast to "proprietary" software.

In geeky circles, especially in connection with free software, there is a tradition of recursive acronyms. For example, the authors of many free software tools for Unix such as the gcc C compiler are an organisation called GNU, which stands for "GNU is Not Unix". In this same spirit, PHP stands for "PHP Hypertext Processor". These things are considered witty in computer circles: which possibly says quite a lot about computer circles.

However, as you will have gathered, the important bit is the "Hypertext Processor" bit. In other words, the PHP software gets a stream of text that is a mixture of HTML and PHP commands from the Web server and processes it in accordance with those commands to form an HTML stream that it returns to the Web server for passing over the wire to the browser that requested it.

ASP is a Microsoftism and is therefore devoid of even bad humour.

In the 1990s Microsoft found itself losing out very badly in Internet space. It was doing especially badly against Java as manifest in Java Applets (little programs downloaded from a Web page that run in the calling browser), and Java Server Pages (JSP). As a result, Microsoft cobbled together a really badly implemented pair of technologies:

  • Active X, which is the Microsoft answer to Java Applets but which has neither their elegance nor, more importantly, their security.
  • ASP, standing for Active X Server Pages: a competitor for JSP that has little of JSP's power or fleetness of foot.
ASP actually has nothing to do with Active X - which is in itself more of a marketing term than a real technology. But when did Microsoft's marketing department ever adopt clarity as an aim?

ASP.NET, on the other hand, is a complete re-write of Microsoft's dynamic Web application technologies. It actually has quite a lot going for it: but you will not be surprised to hear that it has little to do with original ASP and even less to do with Active X. Oh well.

HTH

(Hope That Helps)

:)

menhirmenhir [Member]
01/02/06 @ 20:36

To quote a well worn one - wysiwyg- only in this case it is wisiwig! :)

Thank you.

I hope you are enjoying your Fauré concert. Having ripped some of my favourite pieces I should now get into the habit of listening while move over the internet waves. (Or should it be swim? The corollary to that would be to sink so I'm not sure about that one; wearing a buoyancy aid while surfing the net does not quite equate...)

MibloMiblo [Member]
http://miblodelcarpio.blog.co.uk
20/04/08 @ 19:46

Hallo, cc0028.

I've just finally arrived at your blog by a fairly roundabout way, while trying to find out what Query Strings we can use on blog.co.uk. In particular, I'd like to know how to make a certain page of my blog display a certain number of posts. I have a table contents page, you see, and via that it is possible to navigate to each chapter of my blog and read the articles from that chapter in chronological order. I have my blog set to display eight articles per page, and previous stuck with eight articles per chapter, but I've recently stopped doing that and my Chapter Fifteen has more than that. Thus a "Next Page >>" link is required in this chapter, but since it doesn't keep the "?order=ASC" query, it takes me to the second page as if that query wasn't passed. So, what I would like to do is to make my Chapter Fifteen appear in its entirety, thus negating the need for the "Next Page >>" link.

The reason for my commenting is to ask if you wouldn't possibly know (how/if it's possible) to do that, would you?

from Miblo.

cc0028cc0028 [Member]
http://www.peredur.uklinux.net
21/04/08 @ 17:31

Sorry Miblo. I can see what you're trying to do, but I've no idea how to do it. Have you tried contacting the admins?

Peter

MibloMiblo [Member]
http://miblodelcarpio.blog.co.uk
24/06/08 @ 20:57

Oh, I beg your pardon, Peter.

Thanks for the reply. I've just posted a plea for help. Hopefully we'll learn something!

from Matt.

cc0028cc0028 [Member]
http://www.peredur.uklinux.net
24/06/08 @ 21:11

Hopefully.

I'm very much afraid, though, that they'll tell you there's nothing you can do about it. Blog software tends to be a bit inflexible sometimes.

Still, you never know. So, best of luck.

Cheers

Peter

MibloMiblo [Member]
http://miblodelcarpio.blog.co.uk
29/06/08 @ 15:53

Yeah, you were right, Peter. Never mind.

Leave a comment :

Your email address will not be displayed on this site.
Your URL will be displayed.
Allowed XHTML tags: <!, p, ul, ol, li, dl, dt, dd, address, blockquote, ins, del, a, span, bdo, br, em, strong, dfn, code, samp, kdb, var, cite, abbr, acronym, q, sub, sup, tt, i, b, big, small, img>
URLs, email, AIM and ICQs will be converted automatically.
Options:
 
(Line breaks become <br />)
(Set cookies for name, email & url)
Validation code:
Please enter the above code here:
For protection from spambots (case-sensitive).

Recent Posts

  1. A matter of style
    by cc0028 on 2008-09-11
  2. The late Helen Mary Bradley
    by cc0028 on 2008-08-10
  3. Install issues - harder than you think
    by cc0028 on 2008-08-10
  4. At your service
    by cc0028 on 2008-07-16
  5. The standard way of working
    by cc0028 on 2008-06-27
  6. Beyond lies the Web
    by cc0028 on 2008-06-25
  7. EPP
    by cc0028 on 2008-06-24
  8. Who dares, wins
    by cc0028 on 2008-01-28
  9. Streaming video in Linux
    by cc0028 on 2008-01-05
  10. A cat's tale
    by cc0028 on 2007-12-17

Footer

The content of this website belongs to a private person, blog.co.uk is not responsible for the content of this website.