Content'Delivery'Infrastructure' HTTP'Overview' A'Web'Page' Computer Networks. Lecture'9:'HTTP'

Size: px
Start display at page:

Download "Content'Delivery'Infrastructure' HTTP'Overview' A'Web'Page' Computer Networks. Lecture'9:'HTTP'"

Transcription

1 ContentDeliveryInfrastructure Computer Networks Lecture9:HTTP Peer9to9peer(p2p): hybridp2pwithacentralizedserver purep2p hierarchicalp2p end9host(p2p)multicast Content9DistributionNetwork(CDN) HTTPOverview HTTPPerformance HTTPCaching ContentDistributionNetwork AWebPage AwebpageconsistsofabaseHTML9filewhich mayincludereferencestooneormoreobjects anobjectcanbeanhtmlfile,ajpegimage,ajava applet,anaudiofile,aflashvideo,etc. eachobjectisaddressablebyaurl exampleurl: protocol hostname pathname HTTPOverview Web sapplication9layerprotocol client/servermodelusingtcp client:browserthatrequests, receives,and displays Webobjects clientconnectstoserveratport80 HTTPmessagesexchangedbetweenbrowser andwebserver server:sendsobjectsinresponsetorequests TwoversionsofHTTP: HTTP1.0:RFC1945 HTTP1.1:RFC2068 PCrunning Firefox Macrunning Safari Server running Apache Web server

2 HTTPRequestMessage TwotypesofHTTPmessages:request,response HTTPrequestmessage: inascii(human9readableformat) generalformat: GET /somedir/page.html HTTP/1.1 Host: User-agent: Mozilla/4.0 Connection: close Accept-language: fr (extra carriage return, line feed) example Carriagereturn,linefeed indicatesendofmessage MethodTypes(HTTP1.1) GET,POST,HEAD PUT uploadsfileinentitybodytopathspecifiedinurlfield DELETE deletesfilespecifiedintheurlfield Uploadingform,inputalternatives: 1. POSTmethod: webpagesoftenincludeforminput inputisuploadedtoserverinentitybody 2. asparametertogeturlmethod: inputisuploadedinurlfieldofrequestline: inputparameters HTTPResponseMessage:Example HTTPResponse:StatusLine header lines blankline data,e.g., requested HTMLfile HTTP/ OK Connection close Date: Thu, 06 Aug :00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun Content-Length: 6821 Content-Type: text/html data data data data data... firstline:statusline (protocolstatuscode, statusphrase) HTTP9version39digit9response9codeReason9phrase 1XX informational 2XX success 200 OK:requestsucceeded,requestedobjectlaterinthismessage 3XX redirection 301 Moved Permanently:requestedobjectmoved,newlocation specifiedlaterinthismessage( Location: inheader) 303 Moved Temporarily 304 Not Modified 4XX clienterror 400 Bad Request:"requestmessagenotunderstoodbyserver 404 Not Found:requesteddocumentnotfoundonthisserver 5XX servererror 505 HTTP Version Not Supported

3 Client9sideStates:Cookies HTTPis stateless servermaintainsnoinformationaboutpastclientrequests butsometimesitmaybeusefultokeepper9clientstates, forexamplefor: aside authorization Protocolsthatmaintain shoppingcarts state arecomplex! wishlist pasthistory(state)mustbe recommendations maintained usersessionstate(webe9mail) ifserver/clientcrashes,theirviews of state maybeinconsistent,and mustbereconciled StatesoruserIDkeptatclientsideusingcookies User9sideServerState:Cookies Fourcomponents: 1. cookieheaderlineinthehttpresponsemessage 2. cookieheaderlineinhttprequestmessage 3. cookiefilekeptonclienthostandmanagedbyclientbrowser 4. back9enddatabaseatwebserver client Cookie"file" ebay:8734 Cookie"file" amazon:1678 ebay:8734 oneweeklater: Cookie"file" amazon:1678 ebay:8734 usualhttprequestmsg usualhttpresponse+ Set9cookie:1678 usualhttprequestmsg cookie:1678 usualhttpresponsemsg usualhttprequestmsg cookie:1678 usualhttpresponsemsg server createsid 1678foruser cookie9 specific action,e.g., wishlist cookie9 specific action amazonserver Client9sideStates:Cookies Excellentmarketingopportunitiesand concernsforprivacy: cookiespermitsitestolearnalotaboutyou youmayunknowingly"supplypersonalinfotosites searchenginesuseredirectionandcookiestolearn evenmoreaboutyourpreferences advertisingcompaniestracksyourpreferencesand viewinghistoryacrosssites adcompanycontractedwithasocialnetworkingsite, abookstore,andaclothingstore youviewyourfriend stravelphotostohawaiiatthesocialnetworkingsite whenyouvisitthebookstore,atravelbookabouthawaiiispushedtoyou whenyouvisittheclothingstore,aswimminggoggleispushedtoyou atallthreeplacesatravelagency sextra9lowprice,expiringin30seconds, Hawaiivacationpackageispushedtoyou ObjectRequestResponseTime RTT(round9triptime):timefora smallpackettotravel fromclienttoserverandback Responsetime: 1RTTtoinitiateTCPconnection 1RTTforHTTPrequestand thefirstfewbytesofhttp responsetoreturn filetransmissiontime =2RTT+transmittime initiatetcp connection RTT requestfile RTT filereceived time time timeto transmit file

4 HTTP1.0 HTTP1.0usesnon9persistentconnections: atmostoneobjectissentoveratcpconnection objecttransmissioncompletiondetectedbyrecv() returning0(connectionclosed) whyisthisnotagooddesign? Client Server HTTP1.1 HTTP1.1usespersistentconnections: serverleavesconnectionopenaftersendingresponses subsequenthttpmessagesbetweenthesameclient/server tofetchmultipleobjectsaresentoverthesameconnection Client Server 0 RTT ClientopensTCPconnection 1 RTT ClientsendsHTTPrequestfor HTML SYN SYN Serverreadsfromdisk 0 RTT ClientsendsHTTPrequestfor HTML 1 RTT Serverreadsfromdisk ClientparsesHTML ClientopensTCPconnection 2 RTT 3 RTT ClientsendsHTTPrequestfor image Imagebeginstoarrive 4 RTT FIN SYN FIN SYN Serverreadsfromdisk ClientparsesHTML ClientsendsHTTPrequestfor image Imagebeginstoarrive 2 RTT Serverreadsfromdisk HowtoMarkEndofMessage? Content9Lengthinheader Impliedlength,e.g.,304(cachefresh)neverhascontent Transfer9Encoding:chunked(HTTP1.1) afterheaders,eachchunkcomprisescontentlengthinhex, CRLF,thenbody;length0indicatesend9of9chunk HTTP/ OK<CRLF> Transfer-Encoding: chunked<crlf> <CRLF> 25<CRLF> This is the data in the first chunk<crlf> 1A<CRLF> and this is the second one<crlf> 0<CRLF> PipelinedandParallelConnections Persistentwithoutpipelining: clientissuesnewrequestonlywhen previousresponsehasbeenreceived onerttforeachreferencedobject Persistentwithpipelining: clientsendsrequestsassoonasit encountersareferencedobject aslittleasonerttforallreferencedobjects defaultinhttp1.1 BrowserscanopenparallelTCPconnectionstofetch referencedobjects(eveninhttp1.0) 15

5 HTTPModeling AssumeWebpageconsistsof: 1baseHTMLpage(ofsizeLbits) Mimages(eachalsoofsizeLbits) Non9persistentHTTP: M+1TCPconnectionsinseries responsetime= (M+1)*2*RTT + (M+1)*L/µ, µ:pathspeed PersistentHTTP(withpipelining): 2RTTstorequestandreceivebaseHTMLfile 1RTTtorequestandreceiveMimages responsetime = 3*RTT + (M+1)*L/µ HTTPModeling AssumeWebpageconsistsof: 1baseHTMLpage(ofsizeLbits) Mimages(eachalsoofsizeLbits) Non9persistentHTTPwithnparallelconnections supposem/nevenly 1TCPconnectionforbasefile M/nparallelconnectionsforimages n9parallelresponsetime= (M/n + 1)*2*RTT + (M/n+1)*L/µ compare: non9persistentresponsetime= (M+1)*2*RTT + (M+1)*L/µ persistentresponsetime = 3*RTT + (M+1)*L/µ HTTPResponsetime(inseconds) RTT= 100msec,L = 5Kbytes,M = 10,andn = 5 HTTPResponsetime(inseconds) RTT= 1 sec,l = 5Kbytes,M = 10,andn = 5 Forlowbandwidth,transmissiontime dominatesoverconnectionandresponsetime performanceofpersistentconnections comparabletothatofparallelconnections ForlargerRTT,TCPestablishmentandslowstartdelays dominateoverresponsetime persistentconnectionsnowgivesignificantimprovement: particularlyinhighbandwidth delaynetworks

6 HTTP2.0 BasedonGoogle sspdy(2009) RFCtocomeout anydaynow (writtenbythe twoauthorsofspdy) ChromebrowseralreadyhasSPDYbuilt9in LimitationsofHTTP: pipeliningstillsuffersfromhead9of9lineblocking (iffirstitemislarge,theresthastowait) parallelstreamssolvesholblocking,butonbandwidth9 limitedchannel,toomanystreamsclogupthechannel HTTP2.0 Somechangesfrom1.1: headersnolongerintextformat separatecontrolanddataheaders streammultiplexingoverasingletcp connection: eachstreamhasanid,dataistaggedwith streamid eachstreamcanalsohavedifferentpriority serverpush:don thavetowaitforclient toparsepagebeforeinitiatingdownload headercompression Performanceimprovement:upto64% reductioninpageloadtime [Grigorik] VariableDelay WebCaches(ProxyServer) browser cache DNS resolution TCP open Sourcesofvariabilityofdelay 1 st byte response browsercachehit/miss,needforcacherevalidation DNScachehit/miss,multipleDNSservers,errors Lastbyte response TCPhandshake,packetloss,highRTT,serveracceptqueue RTT,busyserver,CPUoverhead(e.g.,CGIscript) responsesize,receivebuffersize,congestion Goal:satisfyclientrequestwithoutinvolvingoriginserver usersetsbrowsertodirectallwebaccessesviacache browsersendsallhttprequeststocache ifobjectisnotcached,cacherequests objectfromoriginserver,then returnsobjecttoclient elsecachereturnsobject cacheactsasbothclientandserver typicallycacheisinstalledbyisp (university,company,residentialisp) mustbetransparent,allowforplug9n9play client client Proxy server origin server

7 WebCachingExample:NoCaching Parameters: averageobjectsize=100,000bits avg.#ofrequeststoservers=15/sec Internetlatencybetweenarouteronthe publicinternetandanyserver=2secs Resultingperformance: utilizationonlan=15% utilizationonaccesslink=100%! institutional network public Internet over9utilizedlinkcauseslongqueue(delayofminutes) totaldelay =Internetdelay+accessdelay+LANdelay =2secs+minutes+milliseconds 1.5Mbps accesslink origin servers 10MbpsLAN WebCachingExample:NoCaching Possiblesolution increaseaccesslinkbandwidthto, say,10mbps(oftenacostlyupgrade) Performance: utilizationonlan=15% utilizationonaccesslink=15% institutional network public Internet totaldelay=internetdelay+accessdelay+landelay =2secs+msecs+msecs 10Mbps accesslink origin servers 10MbpsLAN WebCachingExample:WithCaching Anothersolution:installcache assumehitrateof0.4 Performance: 40%requestswillbesatisfied almostimmediately 60%requestssatisfiedbyoriginserver utilizationofaccesslinkreducedto60%, resultinginnegligibledelays(say10msecs) institutional network public Internet 1.5Mbps accesslink avg.totaldelay =Internetdelay+accessdelay+LANdelay =.6*(2.01)secs+msecs<1.4secs origin servers 10MbpsLAN cache ConditionalGET Goal:don tsendobjectifcachehasup9to9dateversion cache:specifiesdateof cachedcopyinhttprequest If-modified-since: <date> cache server:responsecontains noobjectifcachedcopy isup9to9date: HTTP/ Not Modified MaybeusedwithorwithoutTTL, TTLhardtoset,dependsonsitecontent HTTPrequestmsg If-modified-since: <date> HTTPresponse HTTP/ Not Modified HTTPrequestmsg If-modified-since: <date> HTTPresponse HTTP/ OK <data> server object not modified object modified

8 CooperativeCaching Multiplecachesmayforma distributedcache cse Insteadofgoing directlytoorigin csecache server,acachemayquery oneormoreothercachesforobjectfirst, e.g.,csecachequeriesececachefirst public Internet origin servers Toeliminatefrequentinter9cachequery9reply,each cachemaypushanindexofitscontentstoothercaches, i.e.,ececachetellscsecachealltheobjectsitisholding Frequently,this index isintheformofabloomfilter ece ececache BloomFilter Anefficient,lossywayofdescribingaset,comprising: abitvectoroflengthw afamilyofindependenthashfunctions eachmapsanelementofthesettoanintegerin[0, w) Toinsertanelement: foreachhashfunction,set thebittheelementhashesto Tosearchforanelement: search: insert: search: foreachhashfunction,examinethebittheelementhashesto ifanybitisnotset,theelementisdefinitelynotintheset ifallthebitsareset,theelementmaybeintheset(potential forfalsepositive) BloomFilter Thefalsepositiverateisawell9defined,linear functionof: 1. w, 2. thenumberofhashfunctions,and 3. thenumberofelementsintheset widerfiltersarealwaysmoreaccurate optimaltradeoffbetweenfilterstorageandaccuracy iswhenabouthalfofthebitsareset BloomFiltersalsousefulinmaintainingp2p supernodebackboneanddistributedstoragein datacenternetwork LimitationsofWebCaching Significantfraction(>50%)ofHTTPobjectsare notcacheable Whynot? dynamicdata:stockprices,scores,webcams scripts:resultsbasedonpassedparameters useofcookies:resultsmaybebasedonpasseddata advertising/analytics:ownerwantstomeasure#hits randomstringsincontentensureuniquecounting multimedia:objectlargerthancacheornotallowedtobe cachedduetointellectualpropertyrights Howtoensurescalabilityofwebserverwhen contentisnotcacheable?

9 ContentDistributionNetworks(CDNs) Streaminglargefiles(e.g.,video)from asingleoriginserverinrealtimerequires largeamountofbandwidth Solution:replicatecontenttohundreds ofserversthroughouttheinternet Maintainingyourownnetworkofsuchserversis expensive(bothcapexandopex) originserver inn.america CDNprovidersmaintainanetworkofserversandsell contentreplicationservicetomultiplecontentowners CDNdistribution node exampleofcontentowners:abc,hbo,netflix exampleofcdnproviders:akamai,limelight Akamaihas!~25Kserversspreadover!~1Kclustersworld9wide placeserversinedge/accessnetwork contentpre9downloadedtoservers whenuserdownloadscontent, directusertotheserverclosesttoit placingcontent closeto useravoids networkdelayandlossoflongpaths CDNsvs.ContentOwners CDNserverin S.America CDNserver inasia CDNserver ineurope SampleWebPage(ExampleOnly) home.ex/index.html home.ex/logo.gif CDNreplicatesowners contentincdnservers Whenownerupdatescontent,CDNupdatesservers SomelargecontentownersoperatetheirownCDNs: Amazon,Google/YouTube,Netflix(virtual) Sample Delivery (Example Only) stadium.mp4, tvlogo.mp4 www1.cdi.ex shirtad.gif cdi.ex/stadium.mp4 adserver.ex/shirtad.gif cdi.ex/tvlogo.mp4 Whydon twe storeindex.html andshirtad.gifat thecdnalso? index.html, logo.gif www3.cdi.ex [Frank13] shirtad.gif index.html, logo.gif www2.cdi.ex stadium.mp4, tvlogo.mp4

10 ContentDistributionNetwork CDNnodescreateapplication9 layeroverlaynetwork LargerCDNsmayhave theirownwans,e.g.,google s B4,thatinterconnectwiththe restoftheinternetlikeany otherisp snetwork CDNdirectsarequesttothe serverclosesttotheclient (how?) Tier91Backbones IXPs ISPs CDNs:e.g.,Akamai, Amazon,Google [afterwalrand] AccessAggregators ClientRedirection Twoissues: Howtodirectclientstoaparticularserver? Howtochoosewhichservertodirectaclient? ClientRedirection Howtodirectclientstoaparticularserver? Aspartofapplication:HTTPredirect pros:application9level,fine9grainedcontrol cons:additionalloadandrtts,hardtocache Aspartofnaming:DNS pros:well9suitedtocaching,reducertts cons:reliesonproxiesandestimations,notaccurate DNS9basedRedirection Clientsaredirectedtotheclosestserveraspartof thednsnameresolutionprocess: 1. clientasksitslocaldnsresolvertoresolvecdn s server sname 2. thelocaldnsresolverisdirectedtocdn sauthoritative nameserverbydns 3. CDN snameservereitherreturnstheaddressofserver closesttothednsresolveroranorderedlistof addresses,rankedbydistancetolocaldnsresolver Prosandconsofeach?

11 CDNExample 2 5 originserver 1 4 nearbycdnserver HTTPrequestfor home.ex/index.html contains cdi.ex/stadium.mp4 client slocalnameserver 3 DNSqueryforcdi.ex DNSqueryforcdi.ex CDN sauthoritativednsserver HTTPrequestfor cdi.ex/stadium.mp4 ServerSelection Howtochoosewhichservertodirectaclient? serverload client9serverdistance CDNmaintainsa map,estimatingdistancesbetweenleaf ISPsandCDNnodes CDN snameserveruses map todetermineserverclosestto thelocaldnsresolver DNSresolverusedasproxyforclient inaccuratelocation CDNdoesn tknowclient saddressatnameresolutiontime distancecanbemeasuredusingdifferentmetrics, e.g.,latency,lossrate onlyestimated deliverycost(isppricing)

Protocolo HTTP. Web and HTTP. HTTP overview. HTTP overview

Protocolo HTTP. Web and HTTP. HTTP overview. HTTP overview Web and HTTP Protocolo HTTP Web page consists of objects Object can be HTML file, JPEG image, Java applet, audio file, Web page consists of base HTML-file which includes several referenced objects Each

More information

The Web: some jargon. User agent for Web is called a browser: Web page: Most Web pages consist of: Server for Web is called Web server:

The Web: some jargon. User agent for Web is called a browser: Web page: Most Web pages consist of: Server for Web is called Web server: The Web: some jargon Web page: consists of objects addressed by a URL Most Web pages consist of: base HTML page, and several referenced objects. URL has two components: host name and path name: User agent

More information

Network Technologies

Network Technologies Network Technologies Glenn Strong Department of Computer Science School of Computer Science and Statistics Trinity College, Dublin January 28, 2014 What Happens When Browser Contacts Server I Top view:

More information

HTTP Protocol. Bartosz Walter <[email protected]>

HTTP Protocol. Bartosz Walter <Bartek.Walter@man.poznan.pl> HTTP Protocol Bartosz Walter Agenda Basics Methods Headers Response Codes Cookies Authentication Advanced Features of HTTP 1.1 Internationalization HTTP Basics defined in

More information

The Web History (I) The Web History (II)

The Web History (I) The Web History (II) Goals of Today s Lecture EE 122: The World Wide Web Ion Stoica TAs: Junda Liu, DK Moon, David Zats http://inst.eecs.berkeley.edu/~ee122/ (Materials with thanks to Vern Paxson, Jennifer Rexford, and colleagues

More information

1. When will an IP process drop a datagram? 2. When will an IP process fragment a datagram? 3. When will a TCP process drop a segment?

1. When will an IP process drop a datagram? 2. When will an IP process fragment a datagram? 3. When will a TCP process drop a segment? Questions 1. When will an IP process drop a datagram? 2. When will an IP process fragment a datagram? 3. When will a TCP process drop a segment? 4. When will a TCP process resend a segment? CP476 Internet

More information

The Hyper-Text Transfer Protocol (HTTP)

The Hyper-Text Transfer Protocol (HTTP) The Hyper-Text Transfer Protocol (HTTP) Antonio Carzaniga Faculty of Informatics University of Lugano October 4, 2011 2005 2007 Antonio Carzaniga 1 HTTP message formats Outline HTTP methods Status codes

More information

Application Layer: HTTP and the Web. Srinidhi Varadarajan

Application Layer: HTTP and the Web. Srinidhi Varadarajan Application Layer: HTTP and the Web Srinidhi Varadarajan The Web: the http protocol http: hypertext transfer protocol Web s application layer protocol client/server model client: browser that requests,

More information

CONTENT of this CHAPTER

CONTENT of this CHAPTER CONTENT of this CHAPTER v DNS v HTTP and WWW v EMAIL v SNMP 3.2.1 WWW and HTTP: Basic Concepts With a browser you can request for remote resource (e.g. an HTML file) Web server replies to queries (e.g.

More information

CS640: Introduction to Computer Networks. Applications FTP: The File Transfer Protocol

CS640: Introduction to Computer Networks. Applications FTP: The File Transfer Protocol CS640: Introduction to Computer Networks Aditya Akella Lecture 4 - Application Protocols, Performance Applications FTP: The File Transfer Protocol user at host FTP FTP user client interface local file

More information

Project #2. CSE 123b Communications Software. HTTP Messages. HTTP Basics. HTTP Request. HTTP Request. Spring 2002. Four parts

Project #2. CSE 123b Communications Software. HTTP Messages. HTTP Basics. HTTP Request. HTTP Request. Spring 2002. Four parts CSE 123b Communications Software Spring 2002 Lecture 11: HTTP Stefan Savage Project #2 On the Web page in the next 2 hours Due in two weeks Project reliable transport protocol on top of routing protocol

More information

HTTP. Internet Engineering. Fall 2015. Bahador Bakhshi CE & IT Department, Amirkabir University of Technology

HTTP. Internet Engineering. Fall 2015. Bahador Bakhshi CE & IT Department, Amirkabir University of Technology HTTP Internet Engineering Fall 2015 Bahador Bakhshi CE & IT Department, Amirkabir University of Technology Questions Q1) How do web server and client browser talk to each other? Q1.1) What is the common

More information

Hypertext for Hyper Techs

Hypertext for Hyper Techs Hypertext for Hyper Techs An Introduction to HTTP for SecPros Bio Josh Little, GSEC ~14 years in IT. Support, Server/Storage Admin, Webmaster, Web App Dev, Networking, VoIP, Projects, Security. Currently

More information

Outline Definition of Webserver HTTP Static is no fun Software SSL. Webserver. in a nutshell. Sebastian Hollizeck. June, the 4 th 2013

Outline Definition of Webserver HTTP Static is no fun Software SSL. Webserver. in a nutshell. Sebastian Hollizeck. June, the 4 th 2013 Definition of in a nutshell June, the 4 th 2013 Definition of Definition of Just another definition So what is it now? Example CGI php comparison log-file Definition of a formal definition Aisaprogramthat,usingthe

More information

reference: HTTP: The Definitive Guide by David Gourley and Brian Totty (O Reilly, 2002)

reference: HTTP: The Definitive Guide by David Gourley and Brian Totty (O Reilly, 2002) 1 cse879-03 2010-03-29 17:23 Kyung-Goo Doh Chapter 3. Web Application Technologies reference: HTTP: The Definitive Guide by David Gourley and Brian Totty (O Reilly, 2002) 1. The HTTP Protocol. HTTP = HyperText

More information

No. Time Source Destination Protocol Info 1190 131.859385 128.238.245.34 128.119.245.12 HTTP GET /ethereal-labs/http-ethereal-file1.html HTTP/1.

No. Time Source Destination Protocol Info 1190 131.859385 128.238.245.34 128.119.245.12 HTTP GET /ethereal-labs/http-ethereal-file1.html HTTP/1. Ethereal Lab: HTTP 1. The Basic HTTP GET/response interaction 1190 131.859385 128.238.245.34 128.119.245.12 HTTP GET /ethereal-labs/http-ethereal-file1.html HTTP/1.1 GET /ethereal-labs/http-ethereal-file1.html

More information

By Bardia, Patit, and Rozheh

By Bardia, Patit, and Rozheh HTTP By Bardia, Patit, and Rozheh HTTP - Introduction - Hyper Text Transfer Protocol -uses the TCP/IP technology -has had the most impact on the World Wide Web (WWW) - specs in RFC 2616 (RFC2616) HTTP

More information

HTTP Response Splitting

HTTP Response Splitting The Attack HTTP Response Splitting is a protocol manipulation attack, similar to Parameter Tampering The attack is valid only for applications that use HTTP to exchange data Works just as well with HTTPS

More information

World Wide Web. Before WWW

World Wide Web. Before WWW World Wide Web [email protected] Before WWW Major search tools: Gopher and Archie Archie Search FTP archives indexes Filename based queries Gopher Friendly interface Menu driven queries João Neves 2

More information

Internet Technologies Internet Protocols and Services

Internet Technologies Internet Protocols and Services QAFQAZ UNIVERSITY Computer Engineering Department Internet Technologies Internet Protocols and Services Dr. Abzetdin ADAMOV Chair of Computer Engineering Department [email protected] http://ce.qu.edu.az/~aadamov

More information

Data Communication I

Data Communication I Data Communication I Urban Bilstrup (E327) 090901 [email protected] www2.hh.se/staff/urban Internet - Sweden, Northern Europe SUNET NORDUnet 2 Internet - Internet Addresses Everyone should be able

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

TCP/IP Networking An Example

TCP/IP Networking An Example TCP/IP Networking An Example Introductory material. This module illustrates the interactions of the protocols of the TCP/IP protocol suite with the help of an example. The example intents to motivate the

More information

CloudOYE CDN USER MANUAL

CloudOYE CDN USER MANUAL CloudOYE CDN USER MANUAL Password - Based Access Logon to http://mycloud.cloudoye.com. Enter your Username & Password In case, you have forgotten your password, click Forgot your password to request a

More information

Review of Networking Basics. Yao Wang Polytechnic University, Brooklyn, NY11201 [email protected]

Review of Networking Basics. Yao Wang Polytechnic University, Brooklyn, NY11201 yao@vision.poly.edu Review of Networking Basics Yao Wang Polytechnic University, Brooklyn, NY11201 [email protected] These slides are extracted from the slides made by authors of the book (J. F. Kurose and K. Ross), available

More information

Internet Technologies. World Wide Web (WWW) Proxy Server Network Address Translator (NAT)

Internet Technologies. World Wide Web (WWW) Proxy Server Network Address Translator (NAT) Internet Technologies World Wide Web (WWW) Proxy Server Network Address Translator (NAT) What is WWW? System of interlinked Hypertext documents Text, Images, Videos, and other multimedia documents navigate

More information

CTIS 256 Web Technologies II. Week # 1 Serkan GENÇ

CTIS 256 Web Technologies II. Week # 1 Serkan GENÇ CTIS 256 Web Technologies II Week # 1 Serkan GENÇ Introduction Aim: to be able to develop web-based applications using PHP (programming language) and mysql(dbms). Internet is a huge network structure connecting

More information

Chapter 27 Hypertext Transfer Protocol

Chapter 27 Hypertext Transfer Protocol Chapter 27 Hypertext Transfer Protocol Columbus, OH 43210 [email protected] http://www.cis.ohio-state.edu/~jain/ 27-1 Overview Hypertext language and protocol HTTP messages Browser architecture CGI

More information

Internet Technologies 4-http. F. Ricci 2010/2011

Internet Technologies 4-http. F. Ricci 2010/2011 Internet Technologies 4-http F. Ricci 2010/2011 Content Hypertext Transfer Protocol Structure of a message Methods Headers Parameters and character encoding Proxy Caching HTTP 1.1: chunked transfer and

More information

HTTP Caching & Cache-Busting for Content Publishers

HTTP Caching & Cache-Busting for Content Publishers HTTP Caching & Cache-Busting for Content Publishers Michael J. Radwin http://public.yahoo.com/~radwin/ OSCON 2005 Thursday, August 4th, 2005 1 1 Agenda HTTP in 3 minutes Caching concepts Hit, Miss, Revalidation

More information

Architecture of So-ware Systems HTTP Protocol. Mar8n Rehák

Architecture of So-ware Systems HTTP Protocol. Mar8n Rehák Architecture of So-ware Systems HTTP Protocol Mar8n Rehák HTTP Protocol Hypertext Transfer Protocol Designed to transfer hypertext informa8on over the computer networks Hypertext: Structured text with

More information

loss-tolerant and time sensitive loss-intolerant and time sensitive loss-intolerant and time insensitive

loss-tolerant and time sensitive loss-intolerant and time sensitive loss-intolerant and time insensitive CS326e Quiz 5 The first correct 10 answers will be worth 1 point each. Each subsequent correct answer will be worth 0.2 points. Circle the correct answer. UTEID The transfer of an html file from one host

More information

URLs and HTTP. ICW Lecture 10 Tom Chothia

URLs and HTTP. ICW Lecture 10 Tom Chothia URLs and HTTP ICW Lecture 10 Tom Chothia This Lecture The two basic building blocks of the web: URLs: Uniform Resource Locators HTTP: HyperText Transfer Protocol Uniform Resource Locators Many Internet

More information

Lektion 2: Web als Graph / Web als System

Lektion 2: Web als Graph / Web als System Lektion 2: Web als Graph / Web als System Helmar Burkhart Informatik Universität Basel Helmar.Burkhart@... WT-2-1 Lernziele und Inhalt Web als Graph erkennen Grundelemente von sozialen Netzwerken sehen

More information

1 Introduction: Network Applications

1 Introduction: Network Applications 1 Introduction: Network Applications Some Network Apps E-mail Web Instant messaging Remote login P2P file sharing Multi-user network games Streaming stored video clips Internet telephone Real-time video

More information

Information Extraction Art of Testing Network Peripheral Devices

Information Extraction Art of Testing Network Peripheral Devices OWASP AppSec Brazil 2010, Campinas, SP The OWASP Foundation http://www.owasp.org Information Extraction Art of Testing Network Peripheral Devices Aditya K Sood, SecNiche Security ([email protected])

More information

Application layer Web 2.0

Application layer Web 2.0 Information Network I Application layer Web 2.0 Youki Kadobayashi NAIST They re revolving around the web, after all Name any Internet-related buzz: Cloud computing Smartphone Social media... You ll end

More information

The HTTP protocol (HyperText Transfer Protocol) Short history of HTTP. The HTTP 1.0 protocol. 07/07/2011(dec'09)

The HTTP protocol (HyperText Transfer Protocol) Short history of HTTP. The HTTP 1.0 protocol. 07/07/2011(dec'09) The HTTP protocol (HyperText Transfer Protocol) Antonio Lioy < [email protected] it > english version created by Marco D. Aime < [email protected] > Politecnico di Torino Dip. Automatica e Informatica Short

More information

Evolution of the WWW. Communication in the WWW. WWW, HTML, URL and HTTP. HTTP Abstract Message Format. The Client/Server model is used:

Evolution of the WWW. Communication in the WWW. WWW, HTML, URL and HTTP. HTTP Abstract Message Format. The Client/Server model is used: Evolution of the WWW Communication in the WWW World Wide Web (WWW) Access to linked documents, which are distributed over several computers in the History of the WWW Origin 1989 in the nuclear research

More information

Security-Assessment.com White Paper Leveraging XSRF with Apache Web Server Compatibility with older browser feature and Java Applet

Security-Assessment.com White Paper Leveraging XSRF with Apache Web Server Compatibility with older browser feature and Java Applet Security-Assessment.com White Paper Leveraging XSRF with Apache Web Server Compatibility with older browser feature and Java Applet Prepared by: Roberto Suggi Liverani Senior Security Consultant Security-Assessment.com

More information

GET /FB/index.html HTTP/1.1 Host: lmi32.cnam.fr

GET /FB/index.html HTTP/1.1 Host: lmi32.cnam.fr GET /FB/index.html HTTP/1.1 Host: lmi32.cnam.fr HTTP/1.1 200 OK Date: Thu, 20 Oct 2005 14:42:54 GMT Server: Apache/2.0.50 (Linux/SUSE) Last-Modified: Thu, 20 Oct 2005 14:41:56 GMT ETag: "2d7b4-14b-8efd9500"

More information

Module 45 (More Web Hacking)

Module 45 (More Web Hacking) (More Web Hacking) In this Module, you'll lear how to use netcat to perform cursory server reconnaissance. You'll lear what a web proxy is and how it functions. You'll know how to enable your browser to

More information

THE PROXY SERVER 1 1 PURPOSE 3 2 USAGE EXAMPLES 4 3 STARTING THE PROXY SERVER 5 4 READING THE LOG 6

THE PROXY SERVER 1 1 PURPOSE 3 2 USAGE EXAMPLES 4 3 STARTING THE PROXY SERVER 5 4 READING THE LOG 6 The Proxy Server THE PROXY SERVER 1 1 PURPOSE 3 2 USAGE EXAMPLES 4 3 STARTING THE PROXY SERVER 5 4 READING THE LOG 6 2 1 Purpose The proxy server acts as an intermediate server that relays requests between

More information

WWW. World Wide Web Aka The Internet. dr. C. P. J. Koymans. Informatics Institute Universiteit van Amsterdam. November 30, 2007

WWW. World Wide Web Aka The Internet. dr. C. P. J. Koymans. Informatics Institute Universiteit van Amsterdam. November 30, 2007 WWW World Wide Web Aka The Internet dr. C. P. J. Koymans Informatics Institute Universiteit van Amsterdam November 30, 2007 dr. C. P. J. Koymans (UvA) WWW November 30, 2007 1 / 36 WWW history (1) 1968

More information

Layer 7 Load Balancing and Content Customization

Layer 7 Load Balancing and Content Customization C H A P T E R 4 Layer 7 Load Balancing and Content Customization This chapter will discuss the methods and protocols involved in accomplishing a Layer 7 load-balancing solution. The reasons for and benefits

More information

WHAT IS A WEB SERVER?

WHAT IS A WEB SERVER? 4663ch01.qxd_lb 12/2/99 12:54 PM Page 1 CHAPTER 1 WHAT IS A WEB SERVER? Never trust a computer you can t throw out a window. Steve Wozniak CHAPTER OBJECTIVES In this chapter you will learn about: Client/Server

More information

Domain Name System (DNS)

Domain Name System (DNS) Application Layer Domain Name System Domain Name System (DNS) Problem Want to go to www.google.com, but don t know the IP address Solution DNS queries Name Servers to get correct IP address Essentially

More information

Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture #3 2008 3 Apache.

Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture #3 2008 3 Apache. JSP, and JSP, and JSP, and 1 2 Lecture #3 2008 3 JSP, and JSP, and Markup & presentation (HTML, XHTML, CSS etc) Data storage & access (JDBC, XML etc) Network & application protocols (, etc) Programming

More information

CIS 551 / TCOM 401 Computer and Network Security. Spring 2007 Lecture 20

CIS 551 / TCOM 401 Computer and Network Security. Spring 2007 Lecture 20 CIS 551 / TCOM 401 Computer and Network Security Spring 2007 Lecture 20 Announcements Reminder: Project 3 is available on the web pages Due: April 3rd Midterm II has been graded Today: Web Security [Some

More information

Modern Web Development From Angle Brackets to Web Sockets

Modern Web Development From Angle Brackets to Web Sockets Modern Web Development From Angle Brackets to Web Sockets Pete Snyder Outline (or, what am i going to be going on about ) 1.What is the Web? 2.Why the web matters 3.What s unique about

More information

Web Services April 21st, 2009 with Hunter Pitelka

Web Services April 21st, 2009 with Hunter Pitelka 15 213 The course that gives CMU its Zip! Web Services April 21st, 2009 with Hunter Pitelka Topics HTTP Serving static content Serving dynamic content Web History 1989: 1990: Tim Berners Lee (CERN) writes

More information

Demystifying cache. Kristian Lyngstøl Product Specialist Varnish Software AS

Demystifying cache. Kristian Lyngstøl Product Specialist Varnish Software AS Demystifying cache Kristian Lyngstøl Product Specialist Varnish Software AS Montreal, March 2013 Agenda - The types of caches involved - The benefits of a cache - HTTP - Reverse proxy specifics Not: L1/L2

More information

Computer Networking LAB 2 HTTP

Computer Networking LAB 2 HTTP Computer Networking LAB 2 HTTP 1 OBJECTIVES The basic GET/response interaction HTTP message formats Retrieving large HTML files Retrieving HTML files with embedded objects HTTP authentication and security

More information

International Journal of Engineering & Technology IJET-IJENS Vol:14 No:06 44

International Journal of Engineering & Technology IJET-IJENS Vol:14 No:06 44 International Journal of Engineering & Technology IJET-IJENS Vol:14 No:06 44 Data Traffic and Security over Internet via Monitoring and Analyzing the HTTP Protocol Ezmolda Barolli, Loren Nebiaj, Gloria

More information

Computer Networks. Lecture 7: Application layer: FTP and HTTP. Marcin Bieńkowski. Institute of Computer Science University of Wrocław

Computer Networks. Lecture 7: Application layer: FTP and HTTP. Marcin Bieńkowski. Institute of Computer Science University of Wrocław Computer Networks Lecture 7: Application layer: FTP and Marcin Bieńkowski Institute of Computer Science University of Wrocław Computer networks (II UWr) Lecture 7 1 / 23 Reminder: Internet reference model

More information

Remote System Monitor for Linux [RSML]: A Perspective

Remote System Monitor for Linux [RSML]: A Perspective Volume No-1, Issue No-4, September, 2013 Remote System Monitor for Linux [RSML]: A Perspective Yashwant Singh Department of Computer Science & Engineering Jaypee University of Information Technology Solan,

More information

Cookies Overview and HTTP Proxies

Cookies Overview and HTTP Proxies Cookies Overview and HTTP Proxies What is a Cookie? Small piece of data generated by a web server, stored on the client s hard drive. Serves as an add-on to the HTTP specification (remember, HTTP by itself

More information

The Application Layer. CS158a Chris Pollett May 9, 2007.

The Application Layer. CS158a Chris Pollett May 9, 2007. The Application Layer CS158a Chris Pollett May 9, 2007. Outline DNS E-mail More on HTTP The Domain Name System (DNS) To refer to a process on the internet we need to give an IP address and a port. These

More information

Instructor: Betty O Neil

Instructor: Betty O Neil Introduction to Web Application Development, for CS437/637 Instructor: Betty O Neil 1 Introduction: Internet vs. World Wide Web Internet is an interconnected network of thousands of networks and millions

More information

Cyber Security Workshop Ethical Web Hacking

Cyber Security Workshop Ethical Web Hacking Cyber Security Workshop Ethical Web Hacking May 2015 Setting up WebGoat and Burp Suite Hacking Challenges in WebGoat Concepts in Web Technologies and Ethical Hacking 1 P a g e Downloading WebGoat and Burp

More information

Table of Contents. Open-Xchange Authentication & Session Handling. 1.Introduction...3

Table of Contents. Open-Xchange Authentication & Session Handling. 1.Introduction...3 Open-Xchange Authentication & Session Handling Table of Contents 1.Introduction...3 2.System overview/implementation...4 2.1.Overview... 4 2.1.1.Access to IMAP back end services...4 2.1.2.Basic Implementation

More information

COS 461: Computer Networks

COS 461: Computer Networks COS 461: Computer Networks Spring 2011 Lectures: MW 10 10:50am in Bowen 222 Prof. Mike Freedman Precepts: F 10 10:50am, 11 11:50am Preceptors: Matvey Arye, Jacopo Cesareo, Prem Gopalan hnp://www.cs.princeton.edu/courses/archive/spr11/cos461/

More information

Varnish Tips & Tricks, 2015 edition

Varnish Tips & Tricks, 2015 edition Varnish Tips & Tricks, 2015 edition ConFoo 2015 Montreal, Canada Magnus Hagander [email protected] PRODUCTS CONSULTING APPLICATION MANAGEMENT IT OPERATIONS SUPPORT TRAINING Magnus Hagander Redpill Linpro

More information

CS 5480/6480: Computer Networks Spring 2012 Homework 1 Solutions Due by 9:00 AM MT on January 31 st 2012

CS 5480/6480: Computer Networks Spring 2012 Homework 1 Solutions Due by 9:00 AM MT on January 31 st 2012 CS 5480/6480: Computer Networks Spring 2012 Homework 1 Solutions Due by 9:00 AM MT on January 31 st 2012 Important: No cheating will be tolerated. No extension. CS 5480 total points = 32 CS 6480 total

More information

Communicating Applications

Communicating Applications Communicating Applications Network Applications The raison d'être of computer networks Innovation happens in the application layer There is always a killer application Remote login -> Email -> Web -> P2P

More information

Ethical Hacking as a Professional Penetration Testing Technique

Ethical Hacking as a Professional Penetration Testing Technique Ethical Hacking as a Professional Penetration Testing Technique Rochester ISSA Chapter Rochester OWASP Chapter - Durkee Consulting, Inc. [email protected] 2 Background Founder of Durkee Consulting since 1996

More information

Sticky Session Setup and Troubleshooting

Sticky Session Setup and Troubleshooting 1 Sticky Session Setup and Troubleshooting Day, Date, 2004 time p.m. ET Teleconference Access: US & Canada: 888-259-4812 Teleconference Access: North America: xxxx Toll Number: 706-679-4880 International:

More information

All You Can Eat Realtime

All You Can Eat Realtime HTML5 WebSocket: All You Can Eat Realtime By Peter Lubbers, Kaazing May 14, 2010 1 About Peter Lubbers Director of Documentation and Training, Kaazing Co-Founder San Francisco HTML5 User Group http://www.sfhtml5.org/

More information

Arnaud Becart ip- label 11/9/11

Arnaud Becart ip- label 11/9/11 Arnaud Becart ip- label 11/9/11 RUM Synthe2c Tests You should measure HTML and RIA (Flash ) Page Rendering Onload + Full Page Load InteracBons in your page Third Party content How Synthe2c / Real browsers

More information

Using TestLogServer for Web Security Troubleshooting

Using TestLogServer for Web Security Troubleshooting Using TestLogServer for Web Security Troubleshooting Topic 50330 TestLogServer Web Security Solutions Version 7.7, Updated 19-Sept- 2013 A command-line utility called TestLogServer is included as part

More information

CDN Operation Manual

CDN Operation Manual NTT Communications Cloudⁿ CDN Operation Manual Ver.1.1 Please refrain from secondary use such as distributing, reproducing, and transferring this document. 1 Version Number Edited on Revisions Ver.1.0

More information

HOST EUROPE CLOUD STORAGE REST API DEVELOPER REFERENCE

HOST EUROPE CLOUD STORAGE REST API DEVELOPER REFERENCE HOST EUROPE CLOUD STORAGE REST API DEVELOPER REFERENCE REST API REFERENCE REST OVERVIEW Host Europe REST Storage Service uses HTTP protocol as defned by RFC 2616. REST operations consist in sending HTTP

More information

Research of Web Real-Time Communication Based on Web Socket

Research of Web Real-Time Communication Based on Web Socket Int. J. Communications, Network and System Sciences, 2012, 5, 797-801 http://dx.doi.org/10.4236/ijcns.2012.512083 Published Online December 2012 (http://www.scirp.org/journal/ijcns) Research of Web Real-Time

More information

Chapter 2: Interactive Web Applications

Chapter 2: Interactive Web Applications Chapter 2: Interactive Web Applications 2.1 Interactivity and Multimedia in the WWW architecture 2.2 Interactive Client-Side Scripting for Multimedia (Example HTML5/JavaScript) 2.3 Interactive Server-Side

More information

Security Testing is performed to reveal security flaws in the system in order to protect data and maintain functionality.

Security Testing is performed to reveal security flaws in the system in order to protect data and maintain functionality. i About the Tutorial Security Testing is performed to reveal security flaws in the system in order to protect data and maintain functionality. This tutorial explains the core concepts of Security Testing

More information

Evolution of the WWW. Communication in the WWW. WWW, HTML, URL and HTTP. HTTP - Message Format. The Client/Server model is used:

Evolution of the WWW. Communication in the WWW. WWW, HTML, URL and HTTP. HTTP - Message Format. The Client/Server model is used: Evolution of the WWW Communication in the WWW World Wide Web (WWW) Access to linked documents, which are distributed over several computers in the History of the WWW Origin 1989 in the nuclear research

More information

Apache Server Implementation Guide

Apache Server Implementation Guide Apache Server Implementation Guide 340 March Road Suite 600 Kanata, Ontario, Canada K2K 2E4 Tel: +1-613-599-2441 Fax: +1-613-599-2442 International Voice: +1-613-599-2441 North America Toll Free: 1-800-307-7042

More information

HTTP Authentication. RFC 2617 obsoletes RFC 2069

HTTP Authentication. RFC 2617 obsoletes RFC 2069 HTTP Authentication RFC 2617 obsoletes RFC 2069 Agenda Positioning Basic Access Authentication Digest Access Authentication Proxy-Authentication and Proxy- Authorization Security Considerations Internet

More information

Load-balancing web servers presented at AAU by Peter Dolog, Fall 2009, lecture 5, Web Engineering

Load-balancing web servers presented at AAU by Peter Dolog, Fall 2009, lecture 5, Web Engineering Load-balancing web servers presented at AAU by Peter Dolog, Fall 2009, lecture 5, Web Engineering Scalable Internet Services, Fall 2006 Thorsten von Eicken Department of Computer Science University of

More information

Web Application Security

Web Application Security Web Application Security The OWASP Foundation Securing the application Input validation Authorization Session mgmt Config mgmt Authenticatio n Error handling Web server App server DB server Secure storage

More information

Alteon Browser-Smart Load Balancing

Alteon Browser-Smart Load Balancing T e c h n i c a l T i p TT-0411405a -- Information -- 24-Nov-2004 Contents: Introduction:...1 Associated Products:...1 Overview...1 Sample Configuration...3 Setup...3 Configuring PC1...4 Configuring PC2...4

More information

DDoS Protecion Total AnnihilationD. DDoS Mitigation Lab

DDoS Protecion Total AnnihilationD. DDoS Mitigation Lab DDoS Protecion Total AnnihilationD A Industry body formed to foster synergy among stakeholders to promote advancement in DDoS defense knowledge. Independent academic R&D division of Nexusguard building

More information

Introduction to Computer Security

Introduction to Computer Security Introduction to Computer Security Web Application Security Pavel Laskov Wilhelm Schickard Institute for Computer Science Modern threat landscape The majority of modern vulnerabilities are found in web

More information

CMPE 80N: Introduction to Networking and the Internet

CMPE 80N: Introduction to Networking and the Internet CMPE 80N: Introduction to Networking and the Internet Katia Obraczka Computer Engineering UCSC Baskin Engineering Lecture 10 CMPE 80N Fall'10 1 Announcements Forum assignment #2 posted. Due Nov. 5 th.

More information

Vodia PBX RESTful API (v2.0)

Vodia PBX RESTful API (v2.0) Vodia PBX RESTful API (v2.0) 2015 Vodia Networks Inc. All rights reserved. Page 1 of 30 Contents Login... 3 Get license info... 4 Get a complete list of domains... 5 Get the details of a specific domain...

More information

Web applications. Web security: web basics. HTTP requests. URLs. GET request. Myrto Arapinis School of Informatics University of Edinburgh

Web applications. Web security: web basics. HTTP requests. URLs. GET request. Myrto Arapinis School of Informatics University of Edinburgh Web applications Web security: web basics Myrto Arapinis School of Informatics University of Edinburgh HTTP March 19, 2015 Client Server Database (HTML, JavaScript) (PHP) (SQL) 1 / 24 2 / 24 URLs HTTP

More information

CS 188/219. Scalable Internet Services Andrew Mutz October 8, 2015

CS 188/219. Scalable Internet Services Andrew Mutz October 8, 2015 CS 188/219 Scalable Internet Services Andrew Mutz October 8, 2015 For Today About PTEs Empty spots were given out If more spots open up, I will issue more PTEs You must have a group by today. More detail

More information