Knowledge (XXG)

Persistent uniform resource locator

Source 📝

591:
appended to the target URL. For example, consider a PURL with a URL of http//purl.org/some/path/ with a target URL of http://example.com/another/path/. An attempt to perform an HTTP GET operation on the URL http//purl.org/some/path/and/some/more/data would result in a partial redirection to http://example.com/another/path/and/some/more/data. The concept of partial redirection allows hierarchies of Web-based resources to be addressed via PURLs without each resource requiring its own PURL. One PURL is sufficient to serve as a top-level node for a hierarchy on a single target server. The new PURL service uses the type "partial" to denote a PURL that performs partial redirection.
603:
the presumption that a resource with a changed location may have also changed content, thus invalidating fragments defined earlier. Bos suggested that fragments should be retained and passed through to target URLs during HTTP redirections resulting in 300 (Multiple Choice), 301 (Moved Permanently), 302 (Found) or 303 (See Other) responses unless a designated target URL already includes a fragment identifier. If a fragment identifier is already present in a target URL, any fragment in the original URL should be abandoned. Bos' suggestion failed to navigate the IETF standards track and expired without further work. Dubost
298:
address, even though the resource in question may have moved. PURLs may be used by publishers to manage their own information space or by Web users to manage theirs; a PURL service is independent of the publisher of information. PURL services thus allow the management of hyperlink integrity. Hyperlink integrity is a design trade-off of the World Wide Web, but may be partially restored by allowing resource users or third parties to influence where and how a URL resolves.
329:
The next part, the PURL domain, is analogous to a resource path in a URL. The domain is a hierarchical information space that separates PURLs and allows for PURLs to have different maintainers. One or more designated maintainers may administer each PURL domain. Finally, the PURL name is the name of the PURL itself. The domain and name together constitute the PURL's "id".
321:. All persistent identification schemes provide unique identifiers for (possibly changing) virtual resources, but not all schemes provide curation opportunities. Curation of virtual resources has been defined as, "the active involvement of information professionals in the management, including the preservation, of digital data for future use." 602:
Partial redirection in the presence of a fragment identifier is problematic because two conflicting interpretations are possible. If a fragment is attached to a PURL of type "partial", it is unclear whether a PURL service should assume that the fragment has meaning on the target URL, or discard it in
301:
A simple PURL works by responding to an HTTP GET request by returning a response of type 302 (equivalent to the HTTP status code 302, meaning "Found"). The response contains an HTTP "Location" header, the value of which is a URL that the client should subsequently retrieve via a new HTTP GET request.
574:
A PURL of type "307" informs a user that the resource temporarily resides at a different URL from the norm. PURLs of types 404 and 410 note that the requested resource could not be found and suggests some information for why that was so. Support for the HTTP 307 (Temporary Redirect), 404 (Not Found)
389:
The most common types of PURLs are named to coincide with the HTTP response code that they return. Not all HTTP response codes have equivalent PURL types and not all PURL servers implement all PURL types. Some HTTP response codes (e.g. 401, Unauthorized) have clear meanings in the context of an HTTP
328:
PURLs are themselves valid URLs, so their components must map to the URL specification. The scheme part tells a computer program, such as a Web browser, which protocol to use when resolving the address. The scheme used for PURLs is generally HTTP. The host part tells which PURL server to connect to.
297:
A URL is simply an address of a resource on the World Wide Web. A Persistent URL is an address on the World Wide Web that causes a redirection to another Web resource. If a Web resource changes location (and hence URL), a PURL pointing to it can be updated. A user of a PURL always uses the same Web
762:
OCLC and Internet Archive today announced the results of a year-long cooperative effort to ensure the future sustainability of purl.org. The organizations have worked together to build a new sustainable service hosted by Internet Archive that will manage persistent URLs and sub-domain redirections
590:
The PURL service includes a concept known as partial redirection. If a request does not match a PURL exactly, the requested URL is checked to determine if some contiguous front portion of the PURL string matches a registered PURL. If so, a redirection occurs with the remainder of the requested URL
546:
A PURL of type "303" is used to direct a Web client to a resource that provides additional information regarding the resource they requested, without returning the resource itself. This subtlety is useful when the HTTP URI requested is used as an identifier for a physical or conceptual object that
324:
PURLs have been criticized for their need to resolve a URL, thus tying a PURL to a network location. Network locations have several vulnerabilities, such as Domain Name System registrations and host dependencies. A failure to resolve a PURL could lead to an ambiguous state: It would not be clear
530:
A PURL of type "chain" allows a PURL to redirect to another PURL in a manner identical to a 301 or 302 redirection, with the difference that a PURL server will handle the redirection internally for greater efficiency. This efficiency is useful when many redirections are possible; since some Web
526:
that the PURL should always be used to address the requested resource, not the final URI resolved. This is to allow continued resolution of the resource if the PURL changes. Some operators prefer to use PURLs of type 301 (indicating that the final URI should be addressed in future requests).
245:
resulting in the transfer of the resolver service and its administration interface to Internet Archive. The service is supported on newly created software, separate from all previous implementations. The transfer re-enabled the ability to manage PURL definitions that had been disabled in the
578:
PURLs of types "404" and "410" are provided to assist administrators in marking PURLs that require repair. PURLs of these types allow for more efficient indications of resource identification failure when target resources have moved and a suitable replacement has not been identified.
534:
A PURL of type "200" is an "Active PURL", in which the PURL actively participates in the creation or aggregation of the metadata returned. An Active PURL includes some arbitrary computation to produce its output. Active PURLs have been implemented in PURLz 2.0 and The
610:
Starting with PURLz 1.0 series, the PURL service implements partial redirections inclusive of fragment identifiers by writing fragments onto target URLs in an attempt to comply with and avoid problematic and inconsistent behavior by browser vendors.
168:
PURL version numbers may be considered confusing. OCLC released versions 1 and 2 of the Apache-based source tree, initially in 1999 under the OCLC Research Public License 1.0 License and later under the OCLC Research Public License 2.0 License
594:
Partial redirections at the level of a URL path do not violate common interpretations of the HTTP 1.1 specification. However, the handling of URL fragments across redirections has not been standardized and a consensus has not yet emerged.
521:
Most PURLs are so-called "simple PURLs", which provide a redirection to the desired resource. The HTTP status code, and hence of the PURL type, of a simple PURL is 302. The intent of a 302 PURL is to inform the Web client and
1056: 607:
resurrected Bos' suggestions in a W3C Note (not a standard, but guidance in the absence of a standard). Makers of Web clients such as browsers have "generally" failed to follow Bos' guidance.
539:. They may be used to gather runtime status reports, perform distributed queries or any other type of data collection where a persistent identifier is desired. Active PURLs act similar to a 390:
conversation but do not apply to the process of HTTP redirection. Three additional types of PURLs ("chain", "partial' and "clone") are given mnemonic names related to their functions.
749: 547:
cannot be represented as an information resource. PURLs of type 303 are used most often to redirect to metadata in a serialization format of the
1061: 582:
PURLs of type "clone" are used solely during PURL administration as a convenient method of copying an existing PURL record into a new PURL.
1071: 228: 1066: 1076: 697: 548: 69:. Early on many of those other hosts used descendants of the original OCLC PURL system software. Eventually, however, the 599:
indicate a pointer to more specific information within a resource and are designated as following a # separator in URIs.
523: 178: 39: 118:
PURLs are used to curate the URL resolution process, thus solving the problem of transitory URIs in location-based
978: 815: 701: 629: 568: 310: 55: 841: 35: 944: 246:
OCLC-hosted service for several months. The service hosted on Internet Archive servers supports access via
1051: 531:
browsers will stop following redirections once a set limit is encountered (in an attempt to avoid loops).
536: 182: 1026: 917: 855: 668: 623: 306: 20: 325:
whether the PURL failed to resolve because a network failure prevented it or because it did not exist.
1046: 1041: 162: 719: 596: 899: 792: 150: 1021: 811: 745: 133:. The remainder of this article is about the OCLC's PURL system, proposed and implemented by 891: 784: 746:"OCLC and Internet Archive work together to ensure future sustainability of Persistent URLs" 540: 294:. PURLs allow third party control over both URL resolution and resource metadata provision. 242: 930: 868: 674: 658: 43: 663: 291: 1035: 635: 903: 796: 974: 883: 560: 552: 346: 345:
are used as permanent/persistent URL and redirect to the location of the requested
47: 837: 556: 350: 788: 119: 945:"Handling of Fragment Identifiers in Redirected URLs, Expired Internet Draft" 705: 693: 653: 338: 161:(the 'Z' came from the Zepheira name and was used to differentiate the PURL 73:
came to be generic and was used to designate any redirection service (named
174: 149:
in 1995. The PURL system was implemented using a forked pre-1.0 release of
365:
usually does not change the URL's domain, and is designed to persist over
643: 376:
domain name is independently changeable, and is designed to persist over
290:
The PURL concept allows for generalized URL curation of HTTP URIs on the
154: 838:"Metadata Foundations for the Life Cycle Management of Software Systems" 223:
Other notable PURL resolvers include the US Government Printing Office (
170: 128: 884:"Uniform Resource Identifier (URI): Generic Syntax, RFC 3986 (STD 66)" 895: 559:
content. This use of the 303 HTTP status code is conformant with the
107:
with its URL (to be redirected), and to update this redirection-URL;
349:. Roughly speaking, they are the same. Their differences are about 309:
for virtual resources. Other persistent identifier schemes include
318: 110:
ensure the persistence (e.g. by contract) of the root URL and the
457:
Redirect to a target URL with trailing path information appended
1006: 948: 887: 648: 354: 314: 238:, that may replace the old PURL-services and PURL-technologies. 193: 189: 146: 145:
The PURL concept was developed by Stuart Weibel and Erik Jul at
134: 51: 840:. School of Information Technology and Electrical Engineering, 564: 708:
and others, they use directly or indirectly the PURL concept.
575:
and 410 (Gone) response codes are provided for completeness.
882:
Berners-Lee, T.; Fielding, R.; Masinter, L. (January 2005).
157:
under contract to OCLC and the official website moved to
19:"PURL" redirects here. For other meanings of "purl", see 1016: 748:(Press release). Dublin, Ohio: OCLC. 27 September 2016. 272: 224: 198: 61:
Originally, PURLs were recognizable for being hosted at
1057:
Free software programmed in Java (programming language)
241:
On 27 September 2016 OCLC announced a cooperation with
153:. The software was modernized and extended in 2007 by 92:
provides means, to its user-community, to include new
260: 235: 1011: 1001: 278: 266: 254: 248: 216: 210: 204: 158: 62: 185:implemented PURLs as of its 1.0 release in 2012. 181:in 2010 but the release was never finalized. The 173:). Zepheira released PURLz 1.0 in 2007 under the 446:Redirect to another PURL within the same server 196:from 1995 to September 2016 and was reached as 165:site from the PURL resolver operated by OCLC). 763:for purl.org, purl.com, purl.info and purl.net 1017:US Government Printing Office's PURL resolver 8: 1007:Official website for The Callimachus Project 16:OCLC-designed persistent identifier scheme 720:"PURLs to improve access to the Internet" 969: 967: 965: 512:Copy the attributes of an existing PURL 392: 685: 1027:DPE/PURL Information and Resolver Site 975:"Common User Agent Problems, W3C Note" 926: 915: 864: 853: 775:Yakel, E. (2007). "Digital Curation". 270:. OCLC now redirects DNS requests for 231:and has been in operation since 1997. 137:(the Online Computer Library Center). 7: 951:Networking Working Group. 1999-06-30 752:from the original on 2 February 2023 171:http://opensource.org/licenses/oclc2 98:http://myPurlResolver.example/name22 479:Temporary redirect to a target URL 435:Simple redirection to a target URL 28:persistent uniform resource locator 718:Weibel, Stuart; Jul, Erik (1995). 424:Moved permanently to a target URL 229:Federal Depository Library Program 14: 836:Hyland-Wood, David (2008-07-01). 103:provides means to associate each 46:to the location of the requested 1012:Internet Archive's PURL resolver 234:The PURL concept is used in the 549:Resource Description Framework 413:Content created or aggregated 65:or other hostnames containing 1: 551:(RDF) and have relevance for 227:), which is operated for the 87:http://myPurlResolver.example 1062:Cross-platform free software 842:The University of Queensland 586:Redirection of URL fragments 565:Technical Architecture Group 305:PURLs implement one form of 177:. PURLz 2.0 was released in 38:(URL) (i.e., location-based 1072:Internet software for Linux 810:Martin, Sean (2006-06-30). 777:OCLC Systems & Services 175:Apache License, Version 2.0 122:like HTTP. Technically the 40:uniform resource identifier 1093: 1002:Official website for PURLz 890:Networking Working Group. 311:Digital Object Identifiers 18: 979:World Wide Web Consortium 816:World Wide Web Consortium 789:10.1108/10650750710831466 630:Digital Object Identifier 620:Implementation examples: 569:World Wide Web Consortium 543:in relational databases. 315:Life Sciences Identifiers 192:resolver was operated by 1022:persistent-identifier.de 333:Comparing with permalink 81:has a "root URL" as the 42:or URI) that is used to 36:uniform resource locator 1067:History of the Internet 726:(November/December): 19 286:Principles of operation 1077:Unix Internet software 925:Cite journal requires 863:Cite journal requires 96:in the root URL (e.g. 669:Uniform Resource Name 624:Archival Resource Key 307:persistent identifier 21:Purl (disambiguation) 812:"LSID URN/URI Notes" 597:Fragment identifiers 225:http://purl.fdlp.gov 163:open-source software 537:Callimachus Project 482:Temporary Redirect 395: 183:Callimachus Project 427:Moved permanently 393: 151:Apache HTTP Server 519: 518: 501:Permanently gone 490:Temporarily gone 124:string resolution 56:HTTP status codes 50:. PURLs redirect 1084: 990: 989: 987: 986: 971: 960: 959: 957: 956: 941: 935: 934: 928: 923: 921: 913: 911: 910: 896:10.17487/RFC3986 879: 873: 872: 866: 861: 859: 851: 849: 848: 833: 827: 826: 824: 823: 807: 801: 800: 772: 766: 765: 759: 757: 742: 736: 735: 733: 731: 715: 709: 690: 541:stored procedure 396: 281: 275: 269: 263: 257: 251: 243:Internet Archive 219: 213: 207: 201: 188:The oldest PURL 159:http://purlz.org 126:on PURL is like 99: 88: 85:reference (e.g. 68: 1092: 1091: 1087: 1086: 1085: 1083: 1082: 1081: 1032: 1031: 998: 993: 984: 982: 973: 972: 963: 954: 952: 943: 942: 938: 924: 914: 908: 906: 881: 880: 876: 862: 852: 846: 844: 835: 834: 830: 821: 819: 809: 808: 804: 774: 773: 769: 755: 753: 744: 743: 739: 729: 727: 724:OCLC Newsletter 717: 716: 712: 691: 687: 683: 675:Wayback Machine 659:URL redirection 617: 588: 563:finding of the 387: 335: 288: 277: 271: 265: 259: 253: 247: 215: 209: 203: 197: 143: 97: 86: 66: 24: 17: 12: 11: 5: 1090: 1088: 1080: 1079: 1074: 1069: 1064: 1059: 1054: 1049: 1044: 1034: 1033: 1030: 1029: 1024: 1019: 1014: 1009: 1004: 997: 996:External links 994: 992: 991: 961: 936: 927:|journal= 874: 865:|journal= 828: 802: 783:(4): 335–340. 767: 737: 710: 684: 682: 679: 678: 677: 672: 666: 664:URL shortening 661: 656: 651: 646: 641: 640: 639: 633: 627: 616: 613: 587: 584: 517: 516: 513: 510: 506: 505: 502: 499: 495: 494: 491: 488: 484: 483: 480: 477: 473: 472: 469: 468:See other URL 466: 462: 461: 458: 455: 451: 450: 447: 444: 440: 439: 436: 433: 429: 428: 425: 422: 418: 417: 414: 411: 407: 406: 403: 400: 386: 383: 382: 381: 370: 334: 331: 292:World Wide Web 287: 284: 142: 139: 116: 115: 108: 101: 90: 54:clients using 15: 13: 10: 9: 6: 4: 3: 2: 1089: 1078: 1075: 1073: 1070: 1068: 1065: 1063: 1060: 1058: 1055: 1053: 1052:1995 software 1050: 1048: 1045: 1043: 1040: 1039: 1037: 1028: 1025: 1023: 1020: 1018: 1015: 1013: 1010: 1008: 1005: 1003: 1000: 999: 995: 980: 976: 970: 968: 966: 962: 950: 946: 940: 937: 932: 919: 905: 901: 897: 893: 889: 885: 878: 875: 870: 857: 843: 839: 832: 829: 817: 813: 806: 803: 798: 794: 790: 786: 782: 778: 771: 768: 764: 751: 747: 741: 738: 725: 721: 714: 711: 707: 703: 699: 695: 689: 686: 680: 676: 673: 670: 667: 665: 662: 660: 657: 655: 652: 650: 647: 645: 642: 637: 636:Handle System 634: 631: 628: 625: 622: 621: 619: 618: 614: 612: 608: 606: 600: 598: 592: 585: 583: 580: 576: 572: 570: 566: 562: 561:http-range-14 558: 554: 550: 544: 542: 538: 532: 528: 525: 514: 511: 508: 507: 503: 500: 497: 496: 492: 489: 486: 485: 481: 478: 475: 474: 470: 467: 464: 463: 459: 456: 453: 452: 448: 445: 442: 441: 437: 434: 431: 430: 426: 423: 420: 419: 415: 412: 409: 408: 405:HTTP meaning 404: 402:PURL meaning 401: 398: 397: 391: 384: 379: 375: 371: 368: 364: 360: 359: 358: 356: 352: 348: 344: 340: 332: 330: 326: 322: 320: 316: 312: 308: 303: 299: 295: 293: 285: 283: 280: 274: 273:purl.oclc.org 268: 262: 256: 250: 244: 239: 237: 232: 230: 226: 221: 218: 212: 206: 200: 199:purl.oclc.org 195: 191: 186: 184: 180: 176: 172: 166: 164: 160: 156: 152: 148: 140: 138: 136: 132: 130: 125: 121: 113: 112:PURL resolver 109: 106: 102: 95: 91: 84: 80: 79: 78: 76: 75:PURL resolver 72: 64: 59: 57: 53: 49: 45: 41: 37: 33: 29: 22: 983:. Retrieved 981:. 2001-02-06 953:. Retrieved 939: 918:cite journal 907:. Retrieved 877: 856:cite journal 845:. Retrieved 831: 820:. Retrieved 805: 780: 776: 770: 761: 754:. Retrieved 740: 728:. Retrieved 723: 713: 692:Services as 688: 609: 604: 601: 593: 589: 581: 577: 573: 553:Semantic Web 545: 533: 529: 520: 388: 377: 373: 366: 362: 347:web resource 342: 336: 327: 323: 317:(LSIDs) and 304: 300: 296: 289: 240: 233: 222: 187: 179:Beta testing 167: 144: 127: 123: 117: 111: 104: 93: 82: 74: 71:PURL concept 70: 60: 48:web resource 31: 27: 25: 1047:Identifiers 1042:URI schemes 730:17 December 638:identifiers 557:linked data 394:PURL types 351:domain name 202:as well as 120:URI schemes 1036:Categories 985:2008-03-01 955:2008-03-01 909:2008-03-01 847:2011-01-05 822:2011-01-05 681:References 493:Not Found 471:See Other 355:time scale 131:resolution 77:) that: 706:Permalink 654:Permalink 363:permalink 339:permalink 319:INFO URIs 261:purl.info 114:services. 904:30973664 818:ESW Wiki 797:33219560 756:10 April 750:Archived 644:Link rot 615:See also 524:end user 454:Partial 313:(DOIs), 279:purl.org 267:purl.com 255:purl.net 249:purl.org 236:w3id.org 217:purl.com 211:purl.net 205:purl.org 155:Zepheira 83:resolver 63:purl.org 44:redirect 694:URN LEX 567:of the 378:decades 141:History 129:SEF URL 34:) is a 902:  795:  605:et al. 509:Clone 460:Found 449:Found 443:Chain 438:Found 264:, and 214:, and 900:S2CID 793:S2CID 671:(URN) 632:(DOI) 626:(ARK) 504:Gone 399:Type 385:Types 367:years 337:Both 94:names 949:IETF 931:help 888:IETF 869:help 758:2023 732:2021 700:and 649:OPAC 555:and 515:N/A 498:410 487:404 476:307 465:303 432:302 421:301 410:200 374:PURL 353:and 343:PURL 341:and 194:OCLC 190:HTTP 147:OCLC 135:OCLC 105:name 67:purl 52:HTTP 32:PURL 892:doi 785:doi 702:DOI 698:ELI 416:OK 276:to 58:. 1038:: 977:. 964:^ 947:. 922:: 920:}} 916:{{ 898:. 886:. 860:: 858:}} 854:{{ 814:. 791:. 781:23 779:. 760:. 722:. 704:, 696:, 571:. 372:A 361:A 357:: 282:. 258:, 252:, 220:. 208:, 100:); 89:); 26:A 988:. 958:. 933:) 929:( 912:. 894:: 871:) 867:( 850:. 825:. 799:. 787:: 734:. 380:. 369:. 169:( 30:( 23:.

Index

Purl (disambiguation)
uniform resource locator
uniform resource identifier
redirect
web resource
HTTP
HTTP status codes
purl.org
URI schemes
SEF URL
OCLC
OCLC
Apache HTTP Server
Zepheira
http://purlz.org
open-source software
http://opensource.org/licenses/oclc2
Apache License, Version 2.0
Beta testing
Callimachus Project
HTTP
OCLC
purl.oclc.org
purl.org
purl.net
purl.com
http://purl.fdlp.gov
Federal Depository Library Program
w3id.org
Internet Archive

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.