170 likes | 188 Views
Explore the intricate workings of the web, including TCP/IP networks, URLs, HTTP protocol, HTML structures, and MIME types. Delve into the nuances of valid characters in URLs, URL specificity, types of URLs (HTTP, FTP, Gopher), and the role of web browsers in interpreting URLs. Unravel the concept of Universal Resource Locators, HTTPD implementations, basics of HTML, and the significance of MIME types in sending multimedia data. Understand the interaction between MIME types and filename extensions, as well as the functionalities of other network service protocols and servers. Discover how smart browsers connect users to the web seamlessly, supporting various protocols and rendering HTML documents effectively.
E N D
Web Enabling Technologies • TCP/IP network (Internet & others) • URLs • HTTP protocol and HTTP Servers • HTML & MIME type system • Other network service protocols and servers • Web browsers
Uniform Resource Locators • Naming scheme: unambiguios way of telling where to find “things” • Indicates protocol, host, port, and “path” • Syntax: protocol://hostname:port/path • Examples: http://whitney:8000/lectures/index.html http://www.cs.purdue.edu/
Valid Characters in URLs • Valid: Upper & lower case letters, numerals and $, _, @, ., - • Special: = ; / # ? : % & + • Others must be escaped: %xx where xx is two-digit hex code of character • Example: CR “%0D”, space “%20”, percent “%25” • Help from browsers to handle this
URL Specificity • Complete URL: all parts of URL • Partial URL: no protocol/host, contains full path. Browsers must interpret relative to current page • Relative URL: only last part of path, similar to relative paths in OSs • Use: relative URLs for related docs, partial URLs for docs on same server and complete URLs for remote docs
Types of URLs • (Local) File: file:///path_to_the_file • HTTP: http://hostname[:port]/path • FTP: ftp://[user[:passwd]@]hostname[:port]/path_to_the_file • Gopher: gopher://hostname:port/path • Telnet: telnet://hostname:port/
Types of URLs • WAIS: wais://hostname:port/database_name?query • News: news:name.of.group/[article_selection] • MailTo: mailto:email_address
URLs • Uniform Resource Locators • Universal Resource Locators • General concept of universal resource identifiers (URIs): URLs and Universal Resource Names (URNs) are implemented
HyperText Transfer Protocol • Simple request-reply readable protocol • Five requests: GET, HEAD, POST, PUT, DELETE • Request includes document URL + (possibly) additional info: User info, browser info, capabilities, wishes, ... • Reply includes status information, a reply header and data
HTTPD • Implements HTTP • Two popular free implementations: NCSA HTTPD and CERN HTTPD • Commercial: Netscape Server, .. • Special: Netscape Commerce Server, .. • Basic one is simple!
HyperText Markup Language • Based on SGML, Standard Generalized Markup Language • Markup is not layout: no fonts, points, ... • Abstract styles indicate parts of docs: level 1 header, level 2 header, paragraph, table, citations • HTML: Specifies structure of document, not format!
MIME • Multipurpose Internet Mail Extensions • Mechanism for sending multimedia data over email • Content-Type: field indicates the type • Additional fields for length, encoding, compression etc. • Metamail: MIME reference impl. for range of email systems
MIME Types • Indicates the semantic interpretation of some content • Describes a document by referring to standardized list of types organized by type and a subtype • Examples: text/plain, text/html, video/mpeg, image/gif, image/jpeg, application/postscript, */x-*, ...
MIME Types and WWW • HTTP request lists preferred doc typs • HTTP reply indicates doc type supplied • Browser uses type-specific handler to “display” document • Some types are natively supported, some not • Helper applications for non-native types • Easy to add new content types!
MIME Types and Filename Extensions • Useful mechanism for identifying MIME type of a file object • Server relies on this heavily! • Example: .ps, .eps, .epsi, .epsf => application/postscript • Example: .gif => image/gif
Other Network Service Protocols and Servers • FTP client and ftpd • Telnet client and telnetd • NNTP client and nntpd • Goper client and gopherd • ... • Hooked to the Web by smart browsers
Web Browsers • Support HTTP and possibly other protocols • Display HTML documents natively • Graphical browsers show in-line images/graphics • Some support “special” HTML extensions • Does all of above to browse the Web!