`
`I nstitut fur Informations/ererbeitung und Computergatutzte neue Medien
`
`The World-WideWeb Gateway to Hyper-G:
`Using a Connectionless Protocol to Access
`Session-Oriented Services
`
`Christian Dede‘
`
`Gutachter: O.Univ.-Prof. Dr.phiI. Dr.h.c. Hermann Meurer
`
`Betreuer: Dipl.-lng. Dr.tedIn. Frawk Kaape
`
`Graz, imMé21995
`
`MAC002662
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 1
`
`
`
`Abstract
`
`In thisthesis, posébilitiesae studied how session-oriented sewioeson the Internet can be
`
`made bleto users of dient progranstha useaoonnedionlessepplicaiorrlevel
`
`protocol .
`
`The concepts and propetti is of two Hypermedia I nfomiati on Systems, the World-V\fi de Web
`(\/\lV\NV)..aJd.Hyper—.G. aradeacri bed and a ogmpaism mt1~e_er1.thes_e tiug s_3zs_t_e_n3s i§.giyq1.
`A gateway program was devel oped which is used as a protocol oonvener between the sessi on
`
`oriented Hyper-G client-server protoool aid the oonnectionles Hypertext Transfer Protocol
`
`(HTTP). A meohanisn was implemented that dlows to cfifferentiae HTTP requests aid to
`mgn them to Hyper-G sessions The gate/vay provides users of World-\Mde Web clients
`with sess'on-oriented aooesto information res ding on Hyper—G servers
`
`MAC002663
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 2
`
`
`
`Table of Contents
`
`1. Introduction ............................................................................................................. ..1
`
`2. The World—Wide Web ............................................................................................. ..3
`
`2.1. History ........................................................................................................ ..3
`2.2. Architecture ................................................................................................ ..4
`
`2.3. Uniform Resource Locztor (URL) ............................................................... ..5
`
`2.3.1. Syntax .......................................................................................... ..6
`2.3.2. The HTTP Scheme ....................................................................... ..7
`
`2.3.3. Encoding of Prohibited Characters................................................ ..8
`
`2.3.4. Security Conéderaions ................................................................ ..8
`
`2.4. Hypertext Transfer Protocol (HTTP) ........................................................... ..9
`
`2.4.1. Request ......................................................................................... ..10
`2.4.1.1. Methods ......................................................................... ..11
`
`2.4.1.2. Headers .......................................................................... ..12
`
`........................................... ..14
`2.4.2. Response........ ..7............. ... ..........
`2.4.2.1. Stausline....................................................................... ..14
`
`2.4.2.2. Headers .......................................................................... ..17
`
`2.4.3. Considerations about Log lnformaion .......................................... .. 19
`
`2.5. Hypertext Markup La1guage(HTM L) ........................................................ .. 19
`
`2.5.1. Spedficaion Levels...................................................................... ..20
`
`2.5.2. Generd wntax ............................................................................. ..21
`2.5.3. Elements ....................................................................................... ..22
`
`2.5.3.1. Elementswithin the HEAD Element .............................. ..22
`
`2.5.3.2. Andwors.......................................................................... ..23
`
`2.5.3.3. Headings‘. ....................................................................... ..23
`
`2.5.3.4. Character Highlighting ................................................... ..23
`
`2.5.3.5. Paragraphs...................................................................... ..24
`2.5.3.6. Lists ............................................................................... ..24
`
`2.5.3.7. Other Formatting Styles ................................................. ..25
`
`2.5.3.8. lnline Images.................................................................. ..25
`2.5.4. Fill-Out Forms.............................................................................. ..26
`
`2.5.5. HTML 3.0 .................................................................................... ..29
`
`2.6. Future Developments .................................................................................. ..30
`
`MACO02664
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 3
`
`
`
`3. Hyper-G ................................................................................................................... ..31
`
`3.1. Design Concepts ......................................................................................... ..31
`
`3.2. Daa Orgenizaion ....................................................................................... ..32
`
`3.2.1. Collection Hierarchy versus Hypertext .......................................... ..32
`3.2.2. Document Clusters........................................................................ ..33
`
`3.2.3. Link MZTQGITIHII ......................................................................... ..34
`3.3. Faures ...................................................................................................... ..34
`
`3.3.1. Seaoh Facilities............................................................................ ..34
`
`3.3.2. Navigation .................................................................................... ..35
`3.3.3. Identifimion Modes and Aooess Rights........................................ ..35
`
`3.3.4. lnteroperaaility with other Information Systems ........................... ..36
`3.3.5. Document Cache........................................................................... ..37
`
`3.4. Applications................................................................................................ ..38
`3.5. Comperi son between Hyper-G and
`......................................:.;-.:‘.....39
`
`..... .. .......................... ..43
`4. Implementation of the Gateway .........................................
`"
`4.1. God ............................................................................................................ ..43
`4.2. Basic Concept ............................................................................................. ..45
`
`4.2.1. Providing Connectionoriented Aooees with a Connectionless
`Protoool .................................................................................................. ..45
`
`4.2.2. Padlel P_rooesa'ng of Requests..................................................... ..48
`4.2.3. Process Model .............................................................................. ..49
`
`4.2.4. Differentiaion of Users ................................................................ . .55
`
`4.2.5. URL Formation ............................................................................ ..58
`
`4.3. Comparison with an Altemaive Concept .................................................... ..61
`
`.................... ..63
`4.4. Structure aid Functiond ity of the Program ......................
`4.4.1. The Main Module ...................................................... ..'................. ..e3
`4.4.2. The CI as \/WVWSI ave.................................................................. ..64
`
`4.4.3. irnplementation Details ................................................................. ..66
`
`4.5. The User's View of the Gateway ................................................................. ..67
`
`4.5.1. Entry Page .................................................................................... ..68
`4.5.2. Menu Line .................................................................................... ..69
`
`4.5.3. Collection Lists............................................................................. ..71
`
`4.5.4. Documents.................................................................................... ..72
`
`4.5.5. Searching ...................................................................................... ..73
`
`4.5.6. Options Menu ............................................................................... ..76
`4.5.6.1. User Identification .......................................................... ..76.
`
`MACOO2665
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 4
`
`
`
`4.5.6.2. Status ............................................................................. ..77
`
`4.5.6.3. Preferred Laiguage ......... ... ............................................ ..78
`
`4.5.6.4. Display Setting ............................................................... ..78
`
`4.5.7. Online Help .................................................................................. ..79
`4.6. Customization ............................................................................................. ..79
`
`4.6.1. Useof Filesfor Building the User Interface .................................. ..79
`
`4.6.1.1. Specification of Place Holders........................................ ..80
`
`4.6.1.2. Desrription of Files ..... .. ................................................. ..83
`
`4.6.2. Gateway Commands ..................................................................... ..87
`
`4.6.3. Commandl ineparaneters and Environmentvaidnles ..................... ..90
`
`4.7. Proxy Gaeway Support .............................................................................. ..93
`
`4.7.1. Proxy Server Concept ................................................................... ..93
`
`4.7.2. Using theVWVW Gae/vay asa Proxy Gaaivay ............................ ..94
`
`Bibliography ................................................................................................................ ..97
`
`MACO02666
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 5
`
`
`
`1. Introduction
`
`As public interest for a gl obd information infrastructure currently ina tremendously,
`
`modern hypermedia informai on systems are beoonii ng more aid more important on
`
`internaiona informal on networks. At the moment, there are different systems at ready in
`
`wide use but also under development. Interoperability is therefore one of the key iwies
`
`in fact, different informaion systems, at based on the dient-sewer pn'ncipie,~ usudly differ in
`
`the applicaion—levet protooolswhich they use for communication between clients and
`
`servers Aslong as this is only limited to diverse naiii rig conventions aid other "rninor“
`
`differences oonvers‘ on between two protooois cai easily be paformed.
`
`A problem arises, however, if one system uses a oonnecti onleas and totally stateless dient-
`
`server protocol and the other system is based on a oonnecti orioriented protocol that ma'nta' ns
`
`a_ state
`
`oonsecuti v_e transections_This i s the casewith the two hypamedi a
`
`infomiati on wstems World-Wide Web aid Hyper-G. Moreover, there ae feaurestha are
`
`only sipported by one of these systems
`
`Therna'n god of thisthesisisto study possbilities how aoonnection-oriented aocesto a
`
`Hyper-G sever c:ai be provided for usersof \/WV\N clients
`
`The approach tekei for this project was to build a gate/vay that cai be seen as a \/\NV\N server
`
`from the VWV\N client's view aid as a Hyper-G client from the Hyper-G servers vie/v. I n
`
`fact, the gaeway progran is a oomplete V\NVW save‘ since it meets two requirements
`
`-
`
`-
`
`It ta ks the client-server protocol used by the VWVW when communicating with dieits.
`
`It is ableto provide documents in formats used by the VWVW.
`
`The difference to a usua V\NVW sever is tha the gateway does not retrieve resources from a
`
`si mplefile system, but has a Hyper-G server as its back-erid daaiase.
`
`The gateivay is designed to work as a normd Hyper-G olient whidi uses a oonnedion-
`
`oriented dient-sen/er protocol and nia'nta' ns ai individua session for each user of a WWW
`
`client. For this purpose, a oonoept wa devel oped tha dlows to distinguish requests from
`
`different V\NV\N clients aid to gn them to already opened Hyper-G sefions
`
`The fact that the gateway has now been in use with every Hyper-G server for sometime may
`
`be seen as ai indicztion that the project was a s.icoess‘u| attempt to irmrove interoperability
`
`between Hyper-G aid the Worl d-Vifi de Web.
`
`MACO02667
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 6
`
`
`
`In chaater 2 of thisthesis an overview of the Worid-WIdeWeb project isgiven be‘ore the
`
`three key concepts of the V\NV\N, the Hypertext trmsfer protocol, Uniform Resource
`
`Locaors, awd the Hypertext Ma‘kup Language are dealt with in some more detail.
`
`Chapter 3 descri bes Hyper-G, its concepts features and qaplicaions. At the end of this
`diapter, a comparison between Hyper-G aid the VWVW is drawn as differences md
`
`s'miIa1'tieshave an important impact on thedesign of the gateway.
`
`Findly, the implementaion of the gae/vay progran is described in chapter 4. The god of the
`
`project and the concepts developed ae explained in deta'|. After the structure and the
`
`functiond ity of the program is shown, a deta'ied dam‘ ption for users of the gateway is given.
`
`A sepaate section dedswith posbilities of progran customization. Last but not least, ways
`
`how to use the gateway together with the Hyper-G document came as a proxy server ae
`discussed.
`
`MAC002668
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 7
`
`
`
`2. The World—V\fide Web
`
`Theofficid ddinition describestheWor|d—V\fide Web (\/WVW, W3 or sometimes simply
`
`cziled The Web) esa "wide-area hypermedia information retrieval system". ltsaim isto give
`
`universd aooessto a lage universe of documents It is one of the informeti on systems
`
`currently working on top of the Internet and it is probwly the most popular at the moment.
`
`Although it is strongly based on hygext, it indudesthe handling of other typesof data as
`
`well, such as image, sound, movie, etc. Being the first widespread hypermedia system
`
`availabl e through the Internet, the Web has replaced some "traditi ond" informaion 9/stems.
`
`Information about the \/WVW in general can befound for exanple in [BERNERSLEE92],
`
`[BERNERSLEE92a], [HUGHES93] and [BERNERSLEE94a]. Useful inforrnaion for the
`VWVW user can befound in [KROL94], whidw also oomp€restheVWVWwith other
`
`information s/gems available on the Internet.
`
`2.1. History
`
`The bi rthpl aoe of the Worl d-Vlfi de Web w$ the European Laboratory for Parti d e Physics
`
`(CERN) locaed in Geneva, S/vitzerland. For a long tirnethere hasbeen a specid need for
`
`wide~a'ea hypertext to support the rsseaoh activities of patide physicists The need aises
`
`from the geogrephi(:d dispersion of research institutes working together on the sane proj ects.
`
`Very often reseachers i noluding students awd vis'ti ng scientists only work at one institute for
`
`a limited period of time before leaving for some other location. "New" reseaohers replacing
`
`them have to get "up to speed" on projectsquiddy. Much of the informaion they need isin
`
`fact available online, but retrievd aways needed some speci a knowl edge of the network.
`
`One had to remember complicated instructions for different protocols, host names, and
`
`termi nd types. One of the origind aims of the initiaive at CERN was to provide a system
`
`with a"point-and dick" interfaoe.
`
`The first project proposd dates from the yea 1989 and was written by Tim BernersLee. In
`
`October 1990 the project proposd was reformulated with Robert Ca'||ieu as ooaithor and in
`
`Novenber of the sane yea a prototype of the initid \/WV\N ted browser/editor was
`
`developed for the NeXT usi ng the graphic user interface tool 3 NeXTStep. At Chri arnas 1990
`
`the NeXTStep a1d a line mode browser were presented at CERN. In May 1991 the line mode
`
`MACO02669
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 8
`
`
`
`browser (vwvvv) was released on oentrd CERN machines The National Center of
`Sipecorrputing Applications (NCSA) a the Univesity of lllinois, Urbaia-Chaiipagn,
`
`stated to develop a niulti-platform interface to the World-Vlfi de Web aid in Februay 1993
`
`the fi rst a pha vesi on of M arc Andreeserfs " Mosa' c for X" [ANDREESSEN93] was
`
`released. in Septenbe of the same yea the NCSA released working vesionscf Mosaic for
`
`at mq'or platforms including vesionsfor PCNW ndowsend the Macintosh. At CERN the first
`
`intenaiona World-Vlfide Web Confeencewas held in May 1994.
`
`A brief history, writtei by R. Ca'llia.i, who hasfollcwed the development of the Web from
`
`the very beginning, cai befound in [CAlLLlAU95]. A detailed list of datesconoerning the
`
`history oftheWWWcei beobta'nedfrom
`
`http://i nfo. cern. ch/hypertextIVW/VH story. htnt
`
`2.2. Architecture
`
`The Worid-Wide Web, like maiy othe mplicai ons on globa networks, uses a dient—server
`
`model. V\NVW clients, oftei celled "VWVW browsers’, try to fetch information from remote
`
`servers, whee the information resides aid present the data to the use. VWVW savers must
`
`make information avalayle. Thissornetimes indudesthe ability to perform seeches The
`
`server isfree to geierate requested documents by sending red fi lesor by generating virtud
`
`_ hypertext on the fly. This mdtesit possiblethat a "gateway" serve oould paa hypetext
`
`image of aiother wsten to a \/W\/W browser.
`
`The advantages of such an architecture ee that the user interface rema' ns the sane, no matter
`
`wha type of serve the client is connected to for a paticul er traisacti on aid the the use
`
`need not undestaid the differences between protocols The concept of hypertext is
`
`arfficiently sirriple to require no tra' ning for a compute use. As hypertext is transferred in
`
`mek—up form, whidi is a logica representation compared to the actual form in which the
`
`information is presented to the use, the dieit program can mate optima use of fonts,
`
`col ours, aid othe interface resources ava‘ I ail e on the user's corrputer.
`
`To make thisflow of information possible three major "staidads' aid oonveitions wee
`
`defined. At first, a consi stent address system using a compact syntax for a "Uniform Resource
`
`Locaoi" was defined. This is described in diaiter 2.3. In addition to other protocolswhidi
`
`may be used with the V\NVW a na/v p_rotocol, the "Hypertext Traisfe Protocol" was defined
`
`givi rig performaice aid features not otherwise ava'|d)l e. This protocol is explained in diqite
`
`MACOO2670
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 9
`
`
`
`2.4. A set of dataformascai beused in which datacai betraisferred. Oneof them isarm
`
` , the Hypertext Markup Laiguage, described in diepter 2.5., whidi isthe ma'n
`
`fomia for traisrnitting hypatett.
`
`idedly, these oonventi ons diould diow current aid even future softvvae systems to work
`
`together across different platforms
`
`Interoperability with other systems
`
`Standard protoooisused by theV\NV\N are FTP, which alowsacoessto adiivesof at kinds.
`
`of infonriaion including software and documentation, aid NNTPwhid1 is used to access
`
`network ne/vs By the way, news atidesmdte good exarplesof documents which can be
`
`converted into hypertext, athey contain references to other atides aid news groups
`
`other protocols used by exi sting information systems are supported by the VWV\N. In
`
`paticula there ae the Wide Area I nformation Service (WAI S) [KAHLE92]1which alows
`
`searching through indexedmaeri a. aid finding atides based on.what.they.conta'.n,. aid
`
`Gopher [Li NDNER94], which provides a menu system for browsing resources on the
`
`Internet. The functionaity offered by WAI 8 ca be used by VWVW browsas swell as
`
`Gopher menuscai easily beoonverted into aiist of text eierrientswith hypertext linksto other
`documents So the Gopher spaoecai be used as part of the WWW.
`
`Providing I nformation
`
`One of the strategies of theV\NWV is tha existing onli ne information, no matter in what
`
`fomiat it isstored, ma’nta'ned aid origindiy made available, may be "published" aspat of
`
`the web. Thiscai be achieved by giving acoessto datathrough snail aid simple server
`
`prograns Rather than having one s'ngIetype of VWV\N server prograri, every server which
`
`understaidsat least one of the specified protocols aid which cai provide data in a least one
`
`of the wecified formats used by the World-Wide Web isa"VWVW server". This aiproach is
`
`probably one of the reasons why the use of the WWW is incrng so quid<iy.
`
`2.3. Uniform Resource Locator (URL)
`
`This chapter gives a definition of the Uniform Resource Locaor as specified in [BERNERS
`
`LEE94], which isasocaied the"URL specificziion" in this chapter.
`
`MAC002671
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 10
`
`
`
`In thefirst pat, thegenerd 3/ntax isdescribed. Theseoond pat dedsonly with the specid
`
`ruleswhich ae qaplied to the HTTP protocol. Rulesfor other protocol sd1emesa'e omitted
`
`here In thethird pat, the socdled URL encoding isdescribed. And findly, some
`
`consi deraions about security of this mechanism a'e mentioned in thefourth pat.
`
`A URL isaformalized piececf information for location and accessof resourceson the
`
`Internet. The URL—sohemeis derived from conceptsintroduced by theVWVW globa
`
`information initiative. It hasbeen sucoemully used by the World-V\fide Web for quitealong
`time and is one of the main ideas that form the wholeconcept of the wvvvv.
`
`2.3.1. Syntax
`
`Origindly, URLs are a mapping of physical addresses of objectswhich are retrievableusing
`
`at ready estmlished protocols However, the generic syntax allows the design of new schemes
`
`for nanesto be resolved using protooolswhich have not been specified up to now.
`
`A complete URL consists of a nam'ng schemespecifier asthefirfi element followed by a
`
`firing. The way of defining anew URL scheme can ealy bee<pla‘ned. If you an encodeal
`
`protocol paanfiers necessary to access the object into a firing with a prefix to idmtify the
`
`protocol, you will haveane/v scheme.
`
`The exact forma of the firing is specific to the naming scheme. However, those schemes
`
`which are used in locaors of information on the lntemet have a common syntax for the firing
`
`whidw isthe socdled Internet protocol part. The naming scheme specifier is sepaaed from
`
`the firing by acolon.
`
`Naming scheme gecifiers
`
`http
`
`ftp
`
`Hypertext Transfer Protocol (see chapter 2.1.2.)
`
`File Traifier Hotocol
`
`The Gopher Protocol
`
`Electronic rna'l address
`
`ne/vs
`
`Usenet news
`
`tel net, rlogin Reference to interactive sessions
`
`wais
`
`Vlfide Area I nformai on Servers
`
`MACOO2672
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 11
`
`
`
`and some others which are less important. Moreover, new schemes may be registered by
`
`future specificaions
`
`The I nternet protocol part
`
`The second element of the URL consists of the Internet Protocol (l P) address part fol I owed
`
`by the path.
`
`The Internet Protocol (IP) address@
`
`This statswith adouble slash ''l/'' and endswith the following slash '‘l''. The double slash
`
`also indicaesthe presence of the lPaddre$ pat in acertain URL. Vwthin that pat are
`
`- 8 U£' DBFTE,
`
`which isoptlond and rarely used.
`
`- the internet domain name of the host. Itsforma is qaecified in RFC1034
`
`[MOCKAPETRI S87]. Instead of the dcma'n nane the I P
`
`‘address asaset of four decimd digitscan be used.
`
`- the port nurrber,
`
`which isgiven in decima notation dter a colon if it is not the
`
`default port number for the protocol.
`
`The pgh @
`
`Thisisthe rest of thelocator and it indudesinformation that should not beprocessed by the
`
`client. In genera, the slash "I" indicatesa level in a hierardty, with thelcwer level pat on the
`
`right side.
`
`2.3.2. The HTTP Scheme
`
`The HTTP protocol specifies that the path part is handled tratsparently. Only the servers de-
`
`reference URLs. The pan is pa$ed by the client to the server with my request, but is not
`
`aciudly understood by the client. Aocordi ng to [B ERN ERSLEE92a], the domment nane
`
`usual ly conta' ned in the path part should be composed of pri ntebl e chaacters and should not
`
`contain my information about paticular formats ava' table for a document or its length.
`
`If the URL whidw is sent to the client refers to the sane server that sardsthe URL, the host
`
`pat is omitted. in thiscase, onlythe path pat issent by theserver. Hcvvever, when aserver is
`
`being used magaelvay (especialy a"proxy gaarvay"). then the complete URL ispaeeed on
`
`MAC002673
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 12
`
`
`
`the HTTP command line. If thereisasearch pat present, it istreated aspat of thepah and
`
`therefore sent aspat of the HTTP command.
`
`2.3.3. Encoding of Prohibited Characters
`
`\/Vhen a system hasa local addressing sdweme, it is often useful to de‘inea mapping from
`
`local addressesinto URLs In this case, referencesto objectswithin theaddressing scheme
`
`may beaccessed (possibly viagaeways) globdly. The URL spedfication allowsthe
`
`definition of any mapping scheme provided tha it is unambiguous, reversible, aid produces
`
`vdid URLs It is recommended the! hierardwiczi structuresin agiven locd naming schane
`
`may be mapped onto the hi erarchicd URL path syntax. Thi sdlows the patid form of the
`URL to be used.
`
`According to the encoding scheme proposed by the URL spedfi cation, any character which is
`
`not allowed in a URL, or my character whose use, dthough technicdly ailowed, would
`posébly caise problems of corruption by imperfed gaezvays or because of different
`
`dwaacter sets, should be encoded afollcws Characters in question should be represented in
`
`the URL by a percentage si gn "%" followed by two hexadeci md digits (0-9, A-F) which
`
`represent the vd ue of the character.
`
`2.3.4. Security Considerations
`
`It should be mentioned that there isno guaraitee that objeclswhid1 could be located by
`
`certan URLs at onetirnewill be removed or moved to mother locaion at some late‘ time,
`
`which reeultsin changed URLs. Thesane URL could even point to one object at onetime
`
`and to another object at wrne other ti me.
`
`Another point is that it is sometimes possible to construct a URL with the intention to
`
`perfonn a ham! ess operai on, such as the retri era of an object aooordi ng to one protocol,
`
`that will in fact case a destrudive remote operation to occur. Typically, this isthe anewhen
`
`the URL coma’ ns a non-standard port number for the given protocol. If the server is in fast
`
`running a different protocol on that port number, this coul d cause probl ems, especid Iy when
`
`the instructions conta‘ ned in the URL have a tota Iy different meaning according to the other
`
`protocol.
`
`Finaly, asstaed in the URL specificaion, the use of URLs containing passwordsis dearly
`unwise.
`
`MACOOZ674
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 13
`
`
`
`2.4. Hypertext Transfer Protocol (HTTP)
`
`I n this diqiter, the apt icai on-level protoool whidi is used by the Wort d—Wi de Web for
`
`informal on retrievai md manipulation is explained. Thisversi on of the HTTP protoml,
`
`known as HTTP 1.0, isai upgradeof the origina protocol implemented in theealiest VWV\N
`releases
`
`The purpose of the Hypertext Trmsfer Protocol is to provide afast aid fl ad ble mediaiisn
`
`for following references between unitsof information whidi are distributed at different
`
`locations auos the I nternet. lts nane may be misi riterpreted. It is not only a protocol for
`
`transferring hypertext, but for traisferting ail sorts of information with the efficiency that is
`
`needed for following links in a hypertext wstem.
`
`The protocol is stateless aid obj ed-oriented. 8-bit transfer is always used. It provides several
`
`oommaidsfor retn‘ evat, manipulation and seeding of data in a distributed oolleboraive
`
`hyperm_e_di a.i_rito_rmat_i on s/sen. Qne of its pr9pg1tesi§.th.at_th§ set. of HTTP 99n.1rria_n<1§
`
`could easily be extended.
`
`The process of retrieving or mail pulai ng iriformai on usi rig this stael ess protocol a ways
`
`consists of two operations A request is sent from the dient to the inforrnati on source, the
`
`server. This request oonta' ns the type of operai on (retri evd , wachi ng, etc. ) Whldl the client
`
`waits the server to perform aid seoondly, some sort of identifier for the object on whicti this
`
`operai on should be petformed. The type of operaion is set by the oommaid, whidi is (filed
`
`the of a HTTP request. The problem of referendng a oerta' n object is solved by
`
`us'ng the oonoept of Uniform Resource Locdors which isdescribed in chapter 2.3. In
`
`addition to that, for some types of operation the dient has the possibility to send additiona
`
`data to the sewer within the request. The server, a‘ter trying to fulfil the request, sends a
`
`response to the dient. The response of course depends on the request aid on the fact, whether
`
`or not the request has been processed siooessfully.
`
`A oonnection between dient aid server isestailished by the dient. Nomialy, when TCP/lP
`
`is used, the default port for HTTP transaction is the reserved number 80. But other port
`
`nurrbers may be used, if they are specified in the URL of the request. After setting up a
`
`connection, the dient sends the request and waits for the response from the server. After that,
`
`the connection is closed by either both patties. In other words, aoonnection bdween client
`
`and server is gn_|y set up for one transaction,
`
`MAC002675
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 14
`
`
`
`2.4.1. Request
`
`The CI ient's request to the save oonsi sts of the followi ng pets
`
`- The first line‘
`
`- The request headers
`
`(are explained in 2.4.1.2.).
`
`- An empty line
`
`- Daa
`
`All othe pats except for the first line ee opti on:-1. Their presence depends on the method
`
`and sometimes (for the heades) on the implementation. An empty line has to be sent to
`
`indicatethe beginning of the data body. if no data body is present, an empty line indicates the
`
`end of the request.
`
`The data body can be my MIME oonforrning message [BORENSTEl N92], theeore dso
`
`tzinary .d_at.a its length is given on a header line (see 2-4.2-2-).
`
`To md<eclee how the serve cm know about the end of the rguest, thiscan bea<pIained
`
`asfollovvs. Linescei beread until an empty lineoowrs, which indicaestha all headelines
`
`have been read. If a Content-length field is present in the heade, it tellsthe server that the
`
`following daabody oonta'nsthee)edfied number of bytes. If thefield is omitted, uaidly a
`
`method is used which impliesthat theeisno databody following, asit iswith GET, for
`
`example.
`
`Thefirstlineisdefinedas <Nethod> <tRL> <Versi on>
`
`<M2thod>isoneoftheoomrna1dsdescn‘bedin 2.4.1.1.
`
`<tRL> is defined in 2.3. A petiai URL is nomtdly given heeif the scheme (httpz) and the
`
`serve are obvious. Wheees, if the save isbeing used asagae/vay, the complete URL is
`
`given (see 4.7.1.). The URL should beenooded using the medtanism described in 2.3.3. at
`
`least to a extend the spaoesmd oontrol cheades (deoimat (>31 and 128159) ee esceaed.
`
`<Ver si on> isthe protoool Vesion whichthedient use: usualy thisis: HTTPI 1.0
`
`' Lines are dwaysterminaed by CRLF. Howe/e, it is recommended ma serves should betoleeit if lines
`
`aeterminaed by LF only.
`
`MAC002676
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 15
`
`
`
`If <Ver si on> isnot present, it can beassurned that the client uses H'lTPVe's'on 0.9,
`
`which usesa simpleform of requea. Thissimplefonn is aiso dlowed for HTTP 1.0 for back-
`
`compatibility.
`
`Thesirrplerequestisdefinedas
`
`C-ET <LRL>
`
`It hand request heaietsawd no daa body.
`
`2.4.1.1. Methods
`
`The method field which isthefirst element on thefirsl line of a HTTP request indicaesthe
`
`operation to beperfomied on theobject identified by the URL following asthe second
`element.
`
`Wnat followsisalist of currently defined methods, asdesoribed in [BERNERSLEE93].
`
`GET
`
`means retrievethe object that isidentified by the URL. Thisisdso um
`
`for searches, which is expla‘ned.|ater.—
`
`HEAD
`
`POST
`
`PUT
`
`DELETE
`
`LINK
`
`UNLINK
`
`is the same as GET, but retums only headers atd no actual daa.
`
`creates a new object linked to the specified object. The new object is sent
`
`mthe data body of the request.
`
`storestheobject which issmt asthedatabody under the specified URL.
`
`The URL must dready exist.
`
`requests the deletion of the specified object.
`
`linksan existing object to the specified object.
`
`removes the link from an object.
`
`TEXTSEARCH
`
`Objectsmzy be searched for with atea string. This isirnplemented using
`the seam form of the GEI‘ method.
`
`SPACEJUM P
`
`Theobject will aooept aquety which oontahsooordinatesof apoint
`
`within the object. Actud implementations use the GET method with
`
`gaecid URLsasdescribed later.
`
`In addition to that, thefollowing methods we defined: CHECKOUT, SHOWMETHOD,
`
`CHECKI N, SEARCH. These methods are not explained here becaise most of them are still
`
`MAC002677
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 16
`
`
`
`unda discussion aid not yet implemented. For details the reader is referred to eg.
`
`[BERNERS-LEE93].
`
`Currently, only the methods GET aid POST are wid