Tuesday, April 13, 2010

Lecture 20: HTTP (April 12)

The lecture started with a presentation by Jeffrey about Network Neutrality. Network Neutrality is a heated topic about whether or not to keep the internet as a equal service to all. He touched on various aspects of this topic; both for and against it. Then for the remainder of the lecture we covered the topic of Web Servers and CGI.

Web Servers communicate in using HTTP. Web Servers listen for incoming connections from various client programs on well known ports. Once a connection with the client is made, it gets and sends data to the clients. Web Servers can provide Dynamic Documents which can be things like custom ads, database access, shopping carts and so on.

Web servers can be general or Custom. If a server is custom, then is will need a method of mapping http request to service request and send back data and handle errors, but with the draw backs of needing dedicated ports and duplicated code such as basic TCP server, HTTP parsing, error handling , headers and access control.
The alternative is the Smart Web server. This takes a general purpose web server and processes documents as it sends it to clients. Server Side Includes (SSI) provides Smart Servers with commands embeded in HTML comments to make servers more efficient. These commands are known as SSI Directives. Servers also utilize lots of scripting languages such as ASP, PerlScript, JavaScript, and others.

Common Gateway Interfaces (CGI) were then discussed. CGI is a standard mechanism to associate URL's with server executable programs, a protocol to sort how requests are passes to external programs and how responses are sent to the client. The server in this case acts as an HTTP front to a CGI process that communicates with the client and the CGI program.

CGI will be completed in the next lecture.

No comments:

Post a Comment