Positions

A linear progresion

On one end:
Back-end / Server-side / Hardware
And on the other end:
Front-end / Client-side / Content / Design

When there is only one person, that person can rightly be called a Webmaster
He or she is responsible for every aspect of developing and maintaining the website
Often the hosting is outsourced, and the content is retrieved from another source, but all other responsibilities fall to the webmaster

When there are two people, the line is usually drawn between the server-side and the client-side
The Systems Administrator / Programmer / Developer takes care of the Back-end and the Webmaster / Developer / Producer takes care of the front-end
Position titles are different at every company.
Content falls under the category of front-end and is the responsibility of the latter position. If not generating it, then acquiring it.

Theses two basic areas of expertise continue to subdivide as more people are included in the process.
One early spin-off is usually the Designer, who is in charge of everything visual on the site.
Designers are the most likely to be prima donnas.
Conflicts often arise when the back-end people emphasize functionality over looks, and the front-end people feel the opposite.

The back-end responsibilities usually divide along th elines of hardware and software.

  • The SysAdmin continues to be in charge of the server software, and user accounts
  • The IT person (information techmologies) worries about the infrastructure of the local network, and the hardware (computers and cables)
  • The Database Administrator runs the database server (if there is one) and works closely with the
  • Programmers who create the server-side functionality

    The front-end resposibilities are divided into:

  • Editors who either write, edit, or collect content
  • Producer or Manager, who oversees the whole operation, and is the liason between departments, communicates with clients and investors, and sets production schedules.
    This team is the one that ties everything together.
    They get the content, the design, and the functionality - package it all into a Web format, and upload it to the servers
  • HTML Grunts also called Associate Editors, Associate Producers, or WebMonkeys - they usually write HTML all day.
    This is one of the lowest-paid positions, but a necessary one, and a common one for young inexperienced people to take before being promoted to something else.

    The design team can also be further divided into:

  • Site Architect - designing the pathway through a site
  • Web Site Designer - design page layout, 2-D composition
  • Web Graphic Artist - create logos, ad banners, icons, etc.
    This is also a common ground-level position

    Some companies continue to subdivide the 4 or 5 basic responsibilities into 12 or even 15 distinct titles,

    Protocols

    Server-client interaction


    Servers


    . . Can mean software
    . . . . . Apache is a popular, free web server software package
    . . . . . Each protocol (Web, email, chat, ftp) needs server software to run
    . . . . . . -. These could all be on different physical computers, or all on the same computer
    . . Can mean the hardware on which the server software runs
    . . . . . Almost any computer an be a server
    . . . . . Although the average desktop PC is slower and not optimized for multiple Network connections
    . . . . . One reason that the Linux operating system is popular is that it can run on older hardware, like 386s
    . . . . . . -. because there is no graphical 'windows' interface, the OS uses less resources, leaving more for the Web server software

    Clients


    . . Usually refers to the software on the user's computer
    . . But it can refer to the computers, or even the users themselves
    . . All Internet activity requires client software
    . . Web clients
    . . . . Netscape Navigator
    . . . . Microsoft Internet Explorer
    . . . . Opera
    . . . . A few others
    . . Email clients
    . . . . Eudora
    . . . . Microsoft Outlook
    . . . . Netscape Mail
    . . . . Many Others
    . . FTP clients
    . . . Like Web Browser, but no GUI - Graphical User Interface
    . . . . WSFtp
    . . . . FTP Voyager
    . . . . Fetch (Macintosh)
    . . . . Many Others
    . . . . # demo . ftp client
    . . . Download for free from downlaod.com, jumbo.com
    . . Telnet clients
    . . . . SecureCRT
    . . . . Many Others
    . . . . # demo . telnet
    . . Chat and newsgroups also require clients, but many sites have chat or newsgroup clients built into the web pages, so no additional software is needed by the user
    . . Streaming media like RealAudio also requires its own server software and client softwar

    The connection requires:


    . . Client


    . . . . The user needs a network connection
    . . . . . . dial-up, DSL, . . ISDN, etc.
    . . . . The user needs appropriate client software
    . . . . The user tells the client software which server to access
    . . . . . . (http://www.matchstick.com/class/class01/index.html)
    . . . . . . Every Web page has a unique address:
    . . . . . . . . http:// . indicates that it is a Web address
    . . . . . . . . www . is the name of the server
    . . . . . . . . matchstick.com . is the name of the domain
    . . . . . . . . class/class01 . is the 'filepath' or 'directory path'
    . . . . . . . . index.html . is the file name
    Browser
    Old browsers only understood:
    • HTML (HyperText Markup Language)
    Modern browsers understand:
    • HTML
    • CSS (cascading style sheets)
    • JavaScript
      - like HTML, it is interpreted by the browser itself
    • Java (using an embedded JVM
      - Java Virtual Machine)
      Java and JavaScript are almost totally unrelated, although they both allow client-side functionality. This is one of the most common misunderstandings people have about the Web.
    • Other media (Flash, RealAudio)
      - require an optional plugin
    Future browsers will understand:
    • XML (Extendable Markup Language)
      CSS has existed for years, but browsers were not able to interpret CSS, so Web developers didn't bother using it.
      Even when the version 4.0 browsers came out, it was still a few years before enough users had these new browsers to make CSS a worthhile time investment.
      That is the state of XML today, although it has a lot of potential value, there is no browser today that can interpret XML tags
    • RSS
    • More sophisticated versions of HTML
      (eg. inline frames)
    • More sophisticated versions of JavaScript

    . . Network


    . . . . routers, hubs, switches, wires
    . . . . # demo . traceroute

    . . Server


    . . . . The server machine needs to be turned on
    . . . . The server software needs to be running
    . . . . . . Server software can 'crash' like any other software
    . . . . Server software is always configured to have a maximum number of users
    . . . . For mail, ftp, telnet requests, the server requires a name and password
    . . . . For web requests, the user is assumed to be 'guest' a special account that requires no password, but can only access certain directories on the server.
    . . . . If all is okay, the client software and server software perform a 'handshake' and can begin to communicate with each other
    . . . . At this point, files can be transferred
    . . . . . . 'ftp://' stands for FTP transfers
    . . . . . . 'http' stands for HyperText Transfer Protocol
    . . . . . . 'ftp' stands for File Transfer Protocol
    . . . . . . 'smtp' stands for Simple Mail Transfer Protocol
    . . . . . . 'gopher://', 'telnet://', 'file://'
    . . . . All server software is set up to work with user accounts
    . . . . One special type of user account is a 'guest' or 'anonymous' account
    . . . . . . The guest account has full access to the 'public' directory
    . . . . . . Mail severs don't allow guest accounts
    . . . . . . Web servers work exclusively with the guest account
    . . . . . . ftp and telnet allow guests into the public areas but restrict them from entering the private areas.

    . . . . . . Mail
    . . . . . . . . The user can use the email client software to make requests of the server software
    . . . . . . . . . . download new messages, delete messages, etc.
    . . . . . . . . . . send new messages
    . . . . . . . . . . often one server is used for incoming mail and a different one is used for outgoing mail
    . . . . . . . . The mail client can only handle mail files associated with a particular account
    . . . . . . Web
    . . . . . . . . The server sends a 'default' or 'index' page as soon as communication is verified
    . . . . . . . . The user can then use the client software to make requests of the server software
    . . . . . . . . . . download files (text, image, audio)
    . . . . . . . . . . submit forms to the server
    . . . . . . . . When the server software receives a form to process, it hands it over to other software that knows what to do with it
    . . . . . . . . . . This is sometimes totally separate software (CGI)
    . . . . . . . . . . And is sometimes integrated into the server (ASP, Cold Fusion)
    . . . . . . . . The Web client can access web-realted files within the httpd directory
    . . . . . . . . Modern Web clients (and many modern email clients) are able to interpret HTML, CSS, Java, and JavaScript
    . . . . . . . . . . For additional client-side functionality the browser needs plugins to interpret the downloads (Flash, RealAudio, etc.)
    . . . . . . FTP
    . . . . . . . . The user can upload and download all files with permissions associated with the account
    . . . . . . Telnet
    . . . . . . . . The user can actually start and stop applications on the server
    . . . . . . . . And can edit files directly on the server
    . . . . . . . . The user can manipulate all files with permissions associated with the account

    Host:

    Hardware


    . . Computers
    . . . . All makes and models are used
    . . . . They differ from desktop computers in that the hardware is usually optimized to handle thousands of concurrent remote connections.

    Software


    . . Almost all software used on the Web can be divided into 'Microsoft' and 'other'
    . . The 'other' software is usually free, since Microsoft has beaten all the commercial competition

    . . Operating systems


    . . . . Most Web servers run on some form of Unix (often Linux) or Windows NT
    . . . . Unix
    . . . . . . Unix comes in many different 'flavors'
    . . . . . . Free . FreeBSD, Linux
    . . . . . . . . Linux comes in different 'distributions'
    . . . . . . . . Different companies offer slightly modified versions of the standard Linux
    . . . . . . . . . . Red Hat, VA Linux, Caldera, etc.
    . . . . . . . . Linux is not the first or only free operating system, but came into being around the time the Web began, and the timing was right
    . . . . . . Not Free (Supported) . Solaris, . . Irix, etc.
    . . . . Windows
    . . . . . . (Windows NT)

    . . Server software


    . . . . Web, FTP, Telnet, Email

    . . . . All flavors of Unix have FTP, Telnet, and basic mail serving capability built into it
    . . . . So they just need a Web server

    . . . . Free
    . . . . . . Apache
    . . . . . . . . The name comes from the phrase 'A patch-y Web server'
    . . . . . . . . More than half of all commercial Web sites run Apache Web servers
    . . . . . . . . Apache is not the only free Web server, but it is the most popular.
    . . . . . . NCSA
    . . . . . . . . The National Center for Supercomputing Applications in Urbana-Champaign Illinois
    . . . . . . . . Marc Andreesen was a student at UIUC (University of Illinois at Urbana-Champaign)
    . . . . . . . . As a student, he co-created Mosaic, the first popular Web browser (client)
    . . . . . . . . Mosaic eventually evolved into Netscape, then Netscape Navigator
    . . . . . . Cern
    . . . . . . . . The World Wide Web was invented by university physicists in Cern, Switzerland
    . . . . . . . . Although the Internet is mostly an American invention, the WWW is not
    . . . . . . Many others
    . . . . . . . . Many young programmers test their abilities by writing simple Web serving programs
    . . . . . . . . Although they sometimes work fine, they don't have the user support that the above software has
    . . . . Commercial
    . . . . . . Microsoft
    . . . . . . Netscape
    . . . . . . WebSTAR (Macintosh)
    . . . . . . Many others

    . . Additional Functionality


    . . . . Server-Side or 'Back-end' software
    . . . . . . Server-side functionality requires additional applications running on the server
    . . . . . . Free
    . . . . . . . . CGI . Common Gateway Interface
    . . . . . . . . Java servlets
    . . . . . . Commercial
    Although the creation tools are not free, anyone with a web browser can view these pages
    . . . . . . . . Microsoft ASP
    . . . . . . . . Cold Fusion
    . . . . . . . . Tango
    . . . . Client-side or 'Front-end' software
    . . . . . . Free creation tools
    . . . . . . . . Java . requires a 'virtual machine'
    . . . . . . Commercial creation tools
    Although the creation tools are not free, anyone with the free plugin can view these pages
    . . . . . . . . Flash / shockwave . requires a plugin (free)
    . . . . . . . . PDF . requires Acrobat viewer (free)

    2 kinds of website

    . . static


    . . . . Flat HTML files
    . . . . hard to maintain
    . . . . . . when you want to make a change, you have to change every file
    . . . . . . grep is good, but not that good

    . . dynamic


    . . . . A database and a set of templates and an application to combine them
    . . . . When you want to make a design change, you just have to change the template
    . . . . but the pages are constructed 'on-the-fly' and load slow
    . . . . and require more sophisticated system

    . . 3rd option is to combine the two: pre-processed html


    . . . . still have: database, templates, and a program to combine them
    . . . . However, the entire site is built, then the flat html files sit, ready to be downloaded
    . . . . The better dynamic systems construct pages, then cache them, essentially taking advantage of this
    . . So web content has to be put into HTML files or a database
    . . . . other options are printing to Adobe Acrobat (PDF) files or simple text (TXT) files
    . . . . But these still need to be linked to from a Web page.

    Terminology

    DHCP Servers


    4 8-bit numbers
    0-255, 4,294,967,296 (over 4 billion) possible combinations
    . . 255.255.255.255
    . . the first number is associated with all the possible domain name suffixes
    . . . . .com, .net, .org, .mil, .edu, .gov, and all the country codes (.us, .uk, .jp, .cc, .to, .cz, etc)
    . . the second number is usually associated with a company, but one company may have many numbers, and one number can be shared by multiple machines
    . . the third and fourth numbers can be used by a company to identify different computers within the local network
    Dynamic Host Control Protocol
    . . Sometimes there are more computers than there are available IP addresses.
    . . . . To resolve this 'musical chairs' situation, many companies use DHCP servers
    . . Assigns IP addresses to computers as they log on to he network
    . . When the computers are shut down, their IP address is made available again.

    Internet Connection


    . . A user may have a unique IP address
    . . . . or a dial-up account at an ISP
    . . The ISP will probably use a DHCP to give each user a unique IP address when they log in.
    . . . . When the user logs out/hangs up, the ISP can give the IP address to someone else

    Computer Memory

    . . RAM


    . . . . Random Access Memory
    . . . . Temporary memory, is erased when an application exits and when the system shuts down

    . . ROM


    . . . . Read-Only Memory
    . . . . 'Permanent' memory is intact even when the computer is turned off
    . . Both forms of memory, and all other forms of computer communication understands only binary digits
    . . Bit is short for 'binary digit' and means 1 'state-containing' device with 2 possible states
    . . . . such as a light (on or off)
    . . . . a switch (up or down)
    . . . . a cell (filled or empty)
    . . . . 1 bit can hold 1 of two possible values
    . . . . 2 bits 22 can hold 4 possible values (0,0 . 0,1 . 1,0 . 1,1)
    . . . . 3 bits 23 can hold 8 possible values (0,0,0 . 0,0,1 . 0,1,0 . 0,1,1 . 1,0,0 . 1,0,1 . 1,1,0 . 1,1,1)
    . . . . With each additional bit, the number of possible values doubles
    . . . . 8 bits = 28 = 256 = 1 byte
    . . . . 256 chosen because each upper and lower-case letter, each digit, each symbol can have its own 8-bit marker
    . . . . 10 bits = 210 = 1024 = 1 kilobit
    . . every character has a unique binary identity

    Modem


    . . 'Modem' is short for 'Modulator/Demodulator'
    . . It converts binary digits into sounds to transmit them over telephone lines
    . . . . a high pitch is a 1, a low pitch is a 0
    . . . . the sounds are so brief, though, that it sounds like a constant scratching sound
    . . It also demodulates, converting sound into binary information
    . . Telephone lines were optimized to be able to carry only the human voice
    . . . . it would be more expensive to have phone lines be able to carry higher-quality sound
    . . The human voice is typically between the range of 50 and 15,000 hertz, or cycles per second
    . . . . phone lines cannot transmit frequencies higher than this
    . . . . this upper limit applies to data signals as well

    DNS


    . . The client knows that it is a Web request because of the 'http://'
    . . One of the first things it needs to do is 'resolve' the domain name
    . . Computers refer to all servers by their IP address which is a set of 4 8-bit binary numbers
    . . . . 255.255.255.255
    . . The client tells your computer that it needs to perform a DNS lookup
    . . DNS stands for Domain Name Server
    . . . . Every ISP and intranet needs a DNS (although redundant, these are called 'DNS servers')
    . . The DNS is essentially a very long list of two columns
    . . NAME. . . . . . . . . . . . . . . . IP ADDRESS
    . . mail.apple.com. . . . . . . . 102.23.34.45
    . . ftp.microsoft.com. . . . 98.76.54.32
    . . www.matchstick.com. . 1.203.45.31
    . . .... . . . . . . . . . . . . . . . . . . . ...

    . . Each computer could have its own list, but since names and IP addresses change all the time it is better for each local network to have a centralized list that everyone can use.
    . . The user can bypass this process if she knows the IP address of the server

    Proxy Server


    . . Imagine 10 users all using the same ISP, and in a given day they all access the home page at Amazon.com
    . . It is inefficient for the same page to pass from amazon.com to the ISP to the users 10 times
    . . It would be more efficient for the page to be cached by the ISP
    . . The each additional request would just download the page from the ISP, rather than from amazon.com each time
    . . Some companies and some ISPs (AOL for example) do just this with a proxy server
    . . A request from a web browser within the local network goes first to the local proxy server to see if the page is already there
    . . If it isn't, the proxy server gets it from the appropriate site and caches it
    . . Each successive request then just gets it from the proxy server
    . . This works only for very large groups of people
    . . In an office of 10 people, for instance, most people are looking at different pages, so no one is taking adavntage of the proxy caching
    . . . . and surfing is slowed by always having to go through the proxy server
    . . . . Additionally, users may not always get the most recent version of a Web page.

    LAN

    Local-Area Network
    If you have an intranet in your office that has stuff you don't want the whole world to see (dev server, DHCP Server, DNS server, mail server, proxy server) then you have a LAN.

    WAN

    Wide-Area Network
    If your LAN needs to include the LAN in the San Francisco office (for example), they are connected and become a WAN.