Policies to Resolve Archived HTTP Redirection

Size: px
Start display at page:

Download "Policies to Resolve Archived HTTP Redirection"

Transcription

1 Policies to Resolve Archived HTTP Redirection ABC XYZ ABC One University Some city ABSTRACT HyperText Transfer Protocol (HTTP) defined a Status code (Redirection 3xx) that enables the user agent to redirect the requested URI to another destination. The web archive crawler used to crawl the status and keep the redirected URI in its seed list to be crawled later. The current trend in retrieving URI or mementos with HTTP redirection status does not take the redirection into consideration. In this paper, we ran a quantitative study to conclude a set of policies that will help the client to reach the memento in the existence of HTTP redirection. The results indicated that 14% of the current web had HTTP redirection status additional to 7% of the mementos had redirection status. The first proposed policy successfully resolved 17 URIs out of 77 URIs that did not have mementos but had HTTP redirection status. The second proposed policy helped the client to get the nearest memento to the requested date/time especially in the multi-archive environment. client should do extra steps to get the content of this resource. On the web archiving paradigm, the client used to apply the same procedure to retrieve the archived snapshot for the URI even if this URI has a redirection status without a consideration to the temporal nature of the content. For example, URI ( is the generic bit.ly for so it always retrieve 301 Response status code with location to curl -I HTTP/ Moved Location: When the user tried to get the Timemap for this bit.ly URI, it is not archived at all (figure 1). Categories and Subject Descriptors H.3.7 [Information Storage and Retrieval]: Digital Libraries General Terms Design, Experimentation, Standardization Keywords HTTP Redirection, Temporal Retrieval, Memento 1. INTRODUCTION Hypertext Transfer Protocol (HTTP/1.1) [6] Status code defined (Redirection 3xx) as This class of status code indicates that further action needs to be taken by the user agent in order to fulfill the request. The action required MAY be carried out by the user agent without interaction with the user if and only if the method used in the second request is GET or HEAD. A client SHOULD detect infinite redirection loops, since such loops generate network traffic for each redirection. Based on this definition the HTTP Figure 1: bit.ly/1l2iwb Timemap But, if the user tried to follow the redirected link (www. amazon.com), the user could retrieve mementos. curl link/ < / rel="first memento";datetime="sat, 12 Dec :25:32 GMT",

2 < / rel="memento";datetime="mon, 25 Jan :31:56 GMT", The situation became more complicated for the memento with HTTP redirection status. If the user wanted to retrieve the memento for on May 2008, he will discovered that the timemap have only three mementos on (27 Mar 2009), (08 Nov 2010) and (09 Nov 2010). Then, he should select one of these mementos which are far from his interested date. Actually, these three mementos had HTTP redirection to If the user tried to visit the mementos, he could find a set of mementos in his interested date. We can use the Memento protocol to do the content negotiation in the date/time dimension by adding an extra header for the Accept-Datetime. The Memento Timegate will respond with the nearest memento to (Jan 1, 2006) which is (Mar 27, 2009), then it redirects to a memento for http: // on (Mar 27, 2009). curl -I -L -H "Accept-Datetime: Thu, 01 May :00:00 GMT" HTTP/ Moved Temporarily Location: / HTTP/ Moved Permanently Location: / If the client considers the HTTP redirection status for the memento, it could redo the content negotiation in the date/time dimension for the redirected URI. It will bring the nearest memento to (Jan 1, 2008). curl -I -L -H "Accept-Datetime: Sun, 01 Jan :00:00 GMT" HTTP/ Moved Temporarily Location: memento/ / In these two examples, the client s awareness with the redirection status provided a new approach to reach a fine-grain date/time. The goal of this paper is to find a policy rules that will help the client to use the HTTP redirection to get a better estimate to the requested memento. In this paper, we will cover the different cases for the HTTP redirection in the current and the past web (section 3 and 4). Section 5 will describe the experiment with the initial results. Section 6 will discuss the redirection policy for the URI and memento. 2. RELATED WORK 2.1 HyperText Transfer Protocol (HTTP) Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, hypermedia information systems [6]. HTTP is the protocol behind of the World Wide Web (www). HTTP depends on Request-Response paradigm in the Client-Server environment. HTTP Request is the message from client to server. The first line is called the Request-Line that begins with a method token, followed by the Request-URI and the protocol version [6]. GET /index.html HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/ jpeg, */* Accept-Language: en-us Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT) Host: example.org Connection: Keep-Alive HTTP Response is the reply message from the server to the client. The response message starts with the status line. Status line starts with the HTTP protocol version, the status code and Reason Phrase. HTTP/ OK Date: Mon, 06 Dec :54:26 GMT Server: Apache/1.3.6 (Unix) Last-Modified: Fri, 04 Oct :06:11 GMT ETag: "2f5cd e1bd6" Accept-Ranges: bytes Content-length: 327 Connection: close Content-type: text/html The status code represents the class of the response. 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 [6]. 3xx Redirection class used when the document has moved and the server is configured to tell the clients where it has been moved. The popular status codes in this category are: 301 (moved permanently) which means the requested URL is no longer used by the server, 302 (Found) (deprecated) and 307 (Moved Temporarily) are used when the requested URL has moved but temporarily [9]. These redirection responses have Location header that specifies the new location. 2.2 Web Archiving Library of Congress defined the Web Archiving [2] as Web archiving is the process of creating an archival copy of a website. An archived site is a snapshot of how the original site looked at a particular point in time. The web archiving workflow started with the selection of the web resources to be archived, then the collection of these resource to be ready for preservation. Preservation is storing the content for future usage. Finally, the delivery is the process to allow the user to access the web archive content [4]. Heritrix crawler [3] is an open source web crawler that is used by Internet Archive 1 to take a periodical snapshots of the Web. Heritrix keeps track of the resource s HTTP status including the HTTP redirection status. It keeps a record with the Location header to be used later in the retrieval process. 2.3 Memento Memento [1] is an extension for the popular HyperText Transfer Protocol (HTTP) to allow the user to browse the past 1

3 web as the current web. Memento extends HTTP content negotiation [5] to be in the datetime dimension, a new HTTP headers proposed a special header Accept-Datetime [7]. GET / HTTP /1.1 Host : odu. edu Accept - Datetime : Sat, 17 Dec :00:00 GMT TimeGate [7] for an Original Resource is a resource that supports negotiation to allow selective, datetime-based, access to an archived copy of this Original Resource. TimeMap for an Original Resource is a resource from which a list of URIs of Mementos of the Original Resource is available. A TimeMap Aggregator [8] (for simplicity Aggregator) harvests and merges TimeMaps; the Aggregator exposes its own TimeGates and TimeMaps. The Memento Aggregator provides TimeGates and TimeMaps inter-archives, with finer datetime granularity after merging the different TimeMaps. 3. TEMPORAL TIMEMAP REDIRECTION A TimeMap for an Original Resource is a resource from which a list of URIs of Mementos of the Original Resource is available. TimeMap does not consider the preserved HTTP status for the memento. If we extend the TimeMap to include the archived HTTP status for each memento, we may get three different categories: All redirection to the same resource The timemap TM for the resource X is a list of the mementos that represent the snapshots for the resource X where each one of these mementos have a redirection status to and only to resource Y. T M(R X ) = {M X (T 1 ) [status : 3xx], M X (T 2 ) [status : 3xx],... M X (T n) [status : 3xx]} M X (T i ) [status : 3xx] M Y (T i ) This category describes this set of URIs that have not changed in the past. For example, bit.ly/xxx URIs do not change through the time. All redirection to different resources The timemap TM for the resource X is a list of the mementos that represent the snapshots for the resource X where each one of these mementos have a redirection status to a set of URIs. T M (R X) = {M X (T 1) [status : 3xx], M X (T 2) [status : 3xx],... M X (T n) [status : 3xx]} M X(T i) [status : 3xx] M Y (T i) or M Z(T i) Timemap with miscellaneous status The timemap TM for the resource X is a list of the mementos that represent the snapshots for the resource X where each one of these mementos may or may not have a redirection status. T M(R X) = {M X(T 1) [status : xxx], M X(T 2) [status : xxx],... M X(T n) [status : xxx]} Figure 2 explains the different categories. 4. URI-MEMENTO REDIRECTION RELA- TION The relation between the the original resource (URI-R) and the memento (URI-M) could be classified into five cases based on the HTTP status for both of URI-R and URI-M. Case 1: URI-R has HTTP status (OK) in the current Web and URI-M has HTTP status (OK) too. Case 2: URI-R has HTTP status (OK) in the current Web and URI-M has HTTP status (Redirection). Case 3: URI-R has HTTP status (Redirection) in the current Web and URI-M has HTTP status (Redirection) and both of them redirected to the same URI. Case 4: URI-R has HTTP status (Redirection) in the current Web and URI-M has HTTP status (Redirection) but both of them redirected to a different URI. Case 5: URI-R has HTTP status (Redirection) in the current Web and URI-M has HTTP status (OK). Table 1 lists these cases. Figure 4 illustrates these cases. 5. EXPERIMENT To be able to conclude the different redirection following policies for each case, we ran a quantitative study to estimate the percentage of happening for each case. We sample 10,000 URI randomly from Open Directory Project (DMOZ) 2. The experiment focused on drawing a complete graph of the HTTP status for the original resources that were extracted from DMOZ, the mementos for each resource, the redirected location for the resources or mementos that carried HTTP status redirection (3xx). We used the algorithm 1 to extract the HTTP status for the resources. The experiment started with URI-R and performing two main steps: HTTP status discovery and Timemap discovery. In the first step, HTTP status discovery (line 2-6), we did HEAD request for the URI-R to get the HTTP status (URI-R[Status]). For URI- R with HTTP status (Redirection), we retrieved the redirection location (URI-R[Redirected]), then get its timemap URI-T[Redirected]. The second step, Timemap discovery (lines 7-13), we retrieved the timemap (URI-T[Original]) for each URI-R. For each memento (URI-M), we did HEAD request to get the HTTP status URI-M[Status]. For the mementos with HTTP redirection, we will get the redirection location URI-M[Location]. Table 2 shows the distribution of HTTP status on the current web for our 10,000 sampled URIs. The result shows that 14.71% of the URIs have redirection status. This percentage could be divided to 8% with status code 301 (Moved Permanently) and 6% with status code 302 (Found). 2

4 (a) Category 1: All the mementos have redirection to the same URI (0.69%). (b) Category 2: All the mementos have redirection to different URI (0.30%) (c) Category 3: The mementos have different HTTP status (27.91%). Figure 2: Timemap Redirection Categories. Case Number URI-R HTTP Status URI-M HTTP Status Case 1 Non-Redirectin Non-Redirection 78.66% Case 2 Non-Redirectin Redirection 2.67% Case 3 Redirection to R x Redirection to R x Mementos 1.31% Case 4 Redirection to R x Redirection to R y Mementos 1.30% Case 5 Redirection Non-Redirection 13.37% Table 1: RedirectionCases

5 (a) Case 1 (78.66%) (b) Case 2 (2.67%) (c) Case 3 (1.31%) (d) Case 4 (1.30%) (e) Case 5 (13.37%) Figure 3: HTTP Status/Code Percentage (10,000 URI-R) OK (200) Redirection (3xx) Not-Found (4xx) 1.18 Others 1.28 Table 2: Sample URI Current HTTP Status 6. RESULTS AND ANALYSIS After retrieving the timemap for the 10,000 URIs from the memento aggregator. We started to quantify the two main steps in algorithm 1. HTTP status discovery: Table 2 shows that 14.71% of the original URIs had HTTP redirection status. For these 1471 URI-R, we followed the redirection location URI-R[Redirected] and retrieve its timemap URI-T[Redirected]. Timemap Discovery: Using memento aggregator, we were able to discovered 894,717 mementos. The HTTP status for the memento list is shown as table 3. The table shows that around 6% of the mementos have HTTP redirection status which means you need to follow this link to get the archived content. HTTP Status/Code Percentage (894,717 URI-M) OK (200) 93.46% Redirection (3xx) 5.69% Not-Found (4xx) 0.26% Others 0.59% Analysis Table 3: Mementos HTTP Status To draw the complete graph between the present and the past, we quantified the different cases that were listed in section 3 and 4. First, We studied the timemap cases (section 3). We resolved the HTTP status for each mementos in the timemap, and group them by status as shown in table 4. Based on these results, we can quantify the different categories in section 3 as the following:

6 Algorithm 1 Memento Redirection Status Algorithm Require: Set of URI-R extracted from DMOZ. 1: for all URI-R do 2: URI-R[Status] Get HTTP Status for URI-R. 3: if URI-R[Status] == 3xx then 4: URI-R[Redirected] Get the Redirected Location for URI-R. 5: URI-T[Redirected] Get the Timemap for URI-R[Redirected] using memento aggregator. 6: end if 7: URI-T[Original] Get the Timemap for each URI-R using memento aggregator. 8: for all URI-M in URI-T[Original do 9: URI-M[Status] Get HTTP Status for URI-M. 10: if URI-M[Status] == 3xx then 11: URI-M[Redirected] Get the Redirected Location for URI-M. 12: end if 13: end for 14: end for 6465 timemaps have all the mementos with HTTP status OK (out of scope of our research) 2791 timemaps have mementos with different HTTP status (Timemap case 3) 99 timemaps have all redirection HTTP status (Timemap case 1 and 2) Timemap Category Percentage All Mementos have OK status 64.65% Mementos have mix status 27.91% Redirection to the same URI 9.97% Redirection to different URI 17.72% All Mementos have Redirect status 0.99% Redirection to the same URI 0.69% Redirection to different URI 0.30% URI has no Mementos at all 6.45% Table 4: URI-Memento relation results In this section, we will put a new policy for resolving the HTTP Status redirection URI. We start with the current behavior in the Wayback Machine. Then, we will give two policies: Policy one, Original resource with a redirection and policy two, memento with a redirection. 7.1 The Current Wayback Machine behavior Wayback Machine is a url search based browser for the web archiving data. The user could start with a URI and the wayback machine could give him the available snapshots through the time. Also, Wayback Machine is able to replay the resource as it appears in the past. When Wayback Machine receives a query of URI that has a HTTP status redirection, it does not take the status of the URI in consideration and starts to search for the mementos for this URI. To replay a memento with HTTP redirection status, Wayback Machine displays a message with Got HTTP 3xx response code at crawl time, then it redirects to a memento for the redirected URI. We compared between the timemap HTTP status (the set of HTTP status of the mementos in the timemap) with the HTTP status of the original resource in the current web (table 2. Table 5 shows the relation between the status on the current web and the status of the timemap. Even we had 1471 URIs have HTTP status redirection in the current web, only 83 timemap had HTTP redirection status for all the mementos, while there were 425 timemaps have HTTP status OK in all the mementos. We can conclude that the HTTP status on the current web could not give us an indication about the status of the timemap because the URI HTTP status could change through the time without any rules. During the experiment, we were not able to conclude a pattern for the URI HTTP status change. The next step was following the memento redirection to compare the original redirection with the memento redirection. Table 1 listed the different cases of the relation between the original resources with the percentage of each case from the experiment. 7. ARCHIVED HTTP REDIRECTION RE- TRIEVAL POLICIES Figure 4: Wayback Machine is replaying a memento with HTTP status redirection 7.2 Policy one: URI-R with a redirection

7 URI Status URI count Timemap Status count(10,000) Mix status 1849 OK 8283 All 200 status 5886 All Redirect status 14 Mix status 880 Redirection 1471 All 200 status 425 All Redirect status 83 Mix status 32 Not-found 118 All 200 status 75 All Redirect status 2 Others 128 All 200 status 79 Mix status 30 Table 5: Timemap status comparing to the URI-R status on the current web. In this case, we have URI-R that redirects to another URI- R[Redirected] (it appeared 1471/10000 URIs). We have three cases: Case three, four and five (see table 1). We could apply the following policy: 1. Starting with URI-R. 2. (a) If the retrieved memento has (HTTP Status OK), then return this memento. (Stop) (b) Else if the retrieved memento has (HTTP Status Redirection), then repeat step one with the new memento original URI. (c) If the retrieved memento has (HTTP Status 404) URI-M[Redirected][Original]. and URI-R i has more redirection, set R as Redirection(URI- R i) then go to step Policy two: URI-M with a redirection Here, we will address the case two (see table 1). Here, we may have two cases: In this example, URI-M[Original] = bit.ly/2eejblwhile URI-M[Redirected][Original] = cnn.com. The client should be able to determine each case based on the comparison between the original resource for each URI- M and URI-M[Redirection]. If they are the same, then it is (Internal redirection), otherwise it is (Archived redirection). We defined different policy for each case. For the first case, internal redirection, the client simply will follow the redirection. For the archived redirection, the client will repeat the content-negotiation in the datetime dimension for the We summarized both policies in algorithm 2. Figure 5 illustrates a flowchart for both policies. Based on this new policy, we were able to retrieve mementos for 17 URIs out of 77 URIs that have no mementos at all but carried redirection status and the redirected URI has mementos. 1. Internal redirection to closer date: Memento redirects to another Memento with the same original. Redirection from a memento for On (Jan 01, 2010) to another date (Jan 21, 2010) In this example, URI-M[Original]=URI-M[Redirected][Original]=cs.odu.edu 2. Archived redirection status: Memento redirects to another Memento with a different original. Redirection from a memento for On (Nov 09, 2010) to another memento for on the same date CONCLUSION In this paper, we discussed the different scenarios for the HTTP Redirection status in the current and the past web. Following the redirection in the past web needs special handling other-than the current web. The paper provides redirection retrieval policy for web archived client when discovering redirection on original or memento. 9. REFERENCES [1] Memento: Adding time to the web. [2] Web archiving faqs. http: // [3] Heritrix Crawler, [4] A. Brown. Archiving websites: a practical guide for information management professionals. Facet, London, first edit edition, [5] K. Holtman and A. Mutz. RFC Transparent Content Negotiation in HTTP, [6] K. Holtman and A. Mutz. RFC Hypertext Transfer Protocol, [7] H. Van de Sompel, M. L. Nelson, and R. Sanderson. HTTP framework for time-based access to resource states. draft-vandesompel-memento/, 2011.

8 Algorithm 2 Memento Redirection Policy Require: URI-R is an original resource that redirects to URI-R[Redirected]. 1: while TRUE do 2: Do the content-negotiation for URI-R in the datetime dimension. 3: if URI-M[Status] == 2xx then 4: Return URI-M [EXIT] 5: else if URI-M[Status] == 3xx then 6: if URI-M[Redirection][Original] == URI-R[Redirection] then 7: Set URI-M URI-M[Redirection], Follow the redirection [Internal Redirection] 8: else 9: Set URI-R as URI-M[Redirection][Original] [Repeat] 10: end if 11: else if URI-M[Status] == 4xx then 12: if URI-R has URI-R[Redirection] then 13: URI-R URI-R[Redirection] 14: elsereturn Resource Not Archived [EXIT] 15: end if 16: end if 17: end while Figure 5: Redirection Retrieval Policy

9 [8] H. Van de Sompel, M. L. Nelson, R. Sanderson, L. Balakireva, S. Ainsworth, and H. Shankar. Memento: TimeMap API for Web Archives. slides/memento_201002_timemap.pdf, [9] C. Wong. Http Pocket Reference. O Reilly & Associates, Inc., Sebastopol, CA, USA, APPENDIX Terminologies URI-R is used to denote the URI of an Original Resource. An Original Resource is a resource that exists or used to exist, and for which access to one of its prior states is desired. URI-R[Redirected] URI-T, TM X is used to denote the URI of a TimeMap. A TimeMap for an Original Resource is a resource from which a list of URIs of Mementos of the Original Resource is available. URI-M, M X is used to denote the URI of a Memento. A Memento for an Original Resource is a resource that encapsulates a prior state of the Original Resource. A Memento for an Original Resource as it existed at time T j is a resource that encapsulates the state that the Original Resource had at time T j. URI-M[Redirected] URI-M[Original] URI-M[Redirected][Original] URI-X[Status] URI-G is used to denote the URI of a TimeGate. A TimeGate for an Original Resource is a resource that is capable of negotiation to allow selective, datetimebased, access to prior states of the Original Resource.

Archival HTTP Redirection Retrieval Policies

Archival HTTP Redirection Retrieval Policies Archival HTTP Redirection Retrieval Policies Ahmed AlSum, Michael L. Nelson Old Dominion University Norfolk VA, USA {aalsum,mln}@cs.odu.edu Robert Sanderson, Herbert Van de Sompel Los Alamos National Laboratory

More information

Memento: Time Travel for the Web

Memento: Time Travel for the Web The Memento Team Herbert Van de Sompel Michael L. Nelson Robert Sanderson Lyudmila Balakireva Scott Ainsworth Harihar Shankar Memento is partially funded by the Library of Congress Memento wants to make

More information

An HTTP-Based Versioning Mechanism for Linked Data. Presentation at

An HTTP-Based Versioning Mechanism for Linked Data. Presentation at Herbert Van de Sompel Robert Sanderson Michael L. Nelson Lyudmila Balakireva Harihar Shankar Scott Ainsworth Memento is partially funded by the Library of Congress Presentation at http://bit.ly/ac9ghh

More information

Applications & Application-Layer Protocols: The Web & HTTP

Applications & Application-Layer Protocols: The Web & HTTP CPSC 360 Network Programming Applications & Application-Layer Protocols: The Web & HTTP Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc360

More information

How to work with HTTP requests and responses

How to work with HTTP requests and responses How a web server processes static web pages Chapter 18 How to work with HTTP requests and responses How a web server processes dynamic web pages Slide 1 Slide 2 The components of a servlet/jsp application

More information

Application Level Protocols

Application Level Protocols Application Level Protocols 2 Application Level Protocols Applications handle different kinds of content e.g.. e-mail, web pages, voice Different types of content require different kinds of protocols Application

More information

Lecture 7b: HTTP. Feb. 24, Internet and Intranet Protocols and Applications

Lecture 7b: HTTP. Feb. 24, Internet and Intranet Protocols and Applications Internet and Intranet Protocols and Applications Lecture 7b: HTTP Feb. 24, 2004 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu WWW - HTTP/1.1 Web s application layer protocol

More information

HTTP Protocol and Server-Side Basics

HTTP Protocol and Server-Side Basics HTTP Protocol and Server-Side Basics Web Programming Uta Priss ZELL, Ostfalia University 2013 Web Programming HTTP Protocol and Server-Side Basics Slide 1/26 Outline The HTTP protocol Environment Variables

More information

Memento: Time Travel for the Web

Memento: Time Travel for the Web Old Dominion University ODU Digital Commons Computer Science Presentations Computer Science 11-10-2010 Herbert Van de Sompel Michael L. Nelson Old Dominion University, mnelson@odu.edu Robert Sanderson

More information

The HTTP protocol. Fulvio Corno, Dario Bonino. 08/10/09 http 1

The HTTP protocol. Fulvio Corno, Dario Bonino. 08/10/09 http 1 The HTTP protocol Fulvio Corno, Dario Bonino 08/10/09 http 1 What is HTTP? HTTP stands for Hypertext Transfer Protocol It is the network protocol used to delivery virtually all data over the WWW: Images

More information

HTTP Reading: Section and COS 461: Computer Networks Spring 2013

HTTP Reading: Section and COS 461: Computer Networks Spring 2013 HTTP Reading: Section 9.1.2 and 9.4.3 COS 461: Computer Networks Spring 2013 1 Recap: Client-Server Communication Client sometimes on Initiates a request to the server when interested E.g., Web browser

More information

CSE 333 Lecture HTTP

CSE 333 Lecture HTTP CSE 333 Lecture 19 -- HTTP Hal Perkins Department of Computer Science & Engineering University of Washington Administrivia Server-side programming exercise due Wed. morning HW4 due a week later - How s

More information

Introduction to Internet, Web, and TCP/IP Protocols SEEM

Introduction to Internet, Web, and TCP/IP Protocols SEEM Introduction to Internet, Web, and TCP/IP Protocols SEEM 3460 1 Local-Area Networks A Local-Area Network (LAN) covers a small distance and a small number of computers LAN A LAN often connects the machines

More information

Lecture 3. HTTP v1.0 application layer protocol. into details. HTTP 1.0: RFC 1945, T. Berners-Lee HTTP 1.1: RFC 2068, 2616

Lecture 3. HTTP v1.0 application layer protocol. into details. HTTP 1.0: RFC 1945, T. Berners-Lee HTTP 1.1: RFC 2068, 2616 Lecture 3. HTTP v1.0 application layer protocol into details HTTP 1.0: RFC 1945, T. Berners-Lee Lee,, R. Fielding, H. Frystyk, may 1996 HTTP 1.1: RFC 2068, 2616 Ascii protocol uses plain text case sensitive

More information

Outline Computer Networking. HTTP Basics (Review) How to Mark End of Message? (Review)

Outline Computer Networking. HTTP Basics (Review) How to Mark End of Message? (Review) Outline 15-441 Computer Networking Lecture 25 The Web HTTP review and details (more in notes) Persistent HTTP review HTTP caching Content distribution networks Lecture 19: 2006-11-02 2 HTTP Basics (Review)

More information

CSE 333 Lecture HTTP

CSE 333 Lecture HTTP CSE 333 Lecture 19 -- HTTP Hal Perkins Paul G. Allen School of Computer Science & Engineering University of Washington Administrivia HW4 due a week from Thursday - How s it look? Today: http; finish networking/web

More information

Web Search An Application of Information Retrieval Theory

Web Search An Application of Information Retrieval Theory Web Search An Application of Information Retrieval Theory Term Project Summer 2009 Introduction The goal of the project is to produce a limited scale, but functional search engine. The search engine should

More information

CHAPTER 2 WEB ARCHIVING TRENDS

CHAPTER 2 WEB ARCHIVING TRENDS 11 CHAPTER 2 WEB ARCHIVING TRENDS In this chapter, we will give an overview of the basic procedures of the web archiving practice additional to the current trends on the web archiving. The current trend

More information

CS631 - Advanced Programming in the UNIX Environment

CS631 - Advanced Programming in the UNIX Environment CS631 - Advanced Programming in the UNIX Environment Slide 1 CS631 - Advanced Programming in the UNIX Environment HTTP; Code Reading Department of Computer Science Stevens Institute of Technology Jan Schaumann

More information

World-Wide Web Protocols CS 571 Fall Kenneth L. Calvert All rights reserved

World-Wide Web Protocols CS 571 Fall Kenneth L. Calvert All rights reserved World-Wide Web Protocols CS 571 Fall 2006 2006 Kenneth L. Calvert All rights reserved World-Wide Web The Information Universe World-Wide Web structure: hypertext Nonlinear presentation of information Key

More information

HyperText Transfer Protocol

HyperText Transfer Protocol Outline Introduce Socket Programming Domain Name Service (DNS) Standard Application-level Protocols email (SMTP) HTTP HyperText Transfer Protocol Defintitions A web page consists of a base HTML-file which

More information

C22: Browser & Web Server Communication

C22: Browser & Web Server Communication CISC 3120 C22: Browser & Web Server Communication Hui Chen Department of Computer & Information Science CUNY Brooklyn College 11/01/2017 CUNY Brooklyn College 1 Web Application Architecture Client apps

More information

World Wide Web, etc.

World Wide Web, etc. World Wide Web, etc. Alex S. Raw data-packets wouldn t be much use to humans if there weren t many application level protocols, such as SMTP (for e-mail), HTTP & HTML (for www), etc. 1 The Web The following

More information

Networking. INFO/CSE 100, Spring 2006 Fluency in Information Technology.

Networking. INFO/CSE 100, Spring 2006 Fluency in Information Technology. Networking INFO/CSE 100, Spring 2006 Fluency in Information Technology http://www.cs.washington.edu/100 Apr-3-06 networks @ university of washington 1 Readings and References Reading Fluency with Information

More information

Notes beforehand... For more details: See the (online) presentation program.

Notes beforehand... For more details: See the (online) presentation program. Notes beforehand... Notes beforehand... For more details: See the (online) presentation program. Topical overview: main arcs fundamental subjects advanced subject WTRs Lecture: 2 3 4 5 6 7 8 Today: the

More information

Internet Architecture. Web Programming - 2 (Ref: Chapter 2) IP Software. IP Addressing. TCP/IP Basics. Client Server Basics. URL and MIME Types HTTP

Internet Architecture. Web Programming - 2 (Ref: Chapter 2) IP Software. IP Addressing. TCP/IP Basics. Client Server Basics. URL and MIME Types HTTP Web Programming - 2 (Ref: Chapter 2) TCP/IP Basics Internet Architecture Client Server Basics URL and MIME Types HTTP Routers interconnect the network TCP/IP software provides illusion of a single network

More information

Web, HTTP and Web Caching

Web, HTTP and Web Caching Web, HTTP and Web Caching 1 HTTP overview HTTP: hypertext transfer protocol Web s application layer protocol client/ model client: browser that requests, receives, displays Web objects : Web sends objects

More information

COSC 2206 Internet Tools. The HTTP Protocol

COSC 2206 Internet Tools. The HTTP Protocol COSC 2206 Internet Tools The HTTP Protocol http://www.w3.org/protocols/ What is TCP/IP? TCP: Transmission Control Protocol IP: Internet Protocol These network protocols provide a standard method for sending

More information

[MS-PCCRTP]: Peer Content Caching and Retrieval: Hypertext Transfer Protocol (HTTP) Extensions

[MS-PCCRTP]: Peer Content Caching and Retrieval: Hypertext Transfer Protocol (HTTP) Extensions [MS-PCCRTP]: Peer Content Caching and Retrieval: Hypertext Transfer Protocol (HTTP) Extensions Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft

More information

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar Mobile Application Development Higher Diploma in Science in Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology

More information

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer About the Tutorial The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. This is the foundation for data communication

More information

Web Technology. COMP476 Networked Computer Systems. Hypertext and Hypermedia. Document Representation. Client-Server Paradigm.

Web Technology. COMP476 Networked Computer Systems. Hypertext and Hypermedia. Document Representation. Client-Server Paradigm. Web Technology COMP476 Networked Computer Systems - Paradigm The method of interaction used when two application programs communicate over a network. A server application waits at a known address and a

More information

Web History. Systemprogrammering 2006 Föreläsning 9 Web Services. Internet Hosts. Web History (cont) 1945: 1989: Topics 1990:

Web History. Systemprogrammering 2006 Föreläsning 9 Web Services. Internet Hosts. Web History (cont) 1945: 1989: Topics 1990: Systemprogrammering 2006 Föreläsning 9 Web Services Topics HTTP Serving static content Serving dynamic content 1945: 1989: Web History Vannevar Bush, As we may think, Atlantic Monthly, July, 1945. Describes

More information

Lecture 6 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Lecture 6 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Lecture 6 Application Layer Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Application-layer protocols Application: communicating, distributed processes running in network hosts

More information

Application Protocols and HTTP

Application Protocols and HTTP Application Protocols and HTTP 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, 6 th edition. J.F. Kurose and K.W. Ross Administrivia Lab #0 due

More information

Establishing New Levels of Interoperability for Web-Based Scholarship

Establishing New Levels of Interoperability for Web-Based Scholarship Establishing New Levels of Interoperability for Web-Based Scholarship Los Alamos National Laboratory @hvdsomp Cartoon by: Patrick Hochstenbach Acknowledgments: Michael L. Nelson, David Rosenthal, Geoff

More information

Yioop Full Historical Indexing In Cache Navigation. Akshat Kukreti

Yioop Full Historical Indexing In Cache Navigation. Akshat Kukreti Yioop Full Historical Indexing In Cache Navigation Akshat Kukreti Agenda Introduction History Feature Cache Page Validation Feature Conclusion Demo Introduction Project goals History feature for enabling

More information

TCP/IP Networking Basics

TCP/IP Networking Basics TCP/IP Networking Basics 1 A simple TCP/IP Example A user on host argon.tcpip-lab.edu ( Argon ) makes a web access to URL http://neon.tcpip-lab.edu/index.html. What actually happens in the network? 2 HTTP

More information

Computer Networks. Wenzhong Li. Nanjing University

Computer Networks. Wenzhong Li. Nanjing University Computer Networks Wenzhong Li Nanjing University 1 Chapter 8. Internet Applications Internet Applications Overview Domain Name Service (DNS) Electronic Mail File Transfer Protocol (FTP) WWW and HTTP Content

More information

Application Layer. Applications and application-layer protocols. Goals:

Application Layer. Applications and application-layer protocols. Goals: Application Layer Goals: Conceptual aspects of network application protocols Client paradigm Service models Learn about protocols by examining popular application-level protocols HTTP DNS 1 Applications

More information

Threat Landscape 2017

Threat Landscape 2017 Pattern Recognition and Applications Lab WEB Security Giorgio Giacinto giacinto@diee.unica.it Computer Security 2018 Department of Electrical and Electronic Engineering University of Cagliari, Italy Threat

More information

WEB TECHNOLOGIES CHAPTER 1

WEB TECHNOLOGIES CHAPTER 1 WEB TECHNOLOGIES CHAPTER 1 WEB ESSENTIALS: CLIENTS, SERVERS, AND COMMUNICATION Modified by Ahmed Sallam Based on original slides by Jeffrey C. Jackson THE INTERNET Technical origin: ARPANET (late 1960

More information

A Framework for Aggregating Private and Public Web Archives

A Framework for Aggregating Private and Public Web Archives A Framework for Aggregating Private and Public Web Archives Old Dominion University Web Science & Digital Libraries Research Group Department of Computer Science Norfolk, Virginia USA mkelly@cs.odu.edu

More information

LAMP, WEB ARCHITECTURE, AND HTTP

LAMP, WEB ARCHITECTURE, AND HTTP CS 418 Web Programming Spring 2013 LAMP, WEB ARCHITECTURE, AND HTTP SCOTT G. AINSWORTH http://www.cs.odu.edu/~sainswor/cs418-s13/ 2 OUTLINE Assigned Reading Chapter 1 Configuring Your Installation pgs.

More information

HTTP Server Application

HTTP Server Application 1 Introduction You are to design and develop a concurrent TCP server that implements the HTTP protocol in the form of what is commonly called a web server. This server will accept and process HEAD and

More information

A Collaborative, Secure, and Private InterPlanetary Wayback Web Archiving System Using IPFS

A Collaborative, Secure, and Private InterPlanetary Wayback Web Archiving System Using IPFS A Collaborative, Secure, and Private InterPlanetary Wayback Web Archiving System Using IPFS Mat Kelly Old Dominion University Norfolk, Virginia, USA @machawk1 https://github.com/oduwsdl/ipwb David Dias

More information

HTTP, circa HTTP protocol. GET /foo/bar.html HTTP/1.1. Sviluppo App Web 2015/ Intro 3/3/2016. Marco Tarini, Uninsubria 1

HTTP, circa HTTP protocol. GET /foo/bar.html HTTP/1.1. Sviluppo App Web 2015/ Intro 3/3/2016. Marco Tarini, Uninsubria 1 HTTP protocol HTTP, circa 1989 a resource «give me the HTML representation of thatresource» «ok, here» Client request GET /hello.txt Server response Hello, world! Client Server Http 1.1 Request line Client

More information

CS 43: Computer Networks. Layering & HTTP September 7, 2018

CS 43: Computer Networks. Layering & HTTP September 7, 2018 CS 43: Computer Networks Layering & HTTP September 7, 2018 Last Class: Five-layer Internet Model Application: the application (e.g., the Web, Email) Transport: end-to-end connections, reliability Network:

More information

Giving credit where credit is due

Giving credit where credit is due CSCE 230J Computer Organization Web Services Dr. Steve Goddard goddard@cse.unl.edu Giving credit where credit is due Most of slides for this lecture are based on slides created by Drs. Bryant and O Hallaron,

More information

Review of Previous Lecture

Review of Previous Lecture Review of Previous Lecture Network access and physical media Internet structure and ISPs Delay & loss in packet-switched networks Protocol layers, service models Some slides are in courtesy of J. Kurose

More information

CCNA Exploration Network Fundamentals. Chapter 03 Application Functionality and Protocols

CCNA Exploration Network Fundamentals. Chapter 03 Application Functionality and Protocols CCNA Exploration Network Fundamentals Chapter 03 Application Functionality and Protocols Updated: 27/04/2008 1 3.1 Applications: The Interface Between Human and Networks Applications provide the means

More information

18050 (2.48 pages/visit) Jul Sep May Jun Aug Number of visits

18050 (2.48 pages/visit) Jul Sep May Jun Aug Number of visits 30-12- 0:45 Last Update: 29 Dec - 03:05 Reported period: OK Summary Reported period Month Dec First visit 01 Dec - 00:07 Last visit 28 Dec - 23:59 Unique visitors Number of visits Pages Hits Bandwidth

More information

Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017

Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017 CSC 401 Data and Computer Communications Networks Application Layer: The Web and HTTP Sec 2.2 Prof Lina Battestilli Fall 2017 Outline Application Layer (ch 2) 2.1 principles of network applications 2.2

More information

Internet Content Distribution

Internet Content Distribution Internet Content Distribution Chapter 1: Introduction Jussi Kangasharju Chapter Outline Introduction into content distribution Basic concepts TCP DNS HTTP Outline of the rest of the course Kangasharju:

More information

Proxying. Why and How. Alon Altman. Haifa Linux Club. Proxying p.1/24

Proxying. Why and How. Alon Altman. Haifa Linux Club. Proxying p.1/24 Proxying p.1/24 Proxying Why and How Alon Altman alon@haifux.org Haifa Linux Club Proxying p.2/24 Definition proxy \Prox"y\, n.; pl. Proxies. The agency for another who acts through the agent; authority

More information

TACACS Support APIs. curl -k -v -u "admin:cisco123" -H Accept:application/vnd.yang.data+xml -H ContentType:application/vnd.yang.

TACACS Support APIs. curl -k -v -u admin:cisco123 -H Accept:application/vnd.yang.data+xml -H ContentType:application/vnd.yang. Table 1: Action Method Payload Required API To configure TACACS server POST Yes To configure TACACS server PUT Yes To configure TACACS server DELETE No To view TACACS server configuration GET No Example:

More information

Computer Networks - A Simple HTTP proxy -

Computer Networks - A Simple HTTP proxy - Computer Networks - A Simple HTTP proxy - Objectives The intent of this assignment is to help you gain a thorough understanding of: The interaction between browsers and web servers The basics of the HTTP

More information

On Tool Building and Evaluation of the Archived Web

On Tool Building and Evaluation of the Archived Web On Tool Building and Evaluation of the Archived Web Old Dominion University Web Science & Digital Libraries Research Group Department of Computer Science Norfolk, Virginia USA mkelly@cs.odu.edu Seminar,

More information

Open Archives Initiative Object Reuse & Exchange. Resource Map Discovery

Open Archives Initiative Object Reuse & Exchange. Resource Map Discovery Open Archives Initiative Object Reuse & Exchange Resource Map Discovery Michael L. Nelson * Carl Lagoze, Herbert Van de Sompel, Pete Johnston, Robert Sanderson, Simeon Warner OAI-ORE Specification Roll-Out

More information

Linked Data Semantic Web Technologies 1 (2010/2011)

Linked Data Semantic Web Technologies 1 (2010/2011) Linked Data Semantic Web Technologies 1 (2010/2011) Sebastian Rudolph Andreas Harth Institute AIFB www.kit.edu Data on the Web Increasingly, web sites provide direct access to data Using Semantic Web standards,

More information

HTTP Review. Carey Williamson Department of Computer Science University of Calgary

HTTP Review. Carey Williamson Department of Computer Science University of Calgary HTTP Review Carey Williamson Department of Computer Science University of Calgary Credit: Most of this content was provided by Erich Nahum (IBM Research) Introduction to HTTP http request http request

More information

WWW Document Technologies

WWW Document Technologies WWW Document Technologies Michael B. Spring Department of Information Science and Telecommunications University of Pittsburgh spring@imap.pitt.edu http://www.sis.pitt.edu/~spring Overview The Internet

More information

arxiv: v1 [cs.dl] 26 Dec 2012

arxiv: v1 [cs.dl] 26 Dec 2012 How Much of the Web Is Archived? Scott G. Ainsworth, Ahmed AlSum, Hany SalahEldeen, Michele C. Weigle, Michael L. Nelson Old Dominion University Norfolk, VA, USA {sainswor, aalsum, hany, mweigle, mln}@cs.odu.edu

More information

Integration of non harvested web data into an existing web archive

Integration of non harvested web data into an existing web archive Integration of non harvested web data into an existing web archive Bjarne Andersen Daily manager netarchive.dk bja@netarkivet.dk Abstract This paper describes a software prototype developed for transforming

More information

CORS Attacks. Author: Milad Khoshdel Blog: P a g e. CORS Attacks

CORS Attacks. Author: Milad Khoshdel Blog: P a g e. CORS Attacks Author: Milad Khoshdel Blog: https://blog.regux.com Email: miladkhoshdel@gmail.com 1 P a g e Contents What is CORS?...3 How to Test?...4 CORS Checker Script...6 References...9 2 P a g e What is CORS? CORS

More information

HTTP protocol integration in PerLa

HTTP protocol integration in PerLa Politecnico di Milano Department of Electronics, Information and Bioengineering HTTP protocol integration in PerLa Project for Pervasive Data Management course Federico Monterisi June 9, 2014 F. Monterisi

More information

Memento: Time Travel for the Web

Memento: Time Travel for the Web Memento: Time Travel for the Web Herbert Van de Sompel Los Alamos National Laboratory, NM, USA herbertv@lanl.gov Lyudmila L. Balakireva Los Alamos National Laboratory, NM, USA ludab@lanl.gov Michael L.

More information

Introduction to Ethical Hacking

Introduction to Ethical Hacking Introduction to Ethical Hacking Summer University 2017 Seoul, Republic of Korea Alexandre Karlov Today Some tools for web attacks Wireshark How a writeup looks like 0x04 Tools for Web attacks Overview

More information

How the Internet Works

How the Internet Works How the Internet Works Contents World Wide Web, which is made of HTML and HTTP and communicates over TCP/IP, which uses Ethernet and other network media. Supported by routing and DNS 2 WWW Page 3 HTML

More information

2/13/2014. A protocol is an agreed-upon convention that defines how communication occurs between two (or more?) endpoints

2/13/2014. A protocol is an agreed-upon convention that defines how communication occurs between two (or more?) endpoints Rensselaer Polytechnic Institute CSCI-4220 Network Programming David Goldschmidt, Ph.D. A protocol is an agreed-upon convention that defines how communication occurs between two (or more?) endpoints All

More information

CS 355. Computer Networking. Wei Lu, Ph.D., P.Eng.

CS 355. Computer Networking. Wei Lu, Ph.D., P.Eng. CS 355 Computer Networking Wei Lu, Ph.D., P.Eng. Chapter 2: Application Layer Overview: Principles of network applications? Introduction to Wireshark Web and HTTP FTP Electronic Mail SMTP, POP3, IMAP DNS

More information

INTERNET ENGINEERING. HTTP Protocol. Sadegh Aliakbary

INTERNET ENGINEERING. HTTP Protocol. Sadegh Aliakbary INTERNET ENGINEERING HTTP Protocol Sadegh Aliakbary Agenda HTTP Protocol HTTP Methods HTTP Request and Response State in HTTP Internet Engineering 2 HTTP HTTP Hyper-Text Transfer Protocol (HTTP) The fundamental

More information

Lecture Overview : Computer Networking. Applications and Application-Layer Protocols. Client-Server Paradigm

Lecture Overview : Computer Networking. Applications and Application-Layer Protocols. Client-Server Paradigm Lecture Overview 15-441: Computer Networking Last time: Protocol stacks and layering OSI and TCP/IP models Application requirements Lecture 3: Design Philosophy & Applications Application examples ftp

More information

Header Status Codes Cheat Sheet

Header Status Codes Cheat Sheet Header Status Codes Cheat Sheet Thanks for downloading our header status codes cheat sheet! Below you ll find all the header status codes and their meanings. They are organized by sections, starting with

More information

OMA-ETS-DL-OTA-v1_ a Page 1 (24)

OMA-ETS-DL-OTA-v1_ a Page 1 (24) OMA-ETS-DL-OTA-v1_0-20040317-a Page 1 (24) Enabler Test Specification for Download 1.0 Version 1.0, 17-Mar-2004 Open Mobile Alliance OMA-ETS-DL-OTA-v1_0-20040317-a OMA-ETS-DL-OTA-v1_0-20040317-a Page 2

More information

Configure ACE with Source NAT and Client IP Header Insert

Configure ACE with Source NAT and Client IP Header Insert Configure ACE with Source NAT and Client IP Header Insert Document ID: 107399 Contents Introduction Prerequisites Requirements Components Used Conventions Configure Network Diagram Configurations Verify

More information

Network Applications and the Web

Network Applications and the Web Network Applications and the Web Antonio Carzaniga Faculty of Informatics University of Lugano September 27, 2013 2005 2007 Antonio Carzaniga 1 General concepts for network applications Outline Client/server

More information

arxiv: v1 [cs.dl] 16 Sep 2013

arxiv: v1 [cs.dl] 16 Sep 2013 Access Patterns for Robots and Humans in Web Archives Yasmin AlNoamany, Michele C. Weigle, Michael L. Nelson Old Dominion University Norfolk, VA, USA {yasmin, mweigle, mln}@cs.odu.edu arxiv:1309.4009v1

More information

Open Archives Initiative Object Reuse & Exchange. Resource Map Discovery

Open Archives Initiative Object Reuse & Exchange. Resource Map Discovery Open Archives Initiative Object Reuse & Exchange Resource Map Discovery Michael L. Nelson * Carl Lagoze, Herbert Van de Sompel, Pete Johnston, Robert Sanderson, Simeon Warner OAI-ORE Specification Roll-Out

More information

Computer Networks Prof. Ashok K. Agrawala

Computer Networks Prof. Ashok K. Agrawala CMSC417 Computer Networks Prof. Ashok K. Agrawala 2018Ashok Agrawala September 6, 2018 Fall 2018 Sept 6, 2018 1 Overview Client-server paradigm End systems Clients and servers Sockets Socket abstraction

More information

CMSC 332 Computer Networking Web and FTP

CMSC 332 Computer Networking Web and FTP CMSC 332 Computer Networking Web and FTP Professor Szajda CMSC 332: Computer Networks Project The first project has been posted on the website. Check the web page for the link! Due 2/2! Enter strings into

More information

HTTP HyperText Transfer Protocol

HTTP HyperText Transfer Protocol HTTP HyperText Transfer Protocol Miguel Leitão, 2012 1 HTTP HTTP is the protocol that supports communication between Web browsers and Web servers. From the RFC: HTTP is an application-level protocol with

More information

Hypertext Transport Protocol

Hypertext Transport Protocol Hypertext Transport Protocol CSE 333 Summer 2018 Instructor: Hal Perkins Teaching Assistants: Renshu Gu William Kim Soumya Vasisht Administriia Section tomorrow: pthread tutorial/demo Followup exercise

More information

Music Video Redundancy and Half-Life in YouTube

Music Video Redundancy and Half-Life in YouTube Old Dominion University ODU Digital Commons Computer Science Presentations Computer Science 9-26-2011 Music Video Redundancy and Half-Life in YouTube Matthias Prellwitz Michael L. Nelson Old Dominion University,

More information

DATA COMMUNICATOIN NETWORKING

DATA COMMUNICATOIN NETWORKING DATA COMMUNICATOIN NETWORKING Instructor: Ouldooz Baghban Karimi Course Book: Computer Networking, A Top-Down Approach By: Kurose, Ross Introduction Course Overview Basics of Computer Networks Internet

More information

CSMC 412. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 2. September 15 CMSC417 Set 2 1

CSMC 412. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 2. September 15 CMSC417 Set 2 1 CSMC 412 Computer Networks Prof. Ashok K Agrawala 2015 Ashok Agrawala Set 2 September 15 CMSC417 Set 2 1 Contents Client-server paradigm End systems Clients and servers Sockets Socket abstraction Socket

More information

Evaluating Sliding and Sticky Target Policies by Measuring Temporal Drift in Acyclic Walks Through a Web Archive

Evaluating Sliding and Sticky Target Policies by Measuring Temporal Drift in Acyclic Walks Through a Web Archive Evaluating Sliding and Sticky Target Policies by Measuring Temporal Drift in Acyclic Walks Through a Web Archive Scott G. Ainsworth Old Dominion University Norfolk, VA, USA sainswor@cs.odu.edu Michael

More information

CSCI-1680 WWW Rodrigo Fonseca

CSCI-1680 WWW Rodrigo Fonseca CSCI-1680 WWW Rodrigo Fonseca Based partly on lecture notes by Scott Shenker and John Jannotti Precursors 1945, Vannevar Bush, Memex: a device in which an individual stores all his books, records, and

More information

1-1. Switching Networks (Fall 2010) EE 586 Communication and. September Lecture 10

1-1. Switching Networks (Fall 2010) EE 586 Communication and. September Lecture 10 EE 586 Communication and Switching Networks (Fall 2010) Lecture 10 September 17 2010 1-1 Announcement Send me your group and get group ID HW3 (short) out on Monday Personal leave for next two weeks No

More information

COMPUTER NETWORK. Homework #1. Due Date: March 29, 2017 in class

COMPUTER NETWORK. Homework #1. Due Date: March 29, 2017 in class Computer Network Homework#1 COMPUTER NETWORK Homework #1 Due Date: March 29, 2017 in class Question 1 What is the role of HTTP in a network application? What other components are needed to complete a Web

More information

REST Web Services Objektumorientált szoftvertervezés Object-oriented software design

REST Web Services Objektumorientált szoftvertervezés Object-oriented software design REST Web Services Objektumorientált szoftvertervezés Object-oriented software design Dr. Balázs Simon BME, IIT Outline HTTP REST REST principles Criticism of REST CRUD operations with REST RPC operations

More information

CS193i Handout #18. HTTP Part 5

CS193i Handout #18. HTTP Part 5 HTTP Part 5 HTTP Under The Hood Write a little echo server that listens for HTTP requests on port 8181, and then just echoes it back, so we can see the details for the browser request... Echo Server Code

More information

An Evaluation of Caching Policies for Memento TimeMaps

An Evaluation of Caching Policies for Memento TimeMaps An Evaluation of Caching Policies for Memento TimeMaps Justin F. Brunelle Old Dominion University Department of Computer Science Norfolk, Virginia, 23508 jbrunelle@cs.odu.edu Michael L. Nelson Old Dominion

More information

ECE697AA Lecture 2. Today s lecture

ECE697AA Lecture 2. Today s lecture ECE697AA Lecture 2 Application Layer: HTTP Tilman Wolf Department of Electrical and Computer Engineering 09/04/08 Protocol stack Application layer Client-server architecture Example protocol: HTTP Demo

More information

Application Layer. Pure P2P architecture. Client-server architecture. Processes communicating. Hybrid of client-server and P2P. Creating a network app

Application Layer. Pure P2P architecture. Client-server architecture. Processes communicating. Hybrid of client-server and P2P. Creating a network app Application Layer e- web instant messaging remote login P2P file sharing multi- network games streaming stored video (YouTube) voice over IP real-time video conferencing cloud computing Creating a network

More information

INFOH-511 WEB SERVICES. LECTURE 1: Introduction

INFOH-511 WEB SERVICES. LECTURE 1: Introduction INFOH-511 WEB SERVICES LECTURE 1: Introduction COURSE RESPONSIBLES Stijn Vansummeren ULB, Campus Solbosch, UB4.125 stijn.vansummeren@ulb.ac.be Stefan Epe ULB, Campus Solbosch, UB4.133 Stefan.eppe@ulb.ac.be

More information

Analysis of the effects of removing redundant header information in persistent HTTP connections

Analysis of the effects of removing redundant header information in persistent HTTP connections Analysis of the effects of removing redundant header information in persistent HTTP connections Timothy Bower, Daniel Andresen, David Bacon Department of Computing and Information Sciences 234 Nichols

More information

EDA095 HTTP. Pierre Nugues. March 30, Lund University

EDA095 HTTP. Pierre Nugues. March 30, Lund University EDA095 HTTP Pierre Nugues Lund University http://cs.lth.se/pierre_nugues/ March 30, 2017 Covers: Chapter 6, Java Network Programming, 4 rd ed., Elliotte Rusty Harold Pierre Nugues EDA095 HTTP March 30,

More information

TCP/IP Networking An Example

TCP/IP Networking An Example TCP/IP Networking An Example Complexity of networking: an example Review: Layered communication architecture The TCP/IP protocol suite Jörg Liebeherr, 1998,1999 1 A simple TCP/IP Example A user at Cerf

More information

The HTTP Protocol HTTP

The HTTP Protocol HTTP The HTTP Protocol HTTP Copyright (c) 2013 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later

More information