Dynamically Generated Web Content: Research and Technology Practices Stavros Papastavrou * George Samaras * Paraskevas Evripidou * Panos K

Total Page:16

File Type:pdf, Size:1020Kb

Dynamically Generated Web Content: Research and Technology Practices Stavros Papastavrou * George Samaras * Paraskevas Evripidou * Panos K Dynamically Generated Web Content: Research and Technology Practices Stavros Papastavrou * George Samaras * Paraskevas Evripidou * Panos K. Chrysanthis ** * University of Cyprus ** University of Pittsburgh INTRODUCTION Personalization and customization of web services that increase user satisfaction require the delivery of dynamic rather than static Web documents or pages. This means that the content of such Web pages is generated on demand and tailored to a particular web user (e.g., e-banking) or group of users (e.g., delivery of local on-line sport results). Specifically, the term dynamically generated Web content , otherwise known as dynamic web content , or simply dynamic content , refers to chunks of HTML/XML code or media that are generated and combined on the fly to build a requested Web page. Currently, dynamic content constitutes more than 40% of Internet traffic despite the fact that generating Web pages on the fly incurs a major overhead on server resources and increases the response time of the Web servers (Feldmann, 1999). This percentage of Internet traffic associated with dynamic content is expected to keep increasing, especially with the improvement of dynamic content technologies and content middlewares such as application servers, client-side proxies and server-side caches. In this chapter, we take a tutorial approach to present the Web-related technologies and content middlewares that attempt to accelerate the generation and optimize the delivery of dynamic content. We begin the chapter by covering the historical aspects of dynamic content and presenting the reasoning behind its introduction while discussing early content middlewares such as the CGI and FastCGI that enable the execution of external programs and scripts. We then present the evolution of content middlewares along the lines of contacted research. Our discussion focuses on popular techniques that mostly include content caching and content fragmentation at different levels along the communication path from the web client, any intermediate proxies, to the web server and back-end database servers. We also discuss a variety of other research efforts such as hardware and low-level acceleration techniques, active caching, and delta encoding. We conclude the chapter with a discussion on the interplay between Quality of Service such as response time or user-perceived latency and Quality of Data such as freshness. We consider various proposals that attempt to strike a balance between user-perceived latency and freshness of delivered documents which can be broadly classified as client-driven and data- driven . Finally, motivated by growing Web user needs, we discuss future trends of dynamic content technology. HISTORICAL ASPECTS In order to better understand the semantics of dynamic content, we first review the basics of static content. Static content emerged along with the introduction of the World Wide Web (WWW or simply Web) back in the early 90’s. The Web is a vast network of servers linked together by a common protocol called the Hypertext Transfer Protocol (HTTP), allowing access to various forms of content uniquely identified by global addresses called Uniform Resource Locators or URLs. Static content refers to pre-existing files with extensions such as .html, and .jpg that denote their content and purpose. HTML files contain tags that define the logical and visual structure of a Web document. Text content is laid within those tags. HTML files may also contain references/hyperlinks/URLs to other documents or links to graphic and multimedia content such as image and audio files. Web users or clients request a static document by pointing their browsers to it either indirectly via hyperlinks found inside other documents, or directly by explicitly specifying the location and name of the document. Those requests are better known as ‘HTTP GET requests’ and cause the Web server on the other side to issue an ‘HTTP response’ that it immediately followed by the requested static file. The control text of both HTTP requests and responses are hidden from the user. Once a browser downloads a static document, it parses and renders it according to the HTML tags found inside it. References to static graphic content, of the form <img src=image1.jpg> trigger a new HTTP request without any extra effort by the user. Later on, the need to embed basic dynamic information into Web documents, such as the time at the server side, or the last date the document was modified, initiated the Server Side Includes (SSI) as a first step toward dynamic web content. HTML documents written according to SSI included tags of the form <!--#echo var="DATE_LOCAL" --> and carried the file extension of *.shtml instead of the traditional *.hmtl. An HTTP request for a document with that file extension triggered the Web server to behave differently. Instead of submitting the actual contents of the document (as stored on the file system), the Web server parses the document in and substitutes the SSI tags with the corresponding dynamic information. In addition to tag substitution, SSI introduced another breakthrough for Web development by providing support for an HTML document to include another one by simply using an SSI tag of the form <!--#include file=“top_menu.html” -->, pointing the way for modular Web development. The quick adoption of the Web, first by the academic community and then by the business community, led to a whole new class of Web-based applications. The key element in the popularity and success of this new class of Web application was the ability to serve Web users with customizable content. The key requirement was that an HTTP request for a document, namely http://www.scocks.com/mystocks.cgi, produced different content for each Web user under certain situations that we discuss next. The evolution came along with the introduction of the Common Gateway Interface, or CGI. According to CGI, a Web server was able to execute programs and return their output to Web users. In this case, the Web server was more like a mediator or a gateway between the Web users and the executable programs, rather than being a simple file dispenser. Nonetheless, the big question was ‘how a CGI program could distinguish between different users’? A Web user causes a CGI program, for example mystocks.cgi, to execute by issuing an HTTP GET request for it that triggers the gateway functionality on the Web server. The latter will then fork a new process to execute that file. However, in order to make that call meaningful, extra client-related parameters must be provided to the CGI program, such as the ID of the user and the stock quote. One way to achieve that is by appending a list of variable names and values next to the file name of the CGI program. For example, for a user with ID=123 and stock quote for Intel, the target file of the HTTP GET request would target the URL www.stocks.com/mystocks.cgi?id=123&stock=Intel . The given variables and values in this case are called URL parameters and are passed as input to the CGI program by the Web server. The CGI program queries a local (or remote) application database(s) to retrieve data concerning the user with id=123 and his stock preferences for the stock=Intel . It then dynamically constructs HTML code enriched with the retrieved data. Finally, the complete result is sent to the Web user via the Web server (our Gateway). Another popular way of passing parameters to a CGI program is by submitting the contents of HTML forms to the Web server. Similar to our previous example, the Web user uses two texts boxes inside an HTML form and fills in the ID and the stock symbol. Upon submission of the form, the parameters are not placed next to the file name of the CGI program as URL parameters. Instead, they are appended at the end of the HTTP request, which in this case is called an HTTP POST request. Both HTTP-based request approaches, the HTTP GET, which uses URL parameters, and the HTTP POST which uses HTML form input, are still very popular mechanisms for modern Web applications to distinguish between individual users and situations. In the rest of this chapter, we will refer back to these mechanisms while describing more recent content middlewares. FROM CGI TO FASTCGI CGI suffered from one major drawback that surfaced soon after its introduction. Every client HTTP request for a dynamic page required the forking of a new process on the middleware by the Web server. In the case of having to serve multiple concurrent requests, this approach led to decreased performance since the server system spent more time between context switching, forking and terminating processes rather than actually serving the client requests (a phenomenon better known in the literature as thrashing ). Besides scalability problems, this persistent-less nature of the CGI processes introduces a number of other inconveniences. The most important, in our belief, is the inability to keep open (persistent) database connections to the application database(s). Persistent database connections accelerate the processing of client requests since they are immediately available to the middleware processes for submitting a series of queries. As we discuss later on, it is a common practice for modern content middlewares to assign an open database connection to each running process. Another major shortcoming of CGI is that consecutive client requests have to be reconnected each to a different middleware process. This practice, however, does not enable the use of a single network connection between a client and a middleware process for the complete duration of a client session. To address the shortcomings of CGI, FastCGI was introduced. Its revolutionary design allowed for middleware processes to be persistent and execute in a different context than that of the Web server.
Recommended publications
  • Dynamic Web Pages with the Embedded Web Server
    Dynamic Web Pages With The Embedded Web Server The Digi-Geek’s AJAX Workbook (NET+OS, XML, & JavaScript) Version 1.0 5/4/2011 Page 1 Copyright Digi International, 2011 Table of Contents Chapter 1 - How to Use this Guide ............................................................................................................... 5 Prerequisites – If You Can Ping, You Can Use This Thing! ..................................................................... 5 Getting Help with TCP/IP and Wi-Fi Setup ............................................................................................ 5 The Study Guide or the Short Cut? ....................................................................................................... 5 C Code ................................................................................................................................................... 6 HTML Code ............................................................................................................................................ 6 XML File ................................................................................................................................................. 6 Provide us with Your Feedback ............................................................................................................. 6 Chapter 2 - The Server-Client Relationship ................................................................................................... 7 Example – An Analogy for a Normal HTML page .................................................................................
    [Show full text]
  • Effects and Opportunities of Native Code Extensions For
    Effects and Opportunities of Native Code Extensions for Computationally Demanding Web Applications DISSERTATION zur Erlangung des akademischen Grades Dr. Phil. im Fach Bibliotheks- und Informationswissenschaft eingereicht an der Philosophischen Fakultät I Humboldt-Universität zu Berlin von Dipl. Inform. Dennis Jarosch Präsident der Humboldt-Universität zu Berlin: Prof. Dr. Jan-Hendrik Olbertz Dekan der Philosophischen Fakultät I: Prof. Michael Seadle, Ph.D. Gutachter: 1. Prof. Dr. Robert Funk 2. Prof. Michael Seadle, Ph.D. eingereicht am: 28.10.2011 Tag der mündlichen Prüfung: 16.12.2011 Abstract The World Wide Web is amidst a transition from interactive websites to web applications. An increasing number of users perform their daily computing tasks entirely within the web browser — turning the Web into an important platform for application development. The Web as a platform, however, lacks the computational performance of native applications. This problem has motivated the inception of Microsoft Xax and Google Native Client (NaCl), two independent projects that fa- cilitate the development of native web applications. Native web applications allow the extension of conventional web applications with compiled native code, while maintaining operating system portability. This dissertation determines the bene- fits and drawbacks of native web applications. It also addresses the question how the performance of JavaScript web applications compares to that of native appli- cations and native web applications. Four application benchmarks are introduced that focus on different performance aspects: number crunching (serial and parallel), 3D graphics performance, and data processing. A performance analysis is under- taken in order to determine and compare the performance characteristics of native C applications, JavaScript web applications, and NaCl native web applications.
    [Show full text]
  • AJAX and Jquery L Raw AJAX Handling in JS Is Very Tedious L Jquery Provides Flexible and Strong Support to Handle AJAX Interactions Through a Set of Jquery Functions
    AJAX Asynchronous Design in Web Apps IT 4403 Advanced Web and Mobile Applications Jack G. Zheng Fall 2019 Topics l AJAX concepts and technical elements l AJAX implications and impacts l jQuery AJAX l Basic and shorthand methods l Error handling 2 AJAX l AJAX (Asynchronous JavaScript and XML) is a group of interrelated web development techniques used on the client-side to create interactive web applications. l Despite the name, the use of XML is not actually required, nor do the requests need to be asynchronous. 3 First Impression l https://www.google.com Use Chrome’s developer tools to view network communications while typing the search terms. A set of requests have been made to get JSON data from the server as I type in the search term box. Observe the “q” parameter in all URLs. 4 AJAX Model Difference With Ajax, web applications can communicate with servers in the background without a complete page loading after every request/response cycle. http://www.adaptivepath.com /ideas/ajax-new-approach- web-applications/ 5 Traditional Model The client does not generate views/presentations (HTML/CSS). Synchronous communications feature sequential request/response cycles, one after another The server prepares the whole page. http://www.websiteoptimization.com/secrets/ajax/8-1-ajax-pattern.html 6 Ajax Model l With Ajax, web applications can communicate with servers in the background without a complete page loading after every request/response cycle. The client generates views/presentations and update content (partial page) by manipulating DOM. Asynchronous communications feature independent request/response cycles The server prepares partial pages (partial HTML) or just data (XML or JSON).
    [Show full text]
  • EMERGING TECHNOLOGIES Dymamic Web Page Creation
    Language Learning & Technology January 1998, Volume 1, Number 2 http://llt.msu.edu/vol1num2/emerging/ pp. 9-15 (page numbers in PDF differ and should not be used for reference) EMERGING TECHNOLOGIES Dymamic Web Page Creation Robert Godwin-Jones Virginia Comonwealth University Contents: • Plug-ins and Applets • JavaScript • Dynamic HTML and Style Sheets • Instructional Uses • Resource List While remaining a powerful repository of information, the Web is being transformed into a medium for creating truly interactive learning environments, leading toward a convergence of Internet connectivity with the functionality of traditional multimedia authoring tools like HyperCard, Toolbook, and Authorware. Certainly it is not fully interactive yet, but that is undeniably the trend as manifested in the latest (version 4) Web browsers. "Dynamic HTML," incorporated into the new browsers, joins plug-ins, Web forms, Java applets, and JavaScript as options for Web interactivity. Plug-ins and Applets While Web pages are beginning to behave more like interactive applications, traditional authoring tools are themselves becoming Internet-savvy, primarily through the use of "plug-in" versions of players which integrate with Web browsers. The most commonly used plug-in today is Macromedia's "Shockwave," used to Web-enable such applications as Director, Authorware, and Flash. "Shocked" Web pages can be very interactive and provide a visually appealing means of interacting with users (as in some sample ESL exercises from Jim Duber). Plug-ins are easy to use -- they just need to be downloaded and installed. Some come bundled with Netscape and Microsoft's browsers, which simplifies considerably the installation process (and gives developers the confidence that most users will actually have the plug-in installed).
    [Show full text]
  • How We Build Web Applications
    Whitepaper How We Build Web Applications Whitepaper 1 BuildableWorks.com Table of Contents About Buildable ............................................................................................ 3 Web Application Architecture ................................................................. 4 Our Process .................................................................................................. 6 Application Architecture Guidelines ............................................... 8 Management ......................................................................................... 8 Anatomy of a Web App .............................................................................. 10 User Experience Design ...................................................................... 10 Application Build and Deployment .................................................... 14 Frontend Tools ...................................................................................... 15 Backend Tools ........................................................................................ 20 Authentication and Security ............................................................. 22 Whitepaper 2 BuildableWorks.com About Buildable Our nimble, versatile team of full-stack engineers, creatives, and developers come to work every day with the knowledge we’re making the stuff that will change our clients’ work lives for the better. It’s why we attract and keep some of the best technical talent in the industry, and it’s how we deliver the highest quality
    [Show full text]
  • Lecture 6: Dynamic Web Pages Lecture 6: Dynamic Web Pages Mechanics • Project Preferences Due • Assignment 1 out • Prelab for Next Week Is Non-Trivial
    Lecture 6: Dynamic Web Pages Lecture 6: Dynamic Web Pages Mechanics • Project preferences due • Assignment 1 out • PreLab for next week is non-trivial 1/31/2020 2 Lecture 5: JavaScript JavaScript has its Quirks • Procedural, Functional and Object-Oriented all at once • Objects are very different from Java/C++ o Newer versions have Java-like classes however • Scoping is different o var versus let or const o Declarations can follow uses o Declarations are optional • Automatic type conversion • Strict versus non-strict equality testing • eval function • Semicolons are optional if unambiguous • Read up on the language (prelab) 1/31/2020 3 Lecture 6: Dynamic Web Pages What is an Interactive Application • How do we want to use JavaScript • What does interactive mean • What does it do when you interact o Check inputs, compute next page o Change the page without getting a new page 1/30/2020 4 Lecture 6: Dynamic Web Pages Dynamic Web Page Examples • http://bdognom.cs.brown.edu:5000/ (spheree) • http://conifer.cs.brown.edu/s6 (s6) • http://conifer.cs.brown.edu:8888 (twitter) • http://fred4.cs.brown.edu:8800/ (sign) 1/23/2020 5 Lecture 6: Dynamic Web Pages Interactive Applications • Respond to user inputs • Change the display (e.g. add fields, show errors, …) • Dynamically check and verify inputs • Allow direct manipulation (drag and drop) • Use animation to highlight or emphasize or show things • Display external changes in real time • Provide input help (e.g. text completion) • Handle dynamic resizing of the display 1/23/2020 6 Lecture 6: Dynamic Web Pages Achieving Interactivity • Using CSS • Handling HTML events using JavaScript o Dynamically check and verify inputs o Handle direct manipulation • With modern HTML features • With animation/drawing/multimedia packages • By talking to the server continually • Displaying external changes in real time • Changing styles and the content of the page o Change the display (e.g.
    [Show full text]
  • Advanced Web Design
    Implementation Date Fall 2008 PROGRAM CONCENTRATION Business & Computer Science CAREER PATHWAY: Interactive Media COURSE TITLE: Advanced Web Design The goal of this course is to provide students with the study of advanced topics in web design. Computer in the Modern World and Beginning Web Design are both prerequisites for this course. Upon completion of this course, students should have a thorough knowledge of all areas of web page design. Topics include the web development process, advanced layout and design features, advanced study of scripting languages, site development with HTML editors, and web servers and databases. This course also prepares students to take the CIW Associate Design Specialist Certification. OVERVIEW OF WEB DESIGN BCS-AWD-1. Students will explore web design concepts, the current state of the web, and technologies used on the web. a. Identify, evaluate, compare, and contrast web browsers. b. Identify and describe plug-ins, applets and other web based utilities. Academic Standards: ELA12W3. The student uses research and technology to support writing. ELA12RC3. The student acquires new vocabulary in each content area and uses it correctly. BCS-AWD-2. Students will examine ethical and legal issues related to web development. a. Discuss and develop strategies for handling privacy issues. b. Distinguish between legal and ethical issues. 1. Discuss appropriate and inappropriate content on sites such as Facebook and My Space. c. Describe security issues associated with web servers. Academic Standards: ELA12LSV1. The student participates in student-to-teacher, student-to-student, and group verbal interactions. ELA12RC2. The student participates in discussions related to curricular learning in all subject areas.
    [Show full text]
  • Virtual Geographic World: the Web-Based 3D Kyong-Ho Kim
    Transactions on Information and Communications Technologies vol 18, © 1998 WIT Press, www.witpress.com, ISSN 1743-3517 Virtual geographic world: the web-based 3D CIS Kyong-Ho Kim, Kiwon Lee, Ho-Geun Lee: & Young- Lyol Ha GIS Lab. Image Processing Dept. Systems Engineering Research Institute, Yusung, Taejon, 305-600, S.Korea Email: {khkim, kilee, hglee,ylha} @seri. re. kr Abstract To design and implement web-based 3D GIS, the strategic linkage of Java and VRML is first regarded: 3D feature format definition in the passion of conventional GIS including aspatial attributes, 3D feature indexing, 3D analytical operations such as selection, buffering, and near, metric operation such as distance measurement and statistical description, and 3D visualization. In 3D feature format definition, the following aspects are considered: aspatial attributes, spatial information for 3D primitives, multimedia data, visualization information for VRML specification. "Lantern operator" is newly introduced in this 3D GIS. Because this system is implemented by Java applet, any client with Java-enable browser including VRML browser plug-in can utilize the new style of 3D GIS function in the virtual space. 1 Introduction The integration of virtual environment and GIS has been initiated]!]. Since the mid 1990s, 3D GIS on World Wide Web(WWW)[2] has been regarded as one of promising alternatives in the GIS field mainly due to cost-effectiveness and wide accessibility. In this newly emerging approach, Virtual Reality Modeling Language(VRML)[3] shows several Transactions on Information and Communications Technologies vol 18, © 1998 WIT Press, www.witpress.com, ISSN 1743-3517 344 GIS Technologies and their Environmental Applications linked aspects with 3D GIS under Internet environment^].
    [Show full text]
  • Uwsgi Documentation Release 2.0
    uWSGI Documentation Release 2.0 uWSGI Jun 17, 2020 Contents 1 Included components (updated to latest stable release)3 2 Quickstarts 5 3 Table of Contents 33 4 Tutorials 303 5 Articles 343 6 uWSGI Subsystems 375 7 Scaling with uWSGI 457 8 Securing uWSGI 485 9 Keeping an eye on your apps 503 10 Async and loop engines 511 11 Web Server support 525 12 Language support 541 13 Other plugins 629 14 Broken/deprecated features 633 15 Release Notes 643 16 Contact 741 17 Commercial support 743 18 Donate 745 19 Sponsors 747 20 Indices and tables 749 i Python Module Index 751 Index 753 ii uWSGI Documentation, Release 2.0 The uWSGI project aims at developing a full stack for building hosting services. Application servers (for various programming languages and protocols), proxies, process managers and monitors are all implemented using a common api and a common configuration style. Thanks to its pluggable architecture it can be extended to support more platforms and languages. Currently, you can write plugins in C, C++ and Objective-C. The “WSGI” part in the name is a tribute to the namesake Python standard, as it has been the first developed plugin for the project. Versatility, performance, low-resource usage and reliability are the strengths of the project (and the only rules fol- lowed). Contents 1 uWSGI Documentation, Release 2.0 2 Contents CHAPTER 1 Included components (updated to latest stable release) The Core (implements configuration, processes management, sockets creation, monitoring, logging, shared memory areas, ipc, cluster membership and the uWSGI Subscription Server) Request plugins (implement application server interfaces for various languages and platforms: WSGI, PSGI, Rack, Lua WSAPI, CGI, PHP, Go .
    [Show full text]
  • A Web-Based Collaborative Multimedia Presentation Document System
    ABSTRACT With the distributed and rapidly increasing volume of data and expeditious de- velopment of modern web browsers, web browsers have become a possible legitimate vehicle for remote interactive multimedia presentation and collaboration, especially for geographically dispersed teams. To our knowledge, although there are a large num- ber of applications developed for these purposes, there are some drawbacks in prior work including the lack of interactive controls of presentation flows, general-purpose collaboration support on multimedia, and efficient and precise replay of presentations. To fill the research gaps in prior work, in this dissertation, we propose a web-based multimedia collaborative presentation document system, which models a presentation as media resources together with a stream of media events, attached to associated media objects. It represents presentation flows and collaboration actions in events, implements temporal and spatial scheduling on multimedia objects, and supports real-time interactive control of the predefined schedules. As all events are repre- sented by simple messages with an object-prioritized approach, our platform can also support fine-grained precise replay of presentations. Hundreds of kilobytes could be enough to store the events in a collaborative presentation session for accurate replays, compared with hundreds of megabytes in screen recording tools with a pixel-based replay mechanism. A WEB-BASED COLLABORATIVE MULTIMEDIA PRESENTATION DOCUMENT SYSTEM by Chunxu Tang B.S., Xiamen University, 2013 M.S., Syracuse University, 2015 Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Electrical and Computer Engineering. Syracuse University June 2019 Copyright c Chunxu Tang 2019 All Rights Reserved To my parents.
    [Show full text]
  • Caching Dynamic Web Content: Designing and Analysing an Aspect-Oriented Solution
    Caching Dynamic Web Content: Designing and Analysing an Aspect-Oriented Solution Sara Bouchenak1, Alan Cox2, Steven Dropsho3, Sumit Mittal4?, Willy Zwaenepoel3 1INRIA, 655, av. de l'Europe, Montbonnot, 38334 St. Ismier Cedex, France [email protected] 2Rice University, Department of Computer Science, Houston, TX USA [email protected] 3EPFL, Department of Computer Science, CH-1015 Lausanne, Switzerland fSteven.Dropsho, Willy.Zwaenepoelg@epfl.ch 4IBM India Research Lab, Block-1, IIT, Hauz Khas, New Delhi, India [email protected] Abstract. Caching dynamic web content is an effective approach to re- duce Internet latency and server load. An ideal caching solution is one that can be added transparently by the developers and provides complete consistency of the cached documents, while minimizing false cache invali- dations. In this paper, we design and implement AutoWebCache, a middle- ware system for adding caching of dynamic content transparently to J2EE server-side applications having a backend database. For this purpose, we first present the principles involved in caching dynamic web content, in- cluding our logic to ensure consistency of the cached entries. Thereafter, we demonstrate the use of aspect-oriented (AOP) techniques to implement our system, showing how AOP provides modularity and transparency to the entire process. Further, we evaluate the effectiveness of AutoWebCache in reducing response times of applications, thereby improving throughput. We also analyze the transparency of our system for a general application suite, considering issues such as dynamic web pages aggregating data from mul- tiple sources, presence of insufficiently structured interfaces for exchanging information and the use of application semantics while caching.
    [Show full text]
  • World Wide Web
    World Wide Web Introduction to networking Dr. Klára Pešková, [email protected] Department of Software and Computer Science Education 1 / 32 Feel free to contact me: ● Join a Zoom meeting during an officially scheduled lecture ● E-mail me Assignment You can find the “Simple Static Web” assignment in ReCodEx. Your goal is to create a simple static web, the specification of this assignment in ReCodEx is quite detailed. You will be rewarded by one point if your solution meets the required criteria. Except for ReCodEx, the assignment has to be approved by myself. Your web page has to look like a real web page, it is not enough to just stack the mandatory elements with no concept. You will find my comments to your solution directly in ReCodEx. If your solution is approved, I will reward you one extra point. You need to get 1+1 points to be able to take the “Introduction to networking” test. WWW – World Wide Web ● WWW is the most used Internet service ● Started as an experiment in CERN ● Last year’s description – Platform for information and data exchange – Environment for applications, that are accessible from anywhere ● This year – Social interactions – Shopping – Culture – Studying – Entertainment … Introduction to networking (2020) 2 / 32 World Wide Web and Internet are not the same. Web is one of the Internet’s (most used) services. Ancient history ● 1945 – Vannevar Bush – Human brain works with associations – hypothetical electromechanical device Memex – "enlarged intimate supplement to one's memory", bookmark list of static microfilm pages ● ‘60s – Theodore Nelson first used the word hyper-text, i.e.
    [Show full text]