Web programming

Programming Course for Biologists at the Pasteur Institute

Practical Work

Catherine Letondal

February, 28 2005

Abstract

This material consists in exercises to help students understand basic and fundamental mechanisms of the Web: what is a client, and what is the role of a client? what is a server? What is a protocol? How to understand main differences between various architectures and tools? These exercises are not intended at all for future Webmasters.

PDF version of this course

This course is still under construction. Comments are welcome.

Contact: ieb@pasteur.fr


Table of Contents

1. HTTP
1.1. Interactive telnet session with a Web server
1.2. A tiny Web server to play with
1.3. A tiny Web client to play with
2. CGI
2.1. CGI scripts environment
2.2. A stupid one-purpose Web server
2.3. CGI scripts that do something useful
2.4. Debugging CGI scripts
2.5. Controls to perform in a CGI script
2.6. CGI for helicases

List of Exercises

1.1. Fetch a document
1.2. HTTP headers
1.3. HTTP status code
1.4. HTTP GET: dynamic content
1.5. HTTP POST
1.6. The Web server code
1.7. Using our server
1.8. Using our server with a standard Web browser
1.9. The Web client code
1.10. Use the Web client
1.11. Enhance the Web client
2.1. Installing a CGI program
2.2. A simple CGI program called from a form
2.3. MIME type
2.4. CGI environment
2.5. A Web server that just returns a sequence
2.6. A CGI to fetch a sequence with the golden program
2.7. Testing input
2.8. Getting raw input
2.9. Tracing
2.10. Redirecting standard error to the browser
2.11. File upload
2.12. Debugging your script directly
2.13. Testing for unchecked radio button
2.14. Testing for improper user input
2.15. Testing for improper user input (continued)
2.16. Submit an helicase
2.17. Use a persistent Helicase DB
2.18. Use a persistent Helicase DB (2)
2.19. Load the database
2.20. Fetch an helicase
2.21. Browse helicases
2.22. Search helicases by keyword