Tonight's Agenda: The Technical Stuff
Quiz: Famous People
Web Functional Fundamentals: Clients, Servers, Requests/Responses and Browsers
- What are clients and servers?
- What is an http request and request header? A response and response header?
- What is a browser?
- Give me the big picture!
Clients and Servers
Essentially, you (or really the computer you are using) is the client:
A server is like your computer, but powerful enough to speak with your computer and a whole bunch of other computers. A server runs special applications that provide services to clients. For example, a Web server serves "pages" to a client (i.e. browser) while a mail server provides email services via a client (i.e. Outlook).
Requests and Responses
HTTP stands for HyperText Transfer Protocol. An http request is a request for a specific file from a client (the browser running on your computer) to a server (that powerful computer running a Web server application, such as Apache or IIS).
To make a request, your browser sends a "request header," basically a text file containing the details of what the browser wants and will accept back from the server. The request header also contains the type, version and capabilities of the browser that is making the request so that server returns compatible data.
When it receives a request header, the Web server sends two kinds of information back to a client's browser: first, a response header containing the date, size and type of file that the server is sending back to the client together with data about the server itself; and second, the file or files requested in the request header. (Source)
Note: a Web "page" is often a composite of several files. This "page," for example, is made up of a file containing the words you see and a number of image files.
Browsers
Client-side software that interprets, makes sense out of, or "parses" documents sent via the http response.
Here's a picture of the text file the browser receives and what it looks like once it has been parsed to display the document to you:
The Big Picture
·You open a browser on your computer (client)
·Browser submits an http request by sending a request header to a server
·Request and request header are received by the server
·Server reads request and header, then assembles necessary files
·Server sends http response header and response (the files the client requested) back to client
·Browser parses documents into a visual presenation
Language Fundamentals
We will be covering one, markup languages, in detail but will touch on scripting languages also. I promise, though, we won't go near programming languages.
Markup Languages
According to Wikipedia,
A markup language combines text and extra information about the text. The extra information, for example about the text's structure or presentation, is expressed using markup, which is intermingled with the primary text. (source).
Here are some examples of markup languages (there are many, many more):
- HTML - primarily a descriptive, or semantic, markup language
- CSS - a presentational markup language
- HTML - combines descriptive and presentational markup languages (e.g. <b> for bold for changing the presentation of certain text versus <strong> for expressing the importance of certain text)
Scripting Languages
Again, Wikipedia describes scripting languages this way:
Scripting languages are computer programming languages initially designed for "scripting" the operations of a computer. Early script languages were often called batch languages or job control languages. A script is more usually interpreted than compiled, but not always (source).
Web scripting languages are usually "lightweight" and can be embedded to be referred to in other kinds of documents.
There are dozens of different types of scripting languages, and they can be evaluated on both the server side and the client side. Here are a few examples, and where they might normally be interpreted, but some languages can be implemented on either side.
- ECMAScript (standardized JavaScript, JScript) - Usually client side
- Perl (started as a scripting language) - Server side
- VBScript (Visual Basic Script) - Microsoft version of JavaScript, usually client side
Remember the ILOVEYOU e-mail virus? That was written in VB Script.
Want to learn more?
Programming Languages
A programming language enables a programmer to precisely specify what data a computer is to act upon, how these data are to be stored/transmitted, and what actions are to be taken under various circumstances.
Programming languages are more often complied and usually executed server side, but this is not always the case. Here are some examples of common web programming languages you might want to check out.
- Microsoft ASP (Active Server Pages), or .net
- PHP
- Adobe ColdFusion (formerly Macromedia, formerly Allaire)
- Java
- Perl
- Python
- Ruby on Rails
You can find out more about programming languages from Wikipedia?
AYNK - Acronyms You Need to Know
Acronyms (You Need to Know)
- HTTP - HyperText Transfer Protocol
- HTML - HyperText Markup Language
- CSS - Cascading Style Sheets (Markup Language)
- XML - eXtensible Markup Language
- XHTML
CSS
CSS is a markup language for providing information about presenation. It is the markup language that tells a document "what to look like," including:
- typography
- colors
- layout
- behaviors as they relate to presentation
What About CSS is Cascading?
The term "cascading" refers to the fact that properties are inherited from item to item, be it from external document to internal document, or from tag to tag. We'll learn more about this when we get to CSS.
A Little About XML
What eXactly does eXtensible mean?
It kind of means you can extend it do make it do whatever you want. More specifically, if HTML is a markup languages to provide structure to documents, XML is a markup language to provide structure to data.
XML: What you need to know now...
- People can read it, machines can read it.
- It must be well-formed. (No shortcuts, no hacks.)
- Can store complex information, like records in a table, or tree based heirarchical structures
- Based on standards.
- You will learn more about it in the Hypermedia Production class.
The Son of XML and HTML is...
XHTML - eXtensible HyperText Markup Language!
XHTML is a type of XML language developed for HTML documents. XHTML is the also the current incarnation of HTML that is supported by the W3C, which means it is the non-proprietary standard for web documents. It is a language for providing structure, not presenation!
We will learn more about this in coming weeks, but if you can't wait, you can learn more now.
Questions and Discussion from the Reading
Zeldman Review
- What does Zeldman say is the promise of Web Standards?
- What are the trinity of web standards?
- What was the first browser to support a broad set of standards?
FTP practice
Connecting
- Launch Internet Explorer
- In the location box, type ftp://student-iat.ubalt.edu
- Put your user ID and password in the appropriate input fields in the dialog box
- You should see a file called proto_index.html
Downloading, Revising, and Uploading
- Drag the file proto_index.html onto your machine's desktop
- Open proto_index.html with Notepad
- Erase the text you will find between the <p> and </p>
- Type your name
- Save the revised document to the desktop with the namem index.html
- Drag the file index.html into the browser window
- Type http://student-iat.ubalt.edu/students/[youruserID] into location box of your browser