348:
Shift (CLS) and
Largest Contentful Paint (LCP) allow for website owner to gain insights into issues that might hurt the performance of their websites making it seem sluggish or slow to the user. Other metrics including Request Count (number of requests required to load a page), DOMContentLoaded (time when HTML document is completely loaded and parsed excluding CSS style sheets, images, etc.), Above The Fold Time (content that is visible without scrolling), Round Trip Time, number of Render Blocking Resources (such as scripts, stylesheets), Onload Time, Connection Time, Total Page Size help provide an accurate picture of latencies and slowdowns occurring at the networking level which might slow down a site.
225:(HTTP) request submitted when downloading a web page. These requests total the number of page elements required for download. However, a browser is limited to opening only a certain number of simultaneous connections to a single host. To prevent bottlenecks, the number of individual page elements are reduced using resource consolidation whereby smaller files (such as images) are bundled together into one file. This reduces HTTP requests and the number of "round trips" required to load a web page.
45:. Web performance also leads to less data travelling across the web, which in turn lowers a website's power consumption and environmental impact. Some aspects which can affect the speed of page load include browser/server cache, image optimization, and encryption (for example SSL), which can affect the time it takes for pages to render. The performance of the web page can be improved through techniques such as multi-layered cache, light weight design of presentation layer components and
88:
363:. Google publishes a library, the core-web-vitals library that allows for easy measurement of these metrics in frontend applications. In addition to this, Google also provides the Lighthouse, a Chrome dev-tools component and PageSpeed Insight a site that allows developers to measure and compare the performance of their website with Google's recommended minimums and maximums.
255:. Requests web browsers make are typically routed to the HTTP cache to validate if a cached response may be used to fulfill a request. If such a match is made, the response is fulfilled from the cache. This can be helpful for reducing network latency and costs associated with data-transfer. The HTTP cache is configured using request and response headers.
284:
of images and video reduces initial page load time, initial page weight, and system resource usage, all of which have positive impacts on website performance. It is used to defer initialization of an object right until the point at which it is needed. The browser loads the images in a page or post
347:
In recent years, several metrics have been introduced that help developers measure various aspects of the performance of their websites. In 2019, Google introduced metrics such as Time to First Byte (TTFB), First
Contentful Paint (FCP), First Paint (FP), First Input Delay (FID), Cumulative Layout
261:
distinguishes discrepancies between codes written by web developers and how network elements interpret code. Minification removes comments and extra spaces as well as crunch variable names in order to minimize code, decreasing files sizes by as much as 60%. In addition to caching and compression,
204:. They employ several techniques that streamline web optimization tasks to decrease web page load times. This process is known as front end optimization (FEO) or content optimization. FEO concentrates on reducing file sizes and "minimizing the number of requests needed for a given page to load."
250:
to store copies of documents passing through their system. Subsequent requests from the cache may be fulfilled should certain conditions apply. Web caches are located on either the client side (forward position) or web-server side (reverse position) of a CDN. Web browsers are also able to store
65:
Steve
Souders coined the term "web performance optimization" in 2004. At that time Souders made several predictions regarding the impact that WPO as an "emerging industry" would bring to the web, such as websites being fast by default, consolidation, web standards for performance, environmental
61:
by
Patrick Killelea, some of the early techniques used were to use simple servlets or CGI, increase server memory, and look for packet loss and retransmission. Although these principles now comprise much of the optimized foundation of internet applications, they differ from current optimization
69:
One major point that
Souders made in 2007 is that at least 80% of the time that it takes to download and view a website is controlled by the front-end structure. This lag time can be decreased through awareness of typical browser behavior, as well as of how
211:—a group of proxy servers spread across various locations around the globe—is an efficient delivery system that chooses a server for a specific user based on network proximity. Typically the server with the quickest response time is selected.
236:(HTML). As web pages grow in complexity, so do their code files and subsequently their load times. File compression can reduce code files by as much as 80 percent, thereby improving site responsiveness.
293:
Since web browsers use multiple TCP connections for parallel user requests, congestion and browser monopolization of network resources may occur. Because HTTP/1 requests come with associated
57:
In the first decade or so of the web's existence, web performance improvement was focused mainly on optimizing website code and pushing hardware limitations. According to the 2002 book
266:
techniques (similar to those used with audio files) remove non-essential header information and lower original image quality on many high resolution images. These changes, such as
41:
Faster website download speeds have been shown to increase visitor retention and loyalty and user satisfaction, especially for users with slow internet connections and those on
366:
In addition to this, tools such as the
Network Monitor by Mozilla Firefox help provide insight into network-level slowdowns that might occur during transmission of data.
335:
Instead of a website's hosting server, CDNs are used in tandem with HTTP/2 in order to better serve the end-user with web resources such as images, JavaScript files and
270:
complexity or color gradations, are transparent to the end-user and do not noticeably affect perception of the image. Another technique is the replacement of
285:
when they are needed such as when the user scrolls down the page and not all images at once, which is the default behavior, and naturally, takes more time.
160:
132:
529:
502:
810:
383:
351:
Modules to measure metrics such as TTFB, FCP, LCP, FP etc are provided with major frontend JavaScript libraries such as
139:
743:
719:
692:
668:
179:
117:
762:
109:
146:
566:
539:
512:
485:
113:
453:
218:
405:
128:
556:
222:
214:
The following techniques are commonly used web optimization tasks and are widely used by web developers:
586:
475:
352:
258:
46:
635:
786:
233:
431:
942:
208:
98:
102:
336:
243:
153:
294:
835:
8:
531:
Designing for
Sustainability: A Guide to Building Greener Digital Products and Services
504:
Designing for
Sustainability: A Guide to Building Greener Digital Products and Services
325:
319:
62:
theory in that there was much less of an attempt to improve the browser display speed.
739:
715:
688:
664:
562:
535:
508:
481:
263:
907:
859:
339:(CSS) files since a CDN's location is usually in closer proximity to the end-user.
275:
271:
193:
883:
201:
936:
197:
42:
397:
312:
281:
305:
27:
445:
297:, web performance is impacted by limited bandwidth and increased usage.
376:
229:
252:
239:
87:
247:
23:
811:"Front-End Performance Checklist 2021 (PDF, Apple Pages, MS Word)"
278:. Vector substitution is best suited for simple geometric images.
356:
331:
allows servers to "push" responses proactively into client caches
572:
196:(UX) when visiting a website and therefore is highly desired by
610:
360:
267:
38:
is the field of knowledge about increasing web performance.
71:
787:"Measuring Web Performance in 2023: The Definitive Guide"
207:
In addition to the techniques listed below, the use of a
66:
impacts of optimization, and speed as a differentiator.
763:"Measuring performance - Learn web development | MDN"
636:"HTTP/2 – A Real-World Performance Test and Analysis"
712:
423:
934:
228:Web pages are constructed from code files such
251:content for re-use through the HTTP cache or
16:Speed web pages are downloaded and displayed
480:. Sebastopol: O'Reilly Media. p. 480.
454:"Web performance optimization for everyone"
116:. Unsourced material may be challenged and
26:are downloaded and displayed on the user's
836:"Measuring Performance | Create React App"
406:"WPO | Preparing for Cyber Monday Traffic"
384:"Google Adds Site Speed To Search Ranking"
77:
242:reduces server load, bandwidth usage and
180:Learn how and when to remove this message
736:Responsive Web Design with HTML5 and CSS
561:. Farnham: O'Reilly Media. p. 170.
473:
554:
507:. Boston: O'Reilly Media. p. 195.
935:
587:"Lazy loading - Web Performance | MDN"
534:. Boston: O'Reilly Media. p. 56.
288:
192:Web performance optimization improves
757:
755:
706:
704:
527:
500:
318:can therefore use one connection for
451:
114:adding citations to reliable sources
81:
661:Mobile Web Performance Optimization
611:"HTTP/2 Frequently Asked Questions"
429:
13:
908:"User-centric performance metrics"
752:
701:
403:
32:Web performance optimization (WPO)
14:
954:
246:. CDNs use dedicated web caching
86:
900:
876:
852:
828:
803:
779:
728:
677:
653:
628:
603:
685:The Web Performance Collection
579:
548:
521:
494:
467:
328:compression to reduce overhead
315:instead of ordered and blocked
1:
369:
219:Transmission Control Protocol
49:with server side components.
22:refers to the speed in which
274:with resolution-independent
7:
300:Compared to HTTP/1, HTTP/2
223:Hypertext Transfer Protocol
221:(TCP) connections for each
217:Web browsers open separate
10:
959:
474:Killelea, Patrick (2002).
342:
52:
47:asynchronous communication
558:High Performance Websites
234:Hypertext Markup Language
240:Web Caching Optimization
209:content delivery network
555:Souders, Steve (2007).
78:Optimization techniques
477:Web Performance Tuning
432:"Web First for Mobile"
59:Web Performance Tuning
767:developer.mozilla.org
591:developer.mozilla.org
337:Cascading Style Sheet
860:"@nuxtjs/web-vitals"
840:create-react-app.dev
110:improve this section
36:website optimization
528:Frick, Tim (2016).
501:Frick, Tim (2016).
289:HTTP/1.x and HTTP/2
615:HTTP Working Group
452:Bellonch, Albert.
308:instead of textual
815:Smashing Magazine
259:Code minification
190:
189:
182:
164:
129:"Web performance"
950:
930:
922:
921:
919:
918:
904:
898:
897:
895:
894:
884:"vue-web-vitals"
880:
874:
873:
871:
870:
856:
850:
849:
847:
846:
832:
826:
825:
823:
822:
807:
801:
800:
798:
797:
783:
777:
776:
774:
773:
759:
750:
749:
732:
726:
725:
708:
699:
698:
681:
675:
674:
657:
651:
650:
648:
646:
632:
626:
625:
623:
621:
607:
601:
600:
598:
597:
583:
577:
576:
575:on 8 March 2019.
571:. Archived from
552:
546:
545:
525:
519:
518:
498:
492:
491:
471:
465:
464:
462:
460:
449:
443:
442:
440:
438:
430:Souders, Steve.
427:
421:
420:
418:
416:
401:
395:
394:
392:
390:
380:
185:
178:
174:
171:
165:
163:
122:
90:
82:
958:
957:
953:
952:
951:
949:
948:
947:
943:Web development
933:
932:
928:
926:
925:
916:
914:
906:
905:
901:
892:
890:
882:
881:
877:
868:
866:
858:
857:
853:
844:
842:
834:
833:
829:
820:
818:
809:
808:
804:
795:
793:
791:Request Metrics
785:
784:
780:
771:
769:
761:
760:
753:
746:
734:
733:
729:
722:
710:
709:
702:
695:
683:
682:
678:
671:
659:
658:
654:
644:
642:
634:
633:
629:
619:
617:
609:
608:
604:
595:
593:
585:
584:
580:
569:
553:
549:
542:
526:
522:
515:
499:
495:
488:
472:
468:
458:
456:
450:
446:
436:
434:
428:
424:
414:
412:
402:
398:
388:
386:
382:
381:
377:
372:
345:
291:
276:vector graphics
272:raster graphics
194:user experience
186:
175:
169:
166:
123:
121:
107:
91:
80:
55:
20:Web performance
17:
12:
11:
5:
956:
946:
945:
924:
923:
899:
875:
851:
827:
802:
778:
751:
744:
727:
720:
700:
693:
676:
669:
652:
627:
602:
578:
567:
547:
540:
520:
513:
493:
486:
466:
444:
422:
404:Sharon, Bell.
396:
374:
373:
371:
368:
344:
341:
333:
332:
329:
322:
316:
309:
290:
287:
202:web developers
188:
187:
94:
92:
85:
79:
76:
54:
51:
43:mobile devices
15:
9:
6:
4:
3:
2:
955:
944:
941:
940:
938:
931:
913:
909:
903:
889:
885:
879:
865:
861:
855:
841:
837:
831:
816:
812:
806:
792:
788:
782:
768:
764:
758:
756:
747:
745:9781803231723
741:
737:
731:
723:
721:9783944540948
717:
713:
707:
705:
696:
694:9781492069805
690:
686:
680:
672:
670:9781785284625
666:
662:
656:
641:
637:
631:
616:
612:
606:
592:
588:
582:
574:
570:
564:
560:
559:
551:
543:
537:
533:
532:
524:
516:
510:
506:
505:
497:
489:
483:
479:
478:
470:
455:
448:
433:
426:
411:
407:
400:
385:
379:
375:
367:
364:
362:
358:
354:
349:
340:
338:
330:
327:
323:
321:
317:
314:
310:
307:
303:
302:
301:
298:
296:
286:
283:
279:
277:
273:
269:
265:
260:
256:
254:
249:
245:
241:
237:
235:
231:
226:
224:
220:
215:
212:
210:
205:
203:
199:
198:web designers
195:
184:
181:
173:
162:
159:
155:
152:
148:
145:
141:
138:
134:
131: –
130:
126:
125:Find sources:
119:
115:
111:
105:
104:
100:
95:This section
93:
89:
84:
83:
75:
73:
67:
63:
60:
50:
48:
44:
39:
37:
33:
29:
25:
21:
927:
915:. Retrieved
911:
902:
891:. Retrieved
887:
878:
867:. Retrieved
863:
854:
843:. Retrieved
839:
830:
819:. Retrieved
817:. 2021-01-12
814:
805:
794:. Retrieved
790:
781:
770:. Retrieved
766:
735:
730:
711:
684:
679:
660:
655:
643:. Retrieved
639:
630:
618:. Retrieved
614:
605:
594:. Retrieved
590:
581:
573:the original
557:
550:
530:
523:
503:
496:
476:
469:
457:. Retrieved
447:
435:. Retrieved
425:
413:. Retrieved
409:
399:
387:. Retrieved
378:
365:
350:
346:
334:
299:
292:
282:Lazy loading
280:
257:
238:
227:
216:
213:
206:
191:
176:
167:
157:
150:
143:
136:
124:
108:Please help
96:
68:
64:
58:
56:
40:
35:
31:
19:
18:
320:parallelism
313:multiplexed
264:compression
28:web browser
917:2023-01-09
893:2023-01-09
869:2023-01-09
845:2023-01-09
821:2023-01-09
796:2023-01-09
772:2023-01-09
640:CSS Tricks
596:2022-03-15
568:0596529309
541:1491935774
514:1491935774
487:059600172X
459:4 December
437:4 December
415:4 December
410:CDNetworks
389:4 December
370:References
230:JavaScript
140:newspapers
311:is fully
253:web cache
97:does not
24:web pages
937:Category
738:. 2022.
687:. 2018.
663:. 2015.
645:14 April
620:14 April
295:overhead
248:software
170:May 2017
912:web.dev
343:Metrics
244:latency
154:scholar
118:removed
103:sources
74:works.
53:History
929:
742:
718:
691:
667:
565:
538:
511:
484:
357:NuxtJS
326:header
306:binary
262:lossy
156:
149:
142:
135:
127:
353:React
324:uses
268:pixel
161:JSTOR
147:books
34:, or
740:ISBN
716:ISBN
689:ISBN
665:ISBN
647:2017
622:2017
563:ISBN
536:ISBN
509:ISBN
482:ISBN
461:2012
439:2012
417:2012
391:2012
359:and
232:and
200:and
133:news
101:any
99:cite
72:HTTP
888:npm
864:npm
361:Vue
304:is
112:by
939::
910:.
886:.
862:.
838:.
813:.
789:.
765:.
754:^
714:.
703:^
638:.
613:.
589:.
408:.
355:,
30:.
920:.
896:.
872:.
848:.
824:.
799:.
775:.
748:.
724:.
697:.
673:.
649:.
624:.
599:.
544:.
517:.
490:.
463:.
441:.
419:.
393:.
183:)
177:(
172:)
168:(
158:·
151:·
144:·
137:·
120:.
106:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.