Presentation is loading. Please wait.

Presentation is loading. Please wait.

Web Programming Week 1 Old Dominion University Department of Computer Science CS 418/518 Fall 2007 Michael L. Nelson 8/27/07.

Similar presentations


Presentation on theme: "Web Programming Week 1 Old Dominion University Department of Computer Science CS 418/518 Fall 2007 Michael L. Nelson 8/27/07."— Presentation transcript:

1 Web Programming Week 1 Old Dominion University Department of Computer Science CS 418/518 Fall 2007 Michael L. Nelson 8/27/07

2 Goals We will learn to work in the LAMP environment:

3 No MS Environments!

4 Goals Demonstrate LAMP proficiency with a semester long project based on a bulletin board system. Some examples: –http://www.fordfe.com/http://www.fordfe.com/ –http://www.pro-touring.com/forum/http://www.pro-touring.com/forum/ –http://www.techsideline.com/forums.htmhttp://www.techsideline.com/forums.htm

5 Prerequisites I assume you know: –how to program in some (imperative) language –basic Internet/WWW concepts –basic HTML –basic relational database concepts

6 Who Should Take This Class? This class will cover breadth, not depth If you want to learn more about: –System administration CS 454/554 Network Management –HTTP CS 495/595 Web Server Design –databases CS 450/550 Database Concepts CS 419/519 Internet Databases and many others…. –Java CS 695 Java & XML

7 Administrivia This is a programming class! –I assume you know how to program –your grade will be determined solely on your server’s performance on 4 different checkpoints through the semester You will work in teams of 1 or 2 –(grad + undergrad teams are possible) Pick teams wisely –teams will exist by mutual consent only –at any time, teams can split up, but no new teams will be formed after the first assignment is due –ex-team members will have access to their shared code base

8 Administrivia 2 Important URLs –http://www.cs.odu.edu/~mln/teaching/cs518-f07/http://www.cs.odu.edu/~mln/teaching/cs518-f07/ –http://list.odu.edu/listinfo/cs518-f07/http://list.odu.edu/listinfo/cs518-f07/ Class homepage: –Readings are listed under the day they are expected to be completed –assignments are listed under the day they will be demoed in class –each group will give a 3-4 minute status report the week before an assignment is due! All development will be done on a shared linux machine –mln-web.cs.odu.edu

9 Grading 4 programs, 23 points each –20 points for functional requirements –3 points voted on by other groups for aesthetic appeal 8 remaining points come from each group asking or answering 8 technical questions about the assignments on the email list –no points for duplicate questions or answers!

10 HTTP Operation Client Origin Server request = (method, URI, version, “MIME-like” message) response = (version, success/error code, “MIME-like” message)

11 GET AIHT:~/Desktop/cs595-s06 mln$ telnet www.cs.odu.edu 80 | tee 1-1.out Trying 128.82.4.2... Connected to xenon.cs.odu.edu. Escape character is '^]'. GET /~mln/index.html HTTP/1.1 Connection: close Host: www.cs.odu.edu HTTP/1.1 200 OK Date: Mon, 09 Jan 2006 17:07:04 GMT Server: Apache/1.3.26 (Unix) ApacheJServ/1.1.2 PHP/4.3.4 Last-Modified: Sun, 29 May 2005 02:46:53 GMT ETag: "1c52-14ed-42992d1d" Accept-Ranges: bytes Content-Length: 5357 Connection: close Content-Type: text/html Home Page for Michael L. Nelson <!-- [lots of html deleted] Connection closed by foreign host. Request (ends w/ CRLF) Response

12 HEAD AIHT:~/Desktop/cs595-s06 mln$ telnet www.cs.odu.edu 80 | tee 1-2.out Trying 128.82.4.2... Connected to xenon.cs.odu.edu. Escape character is '^]'. HEAD /~mln/index.html HTTP/1.1 Connection: close Host: www.cs.odu.edu HTTP/1.1 200 OK Date: Mon, 09 Jan 2006 17:14:39 GMT Server: Apache/1.3.26 (Unix) ApacheJServ/1.1.2 PHP/4.3.4 Last-Modified: Sun, 29 May 2005 02:46:53 GMT ETag: "1c52-14ed-42992d1d" Accept-Ranges: bytes Content-Length: 5357 Connection: close Content-Type: text/html Connection closed by foreign host.

13 POST Typically the result of HTML “Forms” –http://www.w3.org/TR/REC- html40/interact/forms.html#h-17.13.4http://www.w3.org/TR/REC- html40/interact/forms.html#h-17.13.4 Two types of values in the client’s “Content- type” request header: –application/x-www-form-urlencoded (original & default) –multipart/form-data introduced in RFC-1867; allows file upload –http://www.ietf.org/rfc/rfc1867.txthttp://www.ietf.org/rfc/rfc1867.txt

14 HTML Examples <FORM action="http://server.com/cgi/handle" enctype="multipart/form-data" method="post"> What is your name? What files are you sending? <FORM action="http://server.com/cgi/handle" enctype= "application/x-www-form-urlencoded" method="post"> What is your name? based on examples from: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4

15 application/x-www-form-urlencoded POST /~mln/foo.cgi HTTP/1.1 Host: www.cs.odu.edu Connection: close Referer: http://www.cs.odu.edu/~mln/bar.html User-Agent: CS 595-s06 Automatic Testing Program Content-type: application/x-www-form-urlencoded Content-Length: 134 action=restore&manufacturer=ford&model=fairlane+500XL &year=1966&status=modified&engine=427+sideoiler &transmission=4+speed+toploader functionally the same as (modulo a possible 414 response): GET /~mln/foo.cgi?action=restore&manufacturer=ford&model=fairlane+500XL &year=1966&status=modified&engine=427+sideoiler&transmission=4+speed+toploader HTTP/1.1 Host: www.cs.odu.edu Connection: close Referer: http://www.cs.odu.edu/~mln/bar.html User-Agent: CS 595-s06 Automatic Testing Program

16 multipart/form-data (with file upload) POST /~mln/foo.cgi HTTP/1.1 Host: www.cs.odu.edu Connection: close Referer: http://www.cs.odu.edu/~mln/bar.html User-Agent: CS 595-s06 Automatic Testing Program Content-type: multipart/form-data; boundary=----------0xKhTmLbOuNdArY Content-Length: 698 ------------0xKhTmLbOuNdArY Content-Disposition: form-data; name=”action" restore ------------0xKhTmLbOuNdArY Content-Disposition: form-data; name=”manufacturer" ford ------------0xKhTmLbOuNdArY Content-Disposition: form-data; name=”model" fairlane 500xl ------------0xKhTmLbOuNdArY Content-Disposition: form-data; name=”year" 1966 ------------0xKhTmLbOuNdArY Content-Disposition: form-data; name=”picture"; filename="fairlane.txt" Content-Type: text/plain ______________ // \\ ---------//--------------\\------- | __ __ | |--/ \--------------------/ \---| \__/ \__/ ------------0xKhTmLbOuNdArY-- note the “--” to indicate the end

17 Response Codes - 1xx: Informational - Request received, continuing process - 2xx: Success - The action was successfully received, understood, and accepted - 3xx: Redirection - Further action must be taken in order to complete the request - 4xx: Client Error - The request contains bad syntax or cannot be fulfilled - 5xx: Server Error - The server failed to fulfill an apparently valid request from section 6.1.1 of RFC 2616

18 But Few Web Resources Are Static Files… Client Origin Server GET /foo HTTP/1.1 HTTP/1.1 200 OK foo HTML, PDF, etc. foo PHP, ASP, JSP foo Java, Javascript

19 Server Side Processing Mnemonic HTML code PHP CODE html “Traditional” CGI (e.g. Perl)

20 Let’s Look at Some PHP http://www.cs.odu.edu/~mln/teaching/cs518-f07/code/ http://mln-web.cs.odu.edu/~mln/code/

21 To Do for Next Time… Subscribe to the class email list Log in to: mln-web.cs.odu.edu (I will send email to the class list when the accounts are ready) –uid/passwds same as *.cs.odu.edu machines don’t have a *.cs.odu.edu acct? get one: https://www.cs.odu.edu/online/ https://www.cs.odu.edu/online/ –MySQL login == linux login; passwd = (to be determined) Start reading & practicing in your own public_html directory on the cs machines Email me your group info! If you’re not in a group by 11:59 PM Sept 10, you’re working alone.


Download ppt "Web Programming Week 1 Old Dominion University Department of Computer Science CS 418/518 Fall 2007 Michael L. Nelson 8/27/07."

Similar presentations


Ads by Google