650 likes | 821 Views
BIL 374 Internet Technologies. Dr. Ahmet Cengizhan Dirican. 1. Fundamentals. Internet History. Internet History. Origins ARPAnet - late 1960s and early 1970s Network reliability For ARPA-funded research organizations BITnet, CSnet - late 1970s & early 1980s
E N D
BIL 374 Internet Technologies Dr. Ahmet Cengizhan Dirican 1. Fundamentals
Internet History • Origins • ARPAnet - late 1960s and early 1970s • Network reliability • For ARPA-funded research organizations • BITnet, CSnet - late 1970s & early 1980s • email and file transfer for other institutions • NSFnet - 1986 • Originally for non-DOD funded places • Initially connected five supercomputer centers • By 1990, it had replaced ARPAnet for non-military uses • Soon became the network for all (by the early 1990s) • NSFnet eventually became known as the Internet
What is Internet? • What the Internet is: • A world-wide network of computer networks • At the lowest level, since 1982, all connections use TCP/IP • TCP/IP(TransmissionControlProtocol/Internet Protocol )hides the differences among devices connected to the Internet . • TCP/IP can be useddirectly to allow a program on one computer to communicate with a programon another computer via the Internet. • In most cases, a higher-levelprotocol runs on top of TCP/IP. Nevertheless, it’s important to know thatTCP/IP provides the low-level interface that allows most computers (and otherdevices) connected to the Internet to appear exactly the same.
Partial Map of The Internet (2005) • Each line is drawn between two nodes, representing two IP addresses. • This is a small look at the map of the Internet in 2005.
Internet in Turkey • Turkey has had public Internet access since 1993. • The first available connections were dial-up. • Cable Internet has been available since 1998 and ADSL since 2003. • Now Turk Telecom ADSL24 is popular (1-16 Mbit/s). • Internet Acces Dates of Some Intitutions in Turkey. • ODTÜ: 1993 • Ege Üniversitesi: 1994 • Bilkent: 1995 • Boğaziçi Üniversitesi: 1995 • İTÜ: 1996 • Turnet / Ulaknet (Ulakbim): 1996 • TTNet: Şubat 1998
Internet Protocols • Internet Protocol (IP) Addresses • Every node has a unique numeric address • Form: 32-bit binary number • New standard, IPv6, has 128 bits (1998) • Organizations are assigned groups of IPs for their computers • Problem: By the mid-1980s, several different protocols had been invented and were being used on the Internet, all with different user interfaces (Telnet, FTP, Usenet, mailto)Users were required to learn all the different interfaces to gain allthe advantages of the Internet.Than, a better approach was developed the World Wide Web.
Domain Names (1/2) • Form: host-name.domain-names • First domain is the smallest; last is the largest • Last domain specifies the type of organization • Fully qualified domain name - the host name and all of the domain names • DNS servers - convert fully qualified domain names which are given by users, to Ips • Name servers serve a collection of machines on the Internetand are operated by organizations that are responsible for the part of theInternet to which those machines are connected.
The World-Wide Web • A possible solution to the proliferation of different protocols being used on the Internet; a new protocol for the internet, as well a system of document access to use it.. • Origins • Tim Berners-Lee at CERN proposed the Web in 1989 • Purpose: to allow scientists to have access to many databases of scientific work through their own computers
The World-Wide Web • The proposed new system was designed to allow a user anywhere on theInternet • to search for and • retrieve documents • from databases on any number ofdifferent document-serving computers connected to the Internet. • Document form: hypertext • Pages? Documents? Resources? • We’ll call them documents • Hypermedia – more than just text – links, images, sound, etc.
The World-Wide Web • In an abstract sense, • the Web is a vast collection of documents, • some of which are connected by links. • These documents • are accessed by Web browsers, • and are provided by Web servers.
The World-Wide Web • Web or Internet? • The Internet is a collection of computers / networksand other devices connected byequipment that allows them to communicate with each other. • The Web is a collection of software and protocols that has been installed on most, if not all,of the computers on the Internet. • The Web uses one of the protocols, http, that runs on the Internet--there are several others (telnet, mailto, etc.) • The Web constitutes an important part of the internet, though, the Internet can continue to function and be usefull without the Web.
Client and Server • Clients and Servers are programs that communicate with each other over any network and the Internet. • A Server runs continuously, waiting to be contacted by a Client • Each Server provides certain services • Services include providing web pages for Web servers • A Client will send a message to a Server requesting the service provided by that server • The client will usually provide some information, parameters, with the request
Web Browsers • Browsers are clients - always initiate, servers react (although sometimes servers require responses) • Mosaic - NCSA (Univ. of Illinois), in early 1993 • First to use a GUI, led to explosion of Web use • Initially for X-Windows, under UNIX, but was ported to other platforms by late 1993 • Most requests are for existing documents, using HyperText Transfer Protocol (HTTP) • But some requests are for program execution, with the output being returned as a document
Web Servers • Provide responses to browser requests, either • existing documents or • dynamically built documents • Browser-server connection is now maintained through more than one request-response cycle. • All communications between browsers and servers use Hypertext Transfer Protocol (HTTP)
Web Server Operation • Web servers run as background processes in the operating system • Monitor a communications port on the host, accepting HTTP messages when they appear • All current Web servers came from either • The original from CERN • The second one, from NCSA
Web Server Operation Details • Web servers have two main directories: • Document root (servable documents) • Server root (server system software) • Document root is accessed indirectly by clients • Its actual location is set by the server configuration file • Requests are mapped to the actual location • Virtual document trees • Virtual hosts • Proxy servers • Web servers now support other Internet protocols
Web Server Operation : Apache • Apache (open source,portable, fast, reliable) • Operation is maintained through aconfiguration file. • Directives (operation control): ServerName ServerRoot ServerAdmin, DocumentRoot Alias Redirect DirectoryIndex UserDir
Web Server Operation : IIS • The Web Server solution of Microsoft. • The second most popular web server. • Operation is maintained through a program with a GUI interface. • Designed and available to work only within the Windows. • Although this limits the deployment platforms for IIS-based Web services, it also provides a number of benefits, including • greater cooperation with the host operating system • easier management and control through a variety of standard OS tools and utilities.
URLs • Uniform (or universal) resource locators (URLs) are used to identify documents(resources) on the Internet. • There are many different kinds of resources,identified by different forms of URLs. • General form: scheme:object-address • The scheme is often a communications protocol, such as telnet or ftp • For the http protocol, the object-address is: fully qualified domain name/doc path • //fully-qualified-domain-name/path-to-document • For the file protocol, only the doc path is needed • file://path-to-document
URLs • Host name may include a port number, as in zeppo:80 (80 is the default, so this is silly) • URLs cannot include spaces or any of a collection of other special characters (semicolons, colons, ...) • The doc path may be abbreviated as a partial path • The rest is furnished by the server configuration • If the doc path ends with a slash, it means it is a directory • file: http://www.w3schools.com/html/html_xhtml.asp • Directory: http://www.hostway.com/web-resources/
Multipurpose Internet Mail Extensions (MIME) • Originally developed for email • Used to specify to the browser the form of a file returned by the server (attached by the server to the beginning of the document) • Type specifications • Form: type/subtype • Examples: text/plain, text/html, image/gif, image/jpeg
Multipurpose Internet Mail Extensions (MIME) • Server gets type from the requested file name’s suffix (.html implies text/html) • Browser gets the type explicitly from the server • Experimental types • Subtype begins with x- • e.g., video/x-msvideo • Experimental types require the server to send a helper application or plug-in so the browser can deal with the file
The HyperText Transfer Protocol • HTTP is an Applicaiton Layer Protocol for disributed, collobrative, hypermedia information systems. • The protocol used by ALL Web communications • Request Phase • Form: HTTP method domain part of URL HTTP ver. Header fields blank line Message body • An example of the first line of a request: GET /degrees.html HTTP/1.1
The HyperText Transfer Protocol: Methods • GET - Fetch a document • POST - Execute the document, using the data in body • HEAD - Fetch just the header of the document • PUT - Store a new document on the server • DELETE - Remove a document from the server
HTTP Headers • Common response fields: • Content-length: 488 • Content-type: text/html • Can communicate with HTTP without a browser • > telnet blanca.uccs.edu http • GET /respond.html HTTP/1.1 • Host: blanca.uccs.edu • Four categories of header fields: General, request, response, & entity • Common request fields: Accept: text/plain Accept: text/* If-Modified_since: date
HTTP Response • Form: Status line Response header fields blank line Response body • Status line format: HTTP version status code explanation • Example: HTTP/1.1 200 OK (Current version is 1.1) • Status code is a three-digit number; first digit specifies the general status • 1 => Informational • 2 => Success • 3 => Redirection • 4 => Client error • 5 => Server error • The header field, Content-type, is required
Computer and Security • The objective of computer security includes protection of information and property from theft, corruption, or natural disaster, while allowing the information and property to remain accessible and productive to its intended users. • The term computer system securitymeans the collective processes and mechanisms by which sensitive and valuable information and services are protected from publication, tampering or collapse by unauthorized activities or untrustworthy individuals and unplanned events respectively. • Internet and the Web are fertile grounds for security problems. • Client – Server communication • The larger/complexer the system, the bigger the problems
Web Security (1/2) • One aspect of Web security is the matter of getting one’s data from the browser to the server and having the server deliver data back to the browser without anyone or any device intercepting or corrupting those data along the way. • Example: Transmitting the credit card number • Privacy—it must not be possible for the credit card number to be stolen on its way to the company’s server. • Integrity—it must not be possible for the credit card number to be modified on its way to the company’s server. • Authentication—it must be possible for both the purchaser and the seller to be certain of each other’s identity. • Nonrepudiation—it must be possible to prove legally that the message was actually sent and received. • Solution: Encryption
Web Security (2/2) • Other problem: the intentional and malicious destruction of data on computers attached to the Internet. • DoS Attacks • Viruses : the ILOVEYOU virus, and the CodeRed • Worms: theBlaster worm • Solution: Antivirus softwares, Firewalls, Using captcha (Completely Automated Public Turing test to tell Computers and Humans Apart), Conscious Users
XHTML • Plug-ins • Filters • XML • Javascript • Java, Perl, Ruby, PHP The Web Programmer’s Toolbox • Document languages and programming languages that are the building blocks of the web and web programming.
Client-side or Server-side • Web programs and scripts are divided into two categories—client side and server side • —according to where they are interpreted or executed. • XHTML and XML are client-side languages; • PHP and ASP are server-side languages; • JavaScript is most often a client-side language, although it can be used for both.
HTML • HTML is a language for describing web pages. • stands for Hyper Text Markup Language • is not a programming language, it is a markup language • A markup language is a set of markup tags • HTML uses markup tags to describe web pages • HTML markup tags are usually called HTML tags • HTML tags are keywords surrounded by angle brackets like <html> • HTML tags normally come in pairs like <b> and </b>
Why XHTML • Many pages on the internet contain "bad" HTML • XML is a markup language where documents must be marked up correctly and "well-formed". • Today's market consists of different browser technologies. Some browsers run on computers, and some browsers run on mobile phones or other small devices. Smaller devices often lack the resources or power to interpret a "bad" markup language. • Therefore - by combining the strengths of HTML and XML, XHTML was developed. XHTML is HTML redesigned as XML.
XHTML • XHTML stands for EXtensibleHyperText Markup Language • XHTML is almost identical to HTML 4.01 • XHTML is a stricter and cleaner version of HTML 4.01 • XHTML is HTML defined as an XML application • XHTML is supported by all major browsers.
Creating XHTML documents • XHTML editors - make document creation easier • Shortcuts to typing tag names, spell-checker, • WYSIWYG(Wizzy-Wig)) XHTML editors • What You See is What You Get • Need not know XHTML to create XHTML documents
Plugins and Filters for XHTML • Plugins • Integrated into tools like word processors, effectively converting them to WYSIWYG XHTML editors • Filters • Convert documents in other formats to XHTML
Plugins and Filters: Advantages and Disadvantages • Advantages of both filters and plug-ins: • Existing documents produced with other tools can be converted to XHTML documents • Use a tool you already know to produce XHTML • Disadvantages of both filters and plug-ins: • XHTML output of both is not perfect - must be fine tuned • XHTML may be non-standard • You have two versions of the document, which are difficult to synchronize
CSS • Cascadin Style Sheets • Provides the means to control and change presentation of HTML documents. • Not technically HTML, but can be embedded in HTML documents. • More capable than HTML in enrching the document view. • Style sheets allow you to impose a standard style on a whole document, or even a whole collection of documents.
XML • XML (Extensible Markup Language) • Derived from Standard Generalized Markup Language (SGML) • Open technology for electronic data exchange and storage • Create other markup languages to describe data in structured manner • XML documents • Contain only data, not formatting instructions • Highly portable • XML parser • Support Document Object Model or Simple API XML • Document Type Definition (DTD, schema) • XML document can reference another that defines proper structure • XML-based markup languages • XML vocabularies