1 / 39

Overview

Overview. Internet Internet Protocols Fundamentals about HTTP Communication HTTP-Server, mode of operation Static/Dynamic Webpages HTML PHP programming. Internet. Internet. Server. Text, Audio, Video and Gra phics. Connection via TCP/IP - Proto c o l. Client. History.

fleur
Download Presentation

Overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Overview • Internet • Internet Protocols • Fundamentals about HTTP Communication • HTTP-Server, mode of operation • Static/Dynamic Webpages • HTML • PHP programming Computer Net Lab/Praktikum Datenverarbeitung 2

  2. Internet Internet Server Text, Audio, Video and Graphics Connectionvia TCP/IP-Protocol Client Computer Net Lab/Praktikum Datenverarbeitung 2

  3. History • The WWW is 18 years old • On the 30th April 1993 the originator of the WWW Tim Berners-Lee declared: Everyone is allowed to use the World Wide Web and all possibilities it offers without any licenses. Eine gute Idee. Computer Net Lab/Praktikum Datenverarbeitung 2

  4. Internet Internet Services • E-Mail • WWW • Chat • Internet News • FTP • Telnet • Applications Computer Net Lab/Praktikum Datenverarbeitung 2

  5. Internet Internet Protocols Server • HTTP • HTTPS • FTP • SMTP • NNTP Data Connection via Internet Protocol Client Computer Net Lab/Praktikum Datenverarbeitung 2

  6. Protocols HTTP FTP SMTP DNS SNMP RIP Application TCP UDP Transport IP Internet Ethernet Token-Ring ATM Phys. Network Computer Net Lab/Praktikum Datenverarbeitung 2

  7. http (Hypertext Transfer Protocol) • Two Types of http messages: Request, Response • Requests: • Request method i.e.: Get, Post • wanted URL • HTTP-Protocol version (actual 1.1) • Headerinfo i.e.: which documents could be received by the client • Responses: • Status messages i.e.: 200 : OK, 404: File Not Found • Headerinfo i.e.: Content-Length, Content-Type (Text, Html, etc.) • The requested document Computer Net Lab/Praktikum Datenverarbeitung 2

  8. http (Interaction) • HTTP Interaction Principles : • Connection establishmentTCP-Connection from Client to Server (usually Port 80 on the Server) • Request from Client to ServerMethod selectionadditional parameters for the method • Response from Server to ClientResult as a status codeadditional parameters on the result • Connection terminationusually ending the connectionnewer versions (newer then HTTP/1.1) can keep connection longer alive Computer Net Lab/Praktikum Datenverarbeitung 2

  9. http (Methods) • OPTIONS requests server features • GET fetch a resource from server • HEAD provides only meta information about a resource • PUT saves a resource • POST sends a data set to a resource (CGI-Script) • DELETE deletes a resource • TRACE allows tracking of the processing of requests Computer Net Lab/Praktikum Datenverarbeitung 2

  10. https (1) • Widely used security technology • http-Server accepts ssl (secure socket-layer) connection • Identification of secure connection viahttps://url • SSL connection uses port 443 • Transmitted data are quasi tap-proof (key length) • Higher working load on server, because encryption causes additional computing time Computer Net Lab/Praktikum Datenverarbeitung 2

  11. https (2) HTTPS Application SSL Security TCP Transport IP Internet Ethernet Token Ring ATM Phys. Network Computer Net Lab/Praktikum Datenverarbeitung 2

  12. Client Server Principle Client withWebbrowser Webserver Request over http request Results HTTP http answer IP-Adresse TCP/IP TCP/IP Netzwerk Computer Net Lab/Praktikum Datenverarbeitung 2

  13. URL • URL = unified resource locator • The access to the server is done by the URL • Format:access_method://computerername:port/document?querystring • Example:http://www.uni-duisburg.de/netlab/student.php?matr=123456 • access method: http • computer name: fb9dv.uni-duisburg.de • port: standard port (80 for HTTP), here not specified • document: netlab/students.html (path/filename) • Query string: matr=123456 Computer Net Lab/Praktikum Datenverarbeitung 2

  14. de uni-duisburg.de fb9dv.uni-duisburg.de Domain names • Domain name: fb9dv.uni-duisburg.de • de: first layer name (top-level-domain) • uni-duisburg: second layer name • fb9dv: third layer name iis.uni-duisburg.de Computer Net Lab/Praktikum Datenverarbeitung 2

  15. Port communication • communication via TCP/IP operates by IP-Addresses and Ports • each IP-Adresse has 216 potential ports • The ports below 1024 are standardized (standard ports), which are allocated to dedicated services, i.e.:23 telnet25 smtp80 http443 https 134.91.100.1 . . . . . . . . 23 25 80 30000 Computer Net Lab/Praktikum Datenverarbeitung 2

  16. Query GET/POST • Data transfer to server • Data are computed by the server and the resulted page is sent to the client • Two procedures: Get and Post method • Get: Query-String is specified within the url http://www.uni-duisburg.de/student.php?name=peter • Post: Data are transmitted in HTTP query’s body (not in url) Example: form data Computer Net Lab/Praktikum Datenverarbeitung 2

  17. HTTP-Server (1) • Document Root Folderroot directory where all files for the website are stored • Documents are organized in directories • Access rights are considered read, write, deletepublic accessed web pages have to be readable by everyone, in terms of access rights • Definition of standard documents like index.html, start.htm • Modular structured, additional services like php-Modul can be integrated • Multiple configurations i.e. - directory level control- allow access only from specific IP-Addresses Computer Net Lab/Praktikum Datenverarbeitung 2

  18. HTTP-Server (2) • Apache-Server configuration is done using the file httpd.conf. This file is read in and evaluated when starting the servers • Contains information about the Apache Web-Server itself, about logs and additional configuration files. Examples: • ServerRootThe statement ServerRoot defines the path to the top level directory, which includes configuration folders and files, log-files and documents. • DocumentRootThe document folder is the directory, where the server tries to locate the file, in case no path was specified within the url. Only one DocumentRoot can be defined in the resource list of the Apache Web-Servers. • UserDirUserDir makes it possible for the web-server to access documents out of the user’s home directory. Example: http:/server/~username/document.htm Computer Net Lab/Praktikum Datenverarbeitung 2

  19. HTTP-Server (3) Configuration panel for IIS (Windows 2000) Computer Net Lab/Praktikum Datenverarbeitung 2

  20. Pages (content) are already available before they are requested Pages are quickly available The Server does not need any additional services (applications) like: Interpreter, Database. Interaction with Server is limited to links Pages can be computed, respectively displayed, on the client computer, without any additional procedures Static Internet Pages Computer Net Lab/Praktikum Datenverarbeitung 2

  21. HTML (1) • HTML (Hypertext Markup Language) • Markup language: it describes the logical part of a text oriented document. • HTML offers the possibility to define typical elements of a text oriented document, like: header, paragraphs, lists, tables or graphical references. • Advantages: • HTML is a so called clear text format (can be edited with every text editor) • Easy to learn • Disadvantages: • No separation between form and content • Design and Interaction possibilities are limited Computer Net Lab/Praktikum Datenverarbeitung 2

  22. HTML (2) <html> <head> <title>Beispiel 1</title> </head> <body> Textfeld<br> </body> </html> Browser Computer Net Lab/Praktikum Datenverarbeitung 2

  23. Dynamic Internet Pages (Server1) • Page content is generated (immediately) after request • Access may be slower, due to the need of page generation • System has to have adequate resources • Optional applications possible • Database access • Graphics generation • Access of processes (application), which offer interfaces • General 2 methods • GGI (Common Gateway Interface)i.e.: perl, c++ • As a modul (server extension)i.e.: php Computer Net Lab/Praktikum Datenverarbeitung 2

  24. Dynamic Internet Pages (Server2) Server Client CGI DB Request Generated HTML-File Generated HTML-File Computer Net Lab/Praktikum Datenverarbeitung 2

  25. Dynamic Internet Pages (Client) • DHTML • Browser can execute (interpret) scripts, which are included in HTML-Files. • By the use of a script language a dynamic page can be created on the client. • Example: JavaScript (Browser independent) Alternatively JavaScript can be embedded in the HTML-File or it can be located in a separate file. JavaScript is interpreted by the web browser at runtime. Therefore modern web browser have an interpreter software integrated.Example Computer Net Lab/Praktikum Datenverarbeitung 2

  26. Sessions • HTTP is a stateless protocol • After the request (and response) for a web page the connection between client and server is terminated • Server do not have a history list or anything similar, which means that two consecutive requests from the same client are treated as two different independent requests • How is this problem solved? i.e. online shops Computer Net Lab/Praktikum Datenverarbeitung 2

  27. Sessions (2) • Implementation of a mechanism, which generates (on the server) an unique session-ID at the first request. It will be sent with each further client request to the server. • Session ID is transmitted • Within the URL, which means each link, used within a session, includes the session-ID • With use of cookiesmax 4 KB text files, which are initiated by the server and sent to the client. They can be used by the client on demand. Computer Net Lab/Praktikum Datenverarbeitung 2

  28. Php • PHP is an interpreted language • Platform independent (Windows/UNIX) • Easy Syntax (C-similar) • Easy to integrate in http-Servers (Apache, IIS) • Powerful functions (database access, graphical libraries, etc) • Free Software (no license costs) • Frequently used (as well by public providers) • A lot of ready-to-use modules (forums, web pages, sample scripts) Computer Net Lab/Praktikum Datenverarbeitung 2

  29. PHP: Structure • PHP can be embedded in HTML documents or used as pure PHP files. • The PHP code is between two tags: <?php and ?> • The file name has in both cases the extension .php • Each command ends in PHP by a semicolon „;“ or by the PHP end tag. • Example Computer Net Lab/Praktikum Datenverarbeitung 2

  30. PHP: Comments • Comments in PHP are characterized as follows: • By the symbol # or // Denotes the following text, until the end of the line as a comment. • by /* … */ Hereby the enclosed text is denoted as a comment. Computer Net Lab/Praktikum Datenverarbeitung 2

  31. PHP: Variables • PHP uses an automatic data type conversion (i.e. integer to string, etc.). • Definition: • Variables $variable_name=“value“ • Arrays $Array_name = array { value1, value2, … } Computer Net Lab/Praktikum Datenverarbeitung 2

  32. PHP: Control Structures IF (condition) { # instructions, if condition is true } ELSEIF (further conditions) { # instructions, if the first condition was false and this condition is true } … ELSE { # instructions, if all conditions are false } Computer Net Lab/Praktikum Datenverarbeitung 2

  33. PHP: Loops • WHILE-loop WHILE (condition) { # instructions, execute while condition is true } • FOR-loop FOR (start value; condition; instruction) { # instructions } Computer Net Lab/Praktikum Datenverarbeitung 2

  34. PHP: Functions FUNCTION function_name (variables as parameters) { # instructions # optional: RETURN (return value); } Computer Net Lab/Praktikum Datenverarbeitung 2

  35. PHP: Text Output • TEXT (HTML-Code) generation with PHP using the command „PRINT“commands: • PRINT („output text“); • PRINT ($variable); • PRINT ($variable.“output text“); Computer Net Lab/Praktikum Datenverarbeitung 2

  36. PHP: File Operations • Open file for writing • Save data in file • Read data from fileImportant: adequate file permissions are required!!! Computer Net Lab/Praktikum Datenverarbeitung 2

  37. PHP: hand over data • The array $HTTP_POST_VARS contains all the variables handed over via POST method. i.e.: from a form via POST. • The Array $HTTP_GET_VARS contains all the variables handed over via GET method. i.e.: from a form via GET. • Example Computer Net Lab/Praktikum Datenverarbeitung 2

  38. Sample Program Source-Code of the example Computer Net Lab/Praktikum Datenverarbeitung 2

  39. Links about PHP/HTML • PHP developers homepagehttp://www.php.net • selfhtml: Excellent document (tutorial) about HTML and morehttp://selfaktuell.teamone.de/ Computer Net Lab/Praktikum Datenverarbeitung 2

More Related