Knowledge (XXG)

Link prefetching

Source đź“ť

178: 528:
requests are said to be "safe", i.e., a user agent that issues one of these requests should expect that the request results in no change on the recipient server. However, it is common for website operators to use these requests outside of this constraint. Plain hyperlinks (which almost universally
532:
Similarly, it is entirely possible for a hosting service to provide a Web front end to manage files, including links that delete one or more files. Users who visit pages containing these types of links, (whilst using a browser which employs an indiscriminate link prefetcher), might find that they
529:
result in GET requests) are often used to implement logout functionality and account verification, e.g., when a user completes an account creation form, and an automated service sends a verification e-mail to the user's given e-mail address.
494:
implemented "Google Instant Pages" in August 2011 which takes advantage of the aforementioned feature, predictive search completion, and preloading search results as the user types in order to improve the performance of the search
163:
Link: <//pagead2.googlesyndication.com>; rel=dns-prefetch, </js/bootstrap.min.js>; as=script; rel=preload, </ads.html>; rel=prerender, </css/bootstrap.min.css>; as=style; rel=preload
558:
Users and website operators who pay for the amount of bandwidth they use find themselves paying for traffic for pages the user might not actually visit, and advertisers might pay for viewed ads on sites that are never
802: 487:
that takes advantage of this feature so as to improve the user experience. If the first hit is considered very probable to be the desired hit, it is assigned as a prefetchable link.
468:
As of version 11, Internet Explorer supports the following set of features to expand its prefetching capabilities: "prerender", "dns-prefetch" and "lazyload" (images only).
584:
In the case of mobile devices or for users with a limited bandwidth allowance, prefetching may result in an unnecessary costly drain on limited bandwidth.
1005: 40:
Prefetching is accomplished through hints in web pages. These hints are used by the browser to prefetch links. Resources which can be prefetched include:
806: 594:
warns that improper use may result in the aforementioned increased bandwidth usage, slower loading of other links, and slightly stale content.
1066: 33:
allows web browsers to pre-load resources. This speeds up both the loading and rendering of web pages. Prefetching was first introduced in
901: 212: 197:
Please help improve this article by looking for better, more reliable sources. Unreliable citations may be challenged and removed.
967: 573:
Users may be exposed to more security risks by downloading more pages, or from un-requested sites (additionally compounded as
536:
Additionally, there are a number of criticisms regarding the privacy and resource usage implications of link prefetching:
57: 191: 580:
Users may violate acceptable-use policies of their network or organization if prefetching accesses unauthorized content.
186: 258: 403: 1013: 236: 949: 591: 491: 480: 414: 278: 177: 80: 45: 587:
It is possible for implementations to prefetch links even when they are not specified as prefetch links.
719: 95:
Hints to the browser. Common hints include DNS queries, opening TCP connections, and page pre-rendering.
858: 981: 504: 500: 373: 1046: 1036: 881: 354: 921: 695: 458: 53: 418: 957: 603: 574: 548: 454: 425: 316: 143: 133: 971: 685: 777: 953: 438: 335: 241: 115: 1051: 570:
may become less reliable due to registering page hits that were never seen by the user.
84: 49: 820: 1060: 563: 444: 297: 129: 119: 941: 516:
An issue inherent to indiscriminate link prefetching involves the misuse of "safe"
251: 246: 156: 699: 1009: 984: 961: 541: 517: 17: 945: 76: 41: 567: 525: 447:
supports prefetching of linked web content by "prerendering", as of version
1041: 835: 521: 652: 503:
has employed the use of prefetching and preloading since the release of
484: 1052:
A WordPress plugin that implements the true dynamic prerender meta tag
677: 976: 690: 407: 101: 34: 625: 552: 399: 410:
are the first referenced browsers to support link prefetching.
171: 533:
have been logged out or that their files have been deleted.
68:
There are two W3C standards covering prefetching for HTML5:
428:
proxy appliance is known to use non‑compliant prefetching.
124:<link rel="dns-prefetch" href="http://example.com/"> 110:<link rel="prefetch" href="http://www.example.com/"> 876: 874: 836:"Link Prefetching in Mozilla: A Server-Driven Approach" 1047:
Prerender and prefetch support in Internet Explorer 11
902:"Internet Explorer 9 Network Performance Improvements" 555:
merely because a malware-spreading link is prefetched.
138:<link rel="prerender" href="/page/to/prerender"> 562:
Web statistics such as browser usage, search engine
108:
Standard link prefetch (supported by most browsers):
882:"Web Developer's Guide to Prerendering in Chrome" 803:"Getting to the Content You Want, Faster in IE11" 417:(discontinued product, may technically be called 60:connections can also be hinted for prefetching. 821:"Bug 730101 - Implement prerendering in Firefox" 540:Cookies set or sent to third parties compromise 805:. IEBlog, Microsoft. 2013-12-04. Archived from 75:Hints to specific URLs. Common hints include 8: 441:supports DNS prefetching, as of version 3.5. 797: 795: 793: 791: 789: 787: 772: 770: 768: 766: 764: 762: 760: 224: 975: 758: 756: 754: 752: 750: 748: 746: 744: 742: 740: 689: 457:supports prefetching of IP addresses by " 213:Learn how and when to remove this message 27:Allows web browsers to pre-load resources 614: 7: 970:. p. 50. sec. 9.1.1. 963:Hypertext Transfer Protocol—HTTP/1.1 647: 645: 620: 618: 148:<img src="image.jpg" lazyload> 577:become more advanced and diverse). 25: 724:Resource Hints: W3C Working Draft 952:; Masinter, Larry; Leach, Paul; 176: 834:Fisher, Darin; Saksena, Gagan. 547:Enables essentially/borderline 475:Popular sites using prefetching 1: 859:"Controlling DNS prefetching" 590:In the case of prerendering, 1037:Mozilla Link Prefetching FAQ 780:. Steve Souders. 2013-10-07. 720:"Resource Hints (Example 6)" 104:methods for prefetch hints: 1067:Hypertext Transfer Protocol 461:prefetching", as of version 48:, image, audio, video, and 1083: 1042:Test for Prefetch support 966:. Network Working Group. 551:malware installation via 404:Mozilla Application Suite 237:Standard link prefetching 230: 227: 676:Nottingham, M. (2010). 483:is the most well-known 185:Some of this article's 922:"About Google Instant" 823:. Mozilla. 2014-10-18. 415:Google Web Accelerator 231:Prefetching Supported 1006:"Mouseover Prefetch?" 512:Issues and criticisms 142:Lazy-load of images ( 505:Internet Explorer 11 128:Page pre-rendering ( 64:Prefetching in HTML5 1008:. Gervase Markham, 948:; Mogul, Jeffrey; 575:drive-by downloads 252:Lazy-load (Images) 604:Cache prefetching 549:Zero-click attack 455:Internet Explorer 413:Browsing using a 391: 390: 317:Internet Explorer 223: 222: 215: 144:Internet Explorer 134:Internet Explorer 16:(Redirected from 1074: 1025: 1024: 1022: 1021: 1012:. Archived from 1004:various (2009). 1001: 995: 994: 992: 991: 979: 977:10.17487/RFC2616 954:Berners-Lee, Tim 938: 932: 931: 929: 928: 918: 912: 911: 909: 908: 898: 892: 891: 889: 888: 878: 869: 868: 866: 865: 855: 849: 848: 846: 845: 840: 831: 825: 824: 817: 811: 810: 799: 782: 781: 774: 735: 734: 732: 731: 716: 710: 709: 707: 706: 693: 691:10.17487/RFC5988 673: 667: 666: 664: 663: 653:"Resource Hints" 649: 640: 639: 637: 636: 622: 464: 450: 225: 218: 211: 207: 204: 198: 180: 172: 159:: Example below. 154: 149: 139: 125: 111: 31:Link prefetching 21: 1082: 1081: 1077: 1076: 1075: 1073: 1072: 1071: 1057: 1056: 1033: 1028: 1019: 1017: 1003: 1002: 998: 989: 987: 950:Frystyk, Henrik 940: 939: 935: 926: 924: 920: 919: 915: 906: 904: 900: 899: 895: 886: 884: 880: 879: 872: 863: 861: 857: 856: 852: 843: 841: 838: 833: 832: 828: 819: 818: 814: 801: 800: 785: 776: 775: 738: 729: 727: 718: 717: 713: 704: 702: 675: 674: 670: 661: 659: 651: 650: 643: 634: 632: 624: 623: 616: 612: 600: 514: 507:(October 2013). 477: 462: 448: 439:Mozilla Firefox 435: 433:Modern browsers 396: 336:Mozilla Firefox 242:DNS prefetching 219: 208: 202: 199: 196: 181: 170: 168:Browser support 165: 152: 147: 137: 123: 116:Mozilla Firefox 109: 92:Resource hints 66: 28: 23: 22: 18:DNS prefetching 15: 12: 11: 5: 1080: 1078: 1070: 1069: 1059: 1058: 1055: 1054: 1049: 1044: 1039: 1032: 1031:External links 1029: 1027: 1026: 996: 958:"Safe Methods" 933: 913: 893: 870: 850: 826: 812: 809:on 2014-05-12. 783: 736: 711: 668: 641: 613: 611: 608: 607: 606: 599: 596: 582: 581: 578: 571: 560: 556: 545: 513: 510: 509: 508: 498: 497: 496: 490:Specifically, 476: 473: 472: 471: 470: 469: 452: 442: 434: 431: 430: 429: 422: 411: 395: 392: 389: 388: 385: 382: 379: 376: 370: 369: 366: 363: 360: 357: 351: 350: 347: 344: 341: 338: 332: 331: 328: 325: 322: 319: 313: 312: 309: 306: 303: 300: 294: 293: 290: 287: 284: 281: 275: 274: 271: 268: 265: 262: 255: 254: 249: 244: 239: 233: 232: 229: 221: 220: 187:listed sources 184: 182: 175: 169: 166: 162: 161: 160: 150: 140: 126: 122:, and others): 114:DNS prefetch ( 112: 99: 98: 97: 96: 90: 89: 88: 65: 62: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 1079: 1068: 1065: 1064: 1062: 1053: 1050: 1048: 1045: 1043: 1040: 1038: 1035: 1034: 1030: 1016:on 2009-05-31 1015: 1011: 1007: 1000: 997: 986: 983: 978: 973: 969: 965: 964: 959: 956:(June 1999). 955: 951: 947: 943: 942:Fielding, Roy 937: 934: 923: 917: 914: 903: 897: 894: 883: 877: 875: 871: 860: 854: 851: 837: 830: 827: 822: 816: 813: 808: 804: 798: 796: 794: 792: 790: 788: 784: 779: 778:"Prebrowsing" 773: 771: 769: 767: 765: 763: 761: 759: 757: 755: 753: 751: 749: 747: 745: 743: 741: 737: 725: 721: 715: 712: 701: 697: 692: 687: 683: 679: 678:"Web Linking" 672: 669: 658: 657:w3c.github.io 654: 648: 646: 642: 631: 630:w3c.github.io 627: 621: 619: 615: 609: 605: 602: 601: 597: 595: 593: 588: 585: 579: 576: 572: 569: 565: 561: 557: 554: 550: 546: 543: 539: 538: 537: 534: 530: 527: 523: 519: 511: 506: 502: 499: 493: 489: 488: 486: 482: 479: 478: 474: 467: 466: 460: 456: 453: 446: 445:Google Chrome 443: 440: 437: 436: 432: 427: 423: 420: 416: 412: 409: 405: 401: 398: 397: 393: 386: 383: 380: 377: 375: 372: 371: 367: 364: 361: 358: 356: 353: 352: 348: 345: 342: 339: 337: 334: 333: 329: 326: 323: 320: 318: 315: 314: 310: 307: 304: 301: 299: 298:Google Chrome 296: 295: 291: 288: 285: 282: 280: 277: 276: 272: 269: 266: 263: 260: 257: 256: 253: 250: 248: 245: 243: 240: 238: 235: 234: 226: 217: 214: 206: 194: 193: 188: 183: 179: 174: 173: 167: 158: 151: 145: 141: 135: 131: 130:Google Chrome 127: 121: 120:Google Chrome 117: 113: 107: 106: 105: 103: 94: 93: 91: 86: 83:, images and 82: 78: 74: 73: 72:Link preload 71: 70: 69: 63: 61: 59: 55: 51: 47: 43: 38: 36: 32: 19: 1018:. Retrieved 1014:the original 999: 988:. Retrieved 962: 936: 925:. Retrieved 916: 905:. Retrieved 896: 885:. Retrieved 862:. Retrieved 853: 842:. Retrieved 829: 815: 807:the original 728:. Retrieved 723: 714: 703:. Retrieved 681: 671: 660:. Retrieved 656: 633:. Retrieved 629: 589: 586: 583: 535: 531: 518:HTTP methods 515: 247:Prerendering 209: 200: 189: 157:HTTP headers 136:and others): 100: 67: 39: 30: 29: 1010:MozillaZine 946:Gettys, Jim 542:Web privacy 190:may not be 1020:2009-12-16 990:2009-12-16 927:2014-05-09 907:2014-05-09 887:2014-05-09 864:2014-05-09 844:2014-05-09 730:2016-10-31 705:2016-03-19 662:2016-03-19 635:2016-03-19 610:References 419:precaching 394:Historical 77:JavaScript 56:names and 42:JavaScript 626:"Preload" 568:page hits 564:referrers 426:Blue Coat 203:July 2021 85:web fonts 50:web fonts 1061:Category 684:. IETF. 682:RFC 5988 598:See also 559:visited. 522:HTTP GET 279:Chromium 261:browser 228:Browser 192:reliable 495:engine. 485:website 259:Android 700:367264 698:  592:Google 566:, and 520:. The 492:Google 481:Google 463:  449:  406:, and 374:Safari 839:(PDF) 726:. W3C 696:S2CID 408:WebTV 355:Opera 102:HTML5 35:HTML5 985:2616 968:IETF 553:0day 526:HEAD 524:and 501:Bing 424:The 400:iCab 381:Yes 359:Yes 343:Yes 340:Yes 330:Yes 327:Yes 324:Yes 321:Yes 308:Yes 305:Yes 302:Yes 289:Yes 286:Yes 283:Yes 264:Yes 155:for 153:Link 982:RFC 972:doi 686:doi 465:9. 459:DNS 451:11. 387:No 384:No 378:No 368:No 365:No 362:No 349:No 346:No 311:No 292:No 273:No 270:No 267:No 81:CSS 58:TCP 54:DNS 46:CSS 37:. 1063:: 980:. 960:. 944:; 873:^ 786:^ 739:^ 722:. 694:. 680:. 655:. 644:^ 628:. 617:^ 402:, 146:): 132:, 118:, 79:, 52:. 44:, 1023:. 993:. 974:: 930:. 910:. 890:. 867:. 847:. 733:. 708:. 688:: 665:. 638:. 544:. 421:) 216:) 210:( 205:) 201:( 195:. 87:. 20:)

Index

DNS prefetching
HTML5
JavaScript
CSS
web fonts
DNS
TCP
JavaScript
CSS
web fonts
HTML5
Mozilla Firefox
Google Chrome
Google Chrome
Internet Explorer
Internet Explorer
HTTP headers

listed sources
reliable
Learn how and when to remove this message
Standard link prefetching
DNS prefetching
Prerendering
Lazy-load (Images)
Android
Chromium
Google Chrome
Internet Explorer
Mozilla Firefox

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

↑