`
`I nstitut fUr Informationwererbeitung und Computergestfltzte neue Medien
`
`The World-Wide'Web Gateway to Hyper-G:
`Using a Connectionlecs Protocol to Access
`Saloon-Oriented Services
`
`Christian Derler
`
`Gutachter: O.Univ.-Prof. Dr.phil. Dr.h.c. Hermann Marrer
`
`Betreuer: Dip|.-|ng. Driedm. Frmk Keppe
`
`Graz, imMé21995
`
`Petitioner Microsoft Corporation - EX. 1043, p. 1
`
`MA0002662
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 1
`
`
`
`Abstract
`
`In thisthesis, pose'bilitiesae studied how session-oriented serviceson the Internet an be
`
`made bleto users of dient progranstha useaoonnedionlessmpliwion-level
`
`protocol .
`
`The concepts and properti as of two Hypermedia | nfomiati on Systems, the World-Vlfi de Web
`(VthlMaJdl-lyper—G, aredeecri bed aid at mmpaispn magma: titre elm i§giyen
`A gateway program was devel oped which is used as a protocol converter between the 39$ on
`
`oriented Hyper-G client-server protocol and the oonnectionles Hypertext Transfer Protocol
`
`(HTTP). A medwawisn was implemented that dlows to cfifferentiae HTTP requests ad to
`ensign them to Hyper-G mans The gateway provides users of World—Wde Web clients
`with season-oriented mto information red ding on Hyper—G servers
`
`Petitioner Microsoft Corporation - EX. 1043, p. 2
`
`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 Lowtor (URL) ................................................................. 5
`
`2.3.1. Syntax ............................................................................................ 6
`2.3.2. The HTTP deeme ......................................................................... 7
`
`2.3.3. Encoding of Prohibited Characters.................................................. 8
`
`2.3.4. Security Cons'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..........T................ ............_
`2.4.2.1. Staus line......................................................................... 14
`
`2.4.2.2. Headers ............................................................................ 17
`
`2.4.3. Considerations about Log Informaion ............................................ 19
`
`2.5. Hypertext Markup nguage(HTM L) .......................................................... 19
`
`2.5.1. Specificaion Levels........................................................................ 20
`
`2.5.2. General antax ............................................................................... 21
`2.5.3. Elements ......................................................................................... 22
`
`2.5.3.1. Elements withi n 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
`
`Petitioner Microsoft Corporation - EX. 1043, p. 3
`
`MA0002664
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 3
`
`
`
`3. Hyper-G ..................................................................................................................... 31
`
`3.1. Design Concepts ........................................................................................... 31
`
`3.2. Data Orgatizaion ......................................................................................... 32
`
`3.2.1. Collection Hierarchy versus Hyperted ............................................ 32
`3.2.2. Document Clusters.......................................................................... 33
`
`3.2.3. Link Maimement ........................................................................... 34
`3.3. Feaures ........................................................................................................ 34
`
`3.3.1. Seaoh Facilities.............................................................................. 34
`
`3.3.2. Navigation ...................................................................................... 35
`3.3.3. ldentifitztion Modes and Access Rights.......................................... 35
`
`3.3.4. Interoperaaility with other Information systems ............................. 36
`33.5 Document Cache............................................................................. 37
`
`34. Appliaiions............................................................................,...................... 38
`3.5 Comparison between Hyper-G and WVWV..........................................‘. .:.'.’..... 39
`
`............................ 43
`4. lmplernentation of the Gateway ............................................
`"
`4.1. Goa .............................................................................................................. 43
`
`4.2. BasicConcept ............'45
`
`4.2.1. Providing ConnectionOriented Am with a Connectionles
`Protocol .................................................................................................... 45
`
`4.2.2. Parallel Prooesu‘ng of Requests....................................................... 48
`4.2.3. ProoeIsModel ................................................................................ 49
`
`4.2.4. Differentiaion of Users .................................................................. 55
`
`4.2.5. URL Formation .............................................................................. 58
`
`4.3. Comparison with an Alternative Concept ...................................................... 61
`
`...................... 63
`4.4. Structure atd Functiond ity of the Program ........................
`4.4.1. The MainModule ................... 63
`
`4.4.2. The ClasWMNVSme.................................................................... 64
`
`4.4.3. Implementation 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
`
`Petitioner Microsoft Corporation - EX. 1043, p. 4
`
`MAC002665
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 4
`
`
`
`4.5.6.2. Staus ............................................................................... 77
`
`4.5.6.3. Preferred Larguage............ .............................................. 78
`
`4.5.6.4. Display Setting ................................................................. 78
`
`4.5.7. Online Hel p .................................................................................... 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. Description of Files....... ................................................... 83
`
`4.6.2. (53’1er Commands ....................................................................... 87
`
`4.6.3. Commde ineparaneters and Environmentvaidfles ....................... 90
`
`4.7. Proxy Gateway Support ................................................................................ 93
`
`4.7.1. Proxy Server Concept ..................................................................... 93
`
`4.7.2. Using theWWW Gar-may asa Proxy GaaNay .............................. 94
`
`Bibliography .................................................................................................................. 97
`
`Petitioner Microsoft Corporation - EX. 1043, p. 5
`
`MAC002666
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 5
`
`
`
`1. Introduction
`
`As public interest for a 9! obd informal on infrastructure currently induces tremendously,
`
`mode'n hypermedia informeti on systems are becoming more and more important on
`
`internationd information networks. At the moment, there are different systems a ready in
`
`wide use but also under development. Interoperability is therefore one of the key im
`
`In fact, different informaion systems, dl based on the client-server principle; usuaily differ in
`
`the appliciion—level protocolswhich they use for communication between clients and
`
`avers Aslong as this is only limited to diverse naming conventions and other "minor“
`
`differences convers' on between two protocols can easily be performed.
`
`A problem arises however, if one system uses a oonnecti onlees and totally stateless dient-
`
`server protocol and the other system is based on a oonnecti on-oriented protocol that ma'nta' ns
`
`a. state between consecuti v_e trmsactions‘This is the casewith the two hypermedia
`
`information sistems World-Wide Web a1d Hyper-G. Moreover, there as feaureetha ae
`
`only aipported by one of these systems
`
`Thernan god of thistheeisisto study poss'bilities how aconnection—oriented mto a
`
`Hyper-G server can be provided for usersof VWWV clients
`
`The approach taken for this project was to build a gate/slay that (at be seen as a WWW server
`
`from the WWW client's view and as a Hyper-G d ient from the Hyper-G server‘s view. In
`
`fact, the gaeway progran is a complete WWW me since it meets two requirements
`
`-
`
`-
`
`lt ta ks the client-server protocol used by the WWW when communicating with dients.
`
`It is ableto provide documents in formats used by theW.
`
`The difference to a usua WWW server is tha the gateway does not retrieve resources from a
`
`si mplefile system, but has a Hyper-G server as its back-end dawase.
`
`The gateway is desi gned to work as a normd Hyper-G client whid1 use: a connection-
`
`oriented dient-server protocol 31d meinta' ns at individua session for each user of a WWW
`
`dient. For this purpose, a concept ws devel oped that dlows to distinguish requests from
`
`different VWVW dients and to algn them to dready opened Hyper-G sem'ons
`
`The fact that the gateway has now been in use with every Hype—G server for sometime may
`
`be seen as an indication that the project was a 5.1mm attempt to irmrove interoperability
`
`between Hyper-G 31d the Worl d-Vlfi de Web.
`
`Petitioner Microsoft Corporation - EX. 1043,
`
`p.6
`
`MAC002667
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 6
`
`
`
`In chaater 2 of thisthesis an overview of the Wortd-WideWeb project isgiven be‘ore the
`
`three key conwpts of theW, the Hypertext tratsfer protocol, Uniform Resource
`
`Loaiors, a1d the Hypertext Markup Language are dealt with in some more detail.
`
`Chapter 3 descri bee Hyper-G, its concepts features and qapliaiions. At the end of this
`chapter, a comparison between Hyper-G aid theW is drawn as differences aid
`
`s'mitaitieshave an important impact on thedesign of the gas/vary.
`
`Findly, the implementaion of the gaeNay progran is described in chapter 4. The god of the
`
`project and the concepts devet oped ae explained in deta'l. After the structure aid the
`
`functiond ity of the program is shown, a deta'ted description for users of the gateway is given.
`
`A wparate section dedswith possibilities of progran customization. Last but not least. ways
`
`how to use the gate/slay together with the Hyper-G document ache a a proxy server ae
`discussed.
`
`Petitioner Microsoft Corporation - EX. 1043,
`
`p.7
`
`MAC002668
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 7
`
`
`
`2. The World-Vlfide Web
`
`Theofficia de‘inition describestheWorld—Vlfide Web (WVWV, W3 or sometimes simply
`
`filed The Web) esa "wide-area hypermedia information retrieval system". ltsaim isto give
`
`universe aooessto a lage universe of documents It is one of the information systems
`
`currently working on top of the I nternet and it is probwly the most popular a the moment.
`
`Although it is strongly based on hymen, 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 0nd" informaion systems.
`
`lnfomtation about theW in general can befound for exanple in [BERNERSLEE92],
`
`[BERNERSLEEQZa], [HUGHE893] aid [BERNERSLEE94a]. Useful information for the
`WWW user cat befound in [KROL94], which also oompaestheWWWwith other
`
`information waems available on the lnternet.
`
`2.1. History
`
`The bi rthpl ace of the Worl d-Vlfi de Web was the European Laboratory for Parti d e Physics
`
`(CERN) loaded in Geneva, Suitzerland. For a long time there hasbeen a speciai need for
`
`widea‘ea hypertext to support the reseaoh activities of paticle physicists The need aises
`
`from the geographical dispersion of research institutes working together on the same proj eds.
`
`Very often rmohers i noluding students a1d vis’ti ng scientists only work at one institute for
`
`a limited period of time before leaving for some other location. "New" rmohers replacing
`
`them have to get "up to speed“ on projectsquiddy. Much of the informaion they need isin
`
`fact available online, but retrieva aways needed some speoi a knowl edge of the network.
`
`One had to remember complicated instructions for different protocols, host names and
`
`termi na types. One of the origina a'ms of the initiative a CERN was to provide a wstem
`
`with a"point-atd click" interface.
`
`The first project proposa dates from the yea 1989 and was written by Tim BernersLee. In
`
`October 1990 the project proposa was reformulated with Robert Ca'llieu as manhor an in
`
`Novenber of the same year a prototype of the inltid WWW tart browser/editor was
`
`developed for the NeXT usi ng the graphic user interface tool 3 NeXTStep. At Chri amas 1990
`
`the NeXTStep and a line mode browser were presented at CERN. In May 1991 the line mode
`
`Petitioner Microsoft Corporation - EX. 1043,
`
`p.8
`
`MAC002669
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 8
`
`
`
`
`
`browser (www) was released on central CERN machines The National Center of
`Srpercorrputing Appliestions (NCSA) a the University of lllinois, Urbata-Cha'npa‘gn,
`
`stated to devel op a multi-platform interface to the Wcrld-Vlfi de Web and in February 1993
`
`the fi rst a pha versi on of M arc Andreewen’s " Mosa' c for X" [ANDREESSEN93] was
`
`released. in September of the same yea the NCSA released working versionscf Mosa’c for
`
`dl ma‘or platformsinduding versionsfor PCNW ndowsend the Macintosh. At CERN the first
`
`inte'naiona World-Vlfide Web Conferencewas held in May 1994.
`
`A brief history, written by R. Ca'lliau, who hasfollcwed the develcprnent of the Web from
`
`the very beginning, an befound in [CAILLIAU95]. A dela'led list of datesconcerning the
`
`history of theWWWm beobta'ned from
`
`http://i nfo. cern. ch/hypertext/VWNH story. htnt
`
`2.2. Architecture
`
`<
`
`The Wortd-Wrde Web. like many other applications on globd networks uses a dient—server
`
`model. VWVW die'its, often called "VWVW browseré', try to fetch information from remote
`
`servers, where the information red des aid present the data to the user. VWVW servers must
`
`make information ava'laale. Thissometimes indudesthe ability to perform seaches The
`
`server isfree to generate requested documents by sending red fi lesor by generating virtua
`
`_ hypertext on the fly. This makes it possiblethat a "gateNay" server could pass a hypertext
`
`image of mother wetem to a WVWV browser.
`
`The advattages of such an architecture ae that the user interface rema' ns the sane, no matter
`
`wha type of server the client is connected to for a paticular transaction 31d tha the user
`
`need not understand the differences between protocols The concept of hypertext is
`
`arfficiently simple to require no tra' ning for a computer user. As hypertext is transferred in
`
`mark—up form, which is a logiw representeti on compared to the actud form in which the
`
`information is presented to the user, the client program (at mate optimal use of fonts,
`
`col ours and other interface resources ava‘ | ml 9 on the user's corrputer.
`
`To make thisflow of infomtation poss'ble three ma'or "statdads' 81d conventions were
`
`defined. At first, a consi stent address system using a compact syntax for a "Uniform Resource
`
`Looetor" was defined. This is described in chmter 2.3. In addition to other protocolswhidi
`
`may be used with the VWVW a neN p_rotocol, the "Hypertext Tratsfa‘ Protocol" was defined
`
`givi ng performmce and features not otherwise ava‘lzbl e. This protocol is expla‘ned in dmter
`
`Petitioner Microsoft Corporation - EX. 1043, p. 9
`
`MAC002670
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 9
`
`
`
`
`
`2.4. A set of dataformascai beused in which datacal betransferred. Oneof them isarm
`
`mm, the Hypertext Markup Language. described in dwepter 2.5., which isthe ma'n
`
`forma for traismitting hypetett.
`
`ldedly, these conventions mould allow current and even future software wstems to work
`
`together across different pl aforms
`
`Interoperability with other systems
`
`Standard protocdlsused by theVWVW are FTP, which dlowsacoessto adiiveeof all kinds.
`
`of infonnaion including software and documentation, a1d NNTPwhid1 is used tom
`
`network ne/vs By the way, news atidesmdte good exarpleeof documents which cm be
`
`converted into hypertext, $they contain references to other atides aid FIBNS groups
`
`Other protocols used by exi sting information systems are supported by theW. In
`
`particular there ae the Wide Area | nformation Service (WAI S) [KAHLE9211which alows
`
`searching through indexedmaerid. aid finding atides based onwhattheyconta'nr 31d
`
`Gopher [LI NDNER94], which provides a menu system for browsing resources on the
`
`Internet. The functiondity offered by WAI 8 m1 be used byW browses swell as
`
`Gopher menuscan easily be converted into a list of text elementswith hypertext linksto other
`documents So the Gopher space an be used as part of the WVWV.
`
`Providing Information
`
`One of the strategies of theVWWV is tha existing onli ne information, no matter in what
`
`fomiat it isstored, ma'nteined and originally made available, may be "published" aspat of
`
`the web. Thism be achieved by giving acoessto datathrough snail and simple server
`
`prograns Rather than having one s'ngletype of WW server progran, every server which
`
`understardsat least one of the specified protocols and which at provide data in a least one
`
`of the wedfied formats used by the World-Wide Web isa"VWVW server“. This wproach is
`
`probably one of the reasons why the use of theW is incre-ng so quickly.
`
`2.3. Uniform Resource Locator (URL)
`
`This chapter gives a definition of the Uniform Resource Locaor as specified in [BERNERS
`
`LEE94], which isdsowled the"URL spedficaion" in this chapter.
`
`Petitioner Microsoft Corporation - EX. 1043, p. 10
`
`MAC002671
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 10
`
`
`
`
`
`In thefirst pat, thegenerd wntax isdcecn'bed. Thesecond pat dedsonly with the specid
`
`ruleswhich ae aaplied to the HTTP protocol. Rulasfor other protocol schemes a'e omitted
`
`here In thethird pat, the scaled URL encoding isdeecribed. And findly, some
`
`consi deraions amut security of this rnechmism a'e mentioned in thefourth pa‘t.
`
`A URL isaformelized pieceof information for location and mof reeourceson the
`
`Internet. The URL-schemeis derived from conceptsintroduced by theWVWV globa
`
`information initiative. It hasbeen successfully used by the World-VWde Web for quitealong
`time and is one of the main ideas that form the wholeconwpt of the wvvw.
`
`2.3.1. Syntax
`
`Origindly, URLsare a mapping of physical addresses of objectswhich are retrievableusing
`
`a ready atmlished protocols However, the generic syntax allows the desi gn of new schemes
`
`for nanesto be resolved using protocolswhich have not been specified up to now.
`
`A complete URL consists of a namng schemespecifier asthefirst element followed by a
`
`string. The way of defining anew URL scheme 631 easily beerplained. If you can encodeal
`
`protocol paa‘nders necmy to access the object into a string with a prefix to identify the
`
`protocol, you will haveana/v scheme.
`
`The exact forma of the string is specific to the naming scheme. However, those schemes
`
`which are used in locaors of information on the lnternet have a common syntax for the string
`
`which isthe scaled Internet protocol part. The naming scheme specifier is sepaaed from
`
`the string by acolon.
`
`Naming scheme gedfiers
`
`http
`
`ftp
`
`gopher
`
`mailto
`
`Hypertext Transfer Protocol (see chapter 2.1.2.)
`
`File Trais‘er Hotocol
`
`The Gopher Ptotoool
`
`Electronic mail address
`
`neNs
`
`Usenet news
`
`tel net, rlogin Reference to interactive seasons
`
`wais
`
`\Mde Area Information Servers
`
`Petitioner Microsoft Corporation - EX. 1043, p. 11
`
`MAC002672
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 11
`
`
`
`
`
`31d some others mm are Iris important. Moreover, new schemes may be registered by
`
`future specifimtions
`
`The l nternet protocol part
`
`The second element of the URL consists of the Internet Protocol (I P) addras part followed
`
`by the path.
`
`The Internet Protocol (IP) address@
`
`This statswith adouble slash "II" and endswith the following slash "I". The double slash
`
`also indicaecthe presence of the lPaddras pat in aoerta'n URL. Vtfithin that pat are
`
`- a user name,
`
`which isoptiond and rarely used.
`
`- the internet don’ain nan‘e of the host. Itsforma is aaecified in RFC1034
`
`[MOCKAPETRl 887]. Instead of the doma'n nane the | P
`
`address asaset of feur decimal digitswi be used.
`
`- the port nurrber,
`
`which isgiven in decimd notation a’ter a colon if it is not the
`
`default port number for the protocol.
`
`ME
`
`Thisisthe rest of thelocator and it indudesinformation that should not beproceosed by the
`
`client. In genera, the slash "l" 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 traisparently. Only the servers de-
`
`referenoe URLs. The pan is passed by the client to the server with my request, but is not
`
`adudly understood by the client. Aooordi ng to [B ERN ERSLEE92a], the domment na'ne
`
`usud ly contai ned in the path part should be composed of pri ntebl e oha'acters a1d should not
`
`contain my information about paticular formats ava' table for a document or its length.
`
`If the URL whidw is sent to the dient refers to the sane server that sendsthe URL, the host
`
`pat is omitted. ln thismse, onlythe path pat issent by theserver. However, when aserver is
`
`being used magaelvay (especialy a"proxy gaaNay"). then the complete URL ispaased on
`
`Petitioner Microsoft Corporation - EX. 1043, p. 12
`
`MACOOZB73
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 12
`
`
`
`the HTTP command line. If thereisawarch pat present, it istreated aspat of thepah and
`
`therefore sent aspat of the HTfP command.
`
`2.3.3. Encoding of Prohibited Characters
`
`When a wstem hasa local addressing scheme, it is often useful to de‘inea mapping from
`
`low addresseeinto URLs In this ease, referencesto objectswithin theaddreesing scheme
`
`may beaocased (possibly via gaeways) globdly. The URL specification allowsthe
`
`definition of any mapping scheme provided tha it is unambiguous, reversi bl e, and produces
`
`vdid URLs It is recommended thd hierardwiai structuresin agiven load naming scheme
`
`may be mapped onto the hi eradiied URL path syntax. Thi sdlows the patid form of the
`URL to be used.
`
`According to the enoodi ng scheme proposed by the URL SJedfication, my character which is
`
`not allowed in a URL, or my diaracter whose use, dthough techniwly alcwed. would
`pose” bly raise problems of corruption by imperfect gae/vays or bewse of different
`
`dwaacter sets, should be encoded asfollows 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 val ue of the character.
`
`2.3.4. Security Considerations
`
`It should be mentioned that there isno guaraitee that objectswhim could be lowed by
`
`oertan URLs at cnetirnewill be removed or moved to another location at some later time,
`
`which reeultsin charged URLs. Thesune URL could even point to one object at onetime
`
`and to another object at wme other time.
`
`Another point is that it is sometimes poss‘ble to construct a URL with the intention to
`
`perform a ham! ess operation, such as the retri evd of an object accordi ng to one protocol,
`
`that will in fact (31$ a destrudive remote operation to occur. Typically, this isthe cmewhen
`
`the URL conta' 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 could cause probl ems, especially when
`
`the instructions oonta‘ 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 passNordsis dearly
`unwise.
`
`Petitioner Microsoft Corporation - EX. 1043, p. 13
`
`MAC002674
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 13
`
`
`
`
`
`2.4. Hypertext Transfer Protocol (HTTP)
`
`I n this drepter, the apt iaii on-level protocol whid'r is used by the Wor1 d—VVI de Web for
`
`inforrnai on retrieve! ard manipulation is explained. Thisversi on of the HTTP protocol,
`
`known as HTTP 1.0, ism upgradeof the origind protocol implemented in theealieet WWW
`release
`
`The purpose of the Hypertext Trmsfer Protocol is to provide afast a1d flatible medtatisn
`
`for following references between unitsof information whid'r ae distributed at different
`
`lomtions across the Internet. lts nane may be misi rrterpreted. It is not only a protocol for
`
`transferring hypertext, but for tratsferri ng ail sorts of information with the efficiency that is
`
`needed for following links in a hypertext wetem.
`
`The protocol is statelea and obj ed—oriented. 8-bit transfer is always used. It provides several
`
`commatdsfcr retrieval, marl pul ati on and seaming of data in a distributed collaboraive
`
`hypermedi ainformatj on system Que of its propg’ties isthgt the. set. 9f. HTTP moments
`
`could easily be extended.
`
`The procees of retrieving or mati pulai ng information usi ng this stael ess protocol a ways
`
`consists of two operations A request is wnt from the client to the information source, the
`
`server. This request contai ns the type of operai on (retri aid , mohi ng, etc. ) whidw the client
`
`wa1ts the server to perform a1d secondly, scrne sort of identifier for the object on which this
`
`operai on should be performed. The type of operaion is set by the command, whid1 is filed
`
`the "method" of a HTTP request. The problem of referendng a oerta‘ n object is solved by
`
`us'ng the concept of Uniform Resource Locdors which isdescribed in chapter 2.3. In
`
`addition to that, for some types of operation the client has the possibility to send wditiona
`
`data to the server 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 fad, whether
`
`or not the request has been processed successfully.
`
`A connection between dient 31d server iseetanlished by the dient. Normaly, 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 reques. After setting up a
`
`connection, the dient sends the request and wet ts for the rewonse from the server. After that,
`
`the connection is closed by either both parties. In other words, aoonnection between client
`
`and server is only set up for one transaction,
`
`Petitioner Microsoft Corporation - EX. 1043, p. 14
`
`MAC002675
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 14
`
`
`
`
`
`2.4.1. Request
`
`The CI ient's request to the server consists of the follcwi ng pats
`
`- The first line‘
`
`- The request headers
`
`(are explained in 2.4.1.2.).
`
`- An empty line
`
`- Daa
`
`All other parts except for the first line ae opti and. Their prm depends on the method
`
`and sometimes (for the headers) 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 indiwes the
`
`end of the request.
`
`The data body cat be my MIME conforming meme [BORENSTEI N92], therdore dso
`
`binary data Its length is given on a header line (see 2422-).-
`
`To md<edea how the server an know about the end of the rgueet, thiscai bea<p|ained
`
`asfollows. Linesm beread until an empty line occurs, which indiwtestha all header lines
`
`have been read. If a Content-length field is present in the header, it tellsthe server that the
`
`following daabcdy conta'nstheawdfied number of bytes. lf thefield is omitted, usidly a
`
`method is used which impliesthat thereisnc data body following, as it iswith GET, for
`
`example.
`
`Thefirstlineisdefinedas <Method> <LRL> <Versi on>
`
`<M3t hod> isoneoftheoomrrmdsdmibedin 2.4.1.1.
`
`<tRL> is defined in 2.3. A patiai URL is normdly given hereif the scheme (httpz) awd the
`
`server are obvious. Whereas, if the server isbeing used asagae/vay, the complete URL is
`
`given (see 4.7.1.). The URL should beenooded using the rnedta'lism described in 2.3.3. at
`
`least to a extend that spacesmd control characters (decimal 031 31d 128—159) a'e escaped.
`
`<Ver si on> isthe protocol Version whichthedient use: ustIy thisis: HTTP/ 1.0
`
`' Lines are dwaysterminaed by CRLF. Howe/er, it is recommended the! servers should betolera'it if lines
`
`ae terminated by LF only.
`
`Petitioner Microsoft Corporation - EX. 1043, p. 15
`
`MA0002676
`
`Petitioner Microsoft Corporation - Ex. 1043, p. 15
`
`
`
`If <Ver si on> isnot present, it an beasumed that the client use: HTTPVe's'on 0.9,
`
`which ma simpleform of request. Thissimpleform is also allowed for HTTP 1.0 for back-
`
`compatibility.
`
`Thesin'plerequeet isdefined as
`
`GET <LRL>
`
`It hasnorequeet heajesmd no daa body.
`
`2.4.1.1. Methods
`
`The method field which isthefirst element on thefirst line of a HTTP request indiwecthe
`
`operation to beperformed on theobject identified by the URL following asthe second
`ele'nent.
`
`Wnat followsisalist of currently defined methods, asdeecribed in [BERNERSLEEQS].
`
`GET
`
`means retrievethe objed that isidentified by the URL. Thisisaso um
`
`for marches, which is expla‘nedlater.
`
`H EAD
`
`POST
`
`is the sane as GET, but retums only headers and no actual daa.
`
`creates a new object linked to the specified object. The new object is sent
`
`mthe data body of the request.
`
`PUT
`
`storestheobjectwhiohissentasthedaabodyunderthespecified URL.
`
`The URL must already exist.
`
`DEL ETE
`
`requests the deletion of the specified object.
`
`LINK
`
`linksm existing objecttothespecified object.
`
`UNLINK
`
`removesthelink froman object.
`
`TEXTSEARCH Objects may be searched for with a text string. This isimplemented using
`the seam form of the GET method.
`
`SPACEJUM P
`
`Theobject will accept aquety which oonta'nsooordinatesof apoint