This link has been bookmarked by 2032 people and liked by 1 people. It was first bookmarked on 26 Jul 2007, by Garrett Pendergraft.
-
06 Jun 17
-
30 Dec 16
-
04 Jan 15
-
28 Jun 14
-
10 May 14
-
05 Apr 14
-
27 Mar 14
-
Anticipated preload - preload in advance before launching a redesign. It often happens after a redesign that you hear: "The new site is cool, but it's slower than before". Part of the problem could be that the users were visiting your old site with a full cache, but the new one is always an empty cache experience. You can mitigate this side effect by preloading some components before you even launched the redesign. Your old site can use the time the browser is idle and request images and scripts that will be used by the new site
-
-
19 Feb 14
-
16 Feb 14
-
09 Feb 14
-
04 Feb 14
-
15 Jan 14
-
09 Jan 14
-
13 Dec 13
-
09 Dec 13
-
At Yahoo! we often make this step part of the build process: a version number is embedded in the component's filename, for example, yahoo_2.0.6.js.
-
Using a far future Expires header affects page views only after a user has already visited your site. It has no effect on the number of HTTP requests when a user visits your site for the first time and the browser's cache is empt
-
The Apache modules help out by adding appropriate Vary response headers automatically.
-
An alternative in PHP would be to create a function called
insertScript.<?php insertScript("menu.js") ?>
In addition to preventing the same script from being inserted multiple times, this function could handle other issues with scripts, such as dependency checking and adding version numbers to script filenames to support far future Expires headers.
-
The problem with ETags is that they typically are constructed using attributes that make them unique to a specific server hosting a site. ETags won't match when a browser gets the original component from one server and later tries to validate that component on a different server, a situation that is all too common on Web sites that use a cluster of servers to handle requests. By default, both Apache and IIS embed data in the ETag that dramatically reduces the odds of the validity test succeeding on web sites with multiple servers.
-
If you're not taking advantage of the flexible validation model that ETags provide, it's better to just remove the ETag altogether. The
Last-Modifiedheader validates based on the component's timestamp. And removing the ETag reduces the size of the HTTP headers in both the response and subsequent requests. -
The browser must be informed when to use a previously cached address book response versus requesting a new one. This could be done by adding a timestamp to the address book Ajax URL indicating the last time the user modified her address book, for example,
&t=1190241612. If the address book hasn't been modified since the last download, the timestamp will be the same and the address book will be read from the browser's cache eliminating an extra HTTP roundtrip. If the user has modified her address book, the timestamp ensures the new URL doesn't match the cached response, and the browser will request the updated address book entries.
-
-
30 Nov 13
-
14 Nov 13
-
14 Oct 13
-
09 Oct 13
-
03 Oct 13
-
25 Sep 13
-
21 Sep 13
-
17 Sep 13
-
07 Sep 13
an88zi"Best Practices for Speeding Up Your Web Site
The Exceptional Performance team has identified a number of best practices for making web pages fast. The list includes 35 best practices divided into 7 categories.
Filter by category:
Content
Server
Cookie
CSS
JavaScript
Images
Mobile
All" -
04 Sep 13
-
26 Aug 13
-
25 Aug 13
-
23 Aug 13
-
22 Aug 13
-
14 Aug 13
-
31 Jul 13
-
23 Jul 13
-
21 Jul 13
-
27 Jun 13
-
26 Jun 13
-
Minimize HTTP Requests
-
simplify the page's design
-
reduce the number of components in the page
-
combining all scripts into a single script
-
Combined files
-
educing the number of image requests
-
Combine your background images into a single image
-
CSS Sprites
-
CSS
background-imageandbackground-positionproperties to display the desired image segment. -
ombine multiple images into a single image.
-
if the images are contiguous in the page, such as a navigation bar.
-
reducing the number of HTTP requests s
-
Combining inline images into your (cached) stylesheets is a way to reduce HTTP requests and avoid increasing the size of your pages.
-
40-60% of daily visitors to your site come in with an empty cache.
-
Content Delivery Network
-
80-90% of the end-user response time is spent downloading all the components in the page
-
disperse your static content.
-
static components: implement "Never expire
-
avoids unnecessary HTTP requests
-
images,
-
they should be used on all components including scripts, stylesheets, and Flash components.
-
ache to reduce the number and size of HTTP request
-
response
-
Expires header in the HTTP
-
Put Stylesheets at the Top
-
makes pages appear to be loading faster
-
load progressively;
-
The importance of giving users visual feedback, such as progress indicators, has been well researched and documented
-
block rendering
-
stylesheets are to be included in the HEAD of the page
-
Put Scripts at the Bottom
-
block parallel downloads
-
browsers download no more than two components in parallel per hostname.
-
document.write
-
scoping issues
-
deferred scripts.
-
DEFERattribute indicates that the script does not contain document.write
-
-
23 Jun 13
-
03 Jun 13
-
21 May 13
-
17 May 13
-
03 May 13
-
26 Apr 13
-
20 Apr 13
-
14 Apr 13
-
04 Apr 13
-
03 Apr 13
-
27 Mar 13
-
22 Mar 13
-
14 Mar 13
-
17 Feb 13
-
12 Feb 13
-
11 Feb 13
Bruno Ramos" page designs are getting richer and richer, which means "
-
03 Feb 13
-
29 Jan 13
-
26 Jan 13
-
24 Jan 13
-
15 Jan 13
-
nique is to inline JavaScript and CSS in the front page, but dynamically download the external files after the page has finished loading. Subsequent pages would reference the external files that should already be in the browser's cache.
-
-
14 Jan 13
Jesús BenitoGuía de buenas prácticas de yahoo para la optimización de sitios web.
-
28 Dec 12
-
27 Dec 12
-
18 Dec 12
-
17 Dec 12
-
13 Dec 12
-
10 Dec 12
-
Minimize HTTP Requests
-
Use a Content Delivery Network
-
Add an Expires or a Cache-Control Header
-
Gzip Components
-
Put Stylesheets at the Top
-
Put Scripts at the Bottom
-
Make JavaScript and CSS External
-
Minify JavaScript and CSS
-
Avoid Redirects
-
Remove Duplicate Scripts
-
Configure ETags
-
ETags were added to provide a mechanism for validating entities that is more flexible than the last-modified date.
-
Make Ajax Cacheable
-
Flush the Buffer Early
-
Use GET for AJAX Requests
-
Post-load Components
-
Reduce the Number of DOM Elements
-
Split Components Across Domains
-
Minimize the Number of iframes
-
- Helps with slow third-party content like badges and ads
- Security sandbox
- Download scripts in parallel
- Costly even if blank
- Blocks page onload
- Non-semantic
<iframe>pros:<iframe>cons: -
Reduce Cookie Size
-
Use Cookie-free Domains for Components
-
When the browser makes a request for a static image and sends cookies together with the request, the server doesn't have any use for those cookies.
-
Minimize DOM Access
-
Choose <link> over @import
-
In IE
@importbehaves the same as using<link>at the bottom of the page, so it's best not to use it -
Avoid Filters
-
Optimize Images
-
Optimize CSS Sprites
-
"Be mobile-friendly" and don't leave big gaps between the images in a sprite. This doesn't affect the file size as much but requires less memory for the user agent to decompress the image into a pixel map. 100x100 image is 10 thousand pixels, where 1000x1000 is 1 million pixels
-
Don't Scale Images in HTML
-
Keep Components under 25K
-
Avoid Empty Image src
-
- Internet Explorer makes a request to the directory in which the page is located.
- Safari and Chrome make a request to the actual page itself.
- Firefox 3 and earlier versions behave the same as Safari and Chrome, but version 3.5 addressed this issue[bug 444931] and no longer sends a request.
- Opera does not do anything when an empty image src is encountered.
Both forms cause the same effect: browser makes another request to your server.
-
-
07 Dec 12
-
04 Dec 12
-
01 Dec 12
-
16 Nov 12
-
08 Nov 12
-
04 Nov 12
-
02 Nov 12
-
23 Oct 12
-
22 Oct 12
-
18 Oct 12
Felikso MountainsBest Practices for Speeding Up Your Web Site
The Exceptional Performance team has identified a number of best practices for making web pages fast. The list includes 35 best practices divided into 7 categories.yahoo speed performance web optimization development javascript css images mobile best practices cookie
-
16 Oct 12
-
10 Oct 12
-
06 Oct 12
-
04 Oct 12
-
03 Oct 12
-
30 Sep 12
-
Combined files are a way to reduce the number of HTTP requests by combining all scripts into a single script, and similarly combining all CSS into a single stylesheet. Combining files is more challenging when the scripts and stylesheets vary from page to page, but making this part of your release process improves response times.
-
CSS Sprites are the preferred method for reducing the number of image requests. Combine your background images into a single image and use the CSS
background-imageandbackground-positionproperties to display the desired image segment. -
Image maps combine multiple images into a single image. The overall size is about the same, but reducing the number of HTTP requests speeds up the page. Image maps only work if the images are contiguous in the page, such as a navigation bar. Defining the coordinates of image maps can be tedious and error prone. Using image maps for navigation is not accessible too, so it's not recommended.
-
Remember that 80-90% of the end-user response time is spent downloading all the components in the page: images, stylesheets, scripts, Flash, etc. This is the Performance Golden Rule. Rather than starting with the difficult task of redesigning your application architecture, it's better to first disperse your static content.
-
it's cost-effective to use a CDN service provider, such as Akamai Technologies, EdgeCast, or level3.
-
- For static components: implement "Never expire" policy by setting far future
Expiresheader - For dynamic components: use an appropriate
Cache-Controlheader to help the browser with conditional requests
- For static components: implement "Never expire" policy by setting far future
-
Gzipping generally reduces the response size by about 70%. Approximately 90% of today's Internet traffic travels through browsers that claim to support gzip.
-
Most web sites gzip their HTML documents. It's also worthwhile to gzip your scripts and stylesheets, but many web sites miss this opportunity. In fact, it's worthwhile to compress any text response including XML and JSON. Image and PDF files should not be gzipped because they are already compressed.
-
While researching performance at Yahoo!, we discovered that moving stylesheets to the document HEAD makes pages appear to be loading faster. This is because putting stylesheets in the HEAD allows the page to render progressively.
-
The problem with putting stylesheets near the bottom of the document is that it prohibits progressive rendering in many browsers
-
The problem caused by scripts is that they block parallel downloads. The HTTP/1.1 specification suggests that browsers download no more than two components in parallel per hostname. If you serve your images from multiple hostnames, you can get more than two downloads to occur in parallel. While a script is downloading, however, the browser won't start any other downloads, even on different hostnames.
-
Using external files in the real world generally produces faster pages because the JavaScript and CSS files are cached by the browser. JavaScript and CSS that are inlined in HTML documents get downloaded every time the HTML document is requested. This reduces the number of HTTP requests that are needed, but increases the size of the HTML document. On the other hand, if the JavaScript and CSS are in external files cached by the browser, the size of the HTML document is reduced without increasing the number of HTTP requests.
-
The only exception where inlining is preferable is with home pages, such as Yahoo!'s front page and My Yahoo!. Home pages that have few (perhaps only one) page view per session may find that inlining JavaScript and CSS results in faster end-user response times.
-
For front pages that are typically the first of many page views, there are techniques that leverage the reduction of HTTP requests that inlining provides, as well as the caching benefits achieved through using external files. One such technique is to inline JavaScript and CSS in the front page, but dynamically download the external files after the page has finished loading. Subsequent pages would reference the external files that should already be in the browser's cache.
-
It typically takes 20-120 milliseconds for DNS to lookup the IP address for a given hostname. The browser can't download anything from this hostname until the DNS lookup is completed.
-
DNS lookups are cached for better performance. This caching can occur on a special caching server, maintained by the user's ISP or local area network, but there is also caching that occurs on the individual user's computer.
-
Most browsers have their own caches, separate from the operating system's cache.
-
Reducing the number of unique hostnames has the potential to reduce the amount of parallel downloading that takes place in the page. Avoiding DNS lookups cuts response times, but reducing parallel downloads may increase response times. My guideline is to split these components across at least two but no more than four hostnames. This results in a good compromise between reducing DNS lookups and allowing a high degree of parallel downloads.
-
Minification is the practice of removing unnecessary characters from code to reduce its size thereby improving load times. When code is minified all comments are removed, as well as unneeded white space characters (space, newline, and tab).
-
Obfuscation is an alternative optimization that can be applied to source code.
-
Despite their names, neither a 301 nor a 302 response is cached in practice unless additional headers, such as
ExpiresorCache-Control, indicate it should be. -
Unnecessary HTTP requests happen in Internet Explorer, but not in Firefox. In Internet Explorer, if an external script is included twice and is not cacheable, it generates two HTTP requests during page loading. Even if the script is cacheable, extra HTTP requests occur when the user reloads the page.
-
Entity tags (ETags) are a mechanism that web servers and browsers use to determine whether the component in the browser's cache matches the one on the origin server. (An "entity" is another word a "component": images, scripts, stylesheets, etc.) ETags were added to provide a mechanism for validating entities that is more flexible than the last-modified date. An ETag is a string that uniquely identifies a specific version of a component. The only format constraints are that the string be quoted.
-
ETag: "10c24bc-4ab-457e1c1f"
-
The problem with ETags is that they typically are constructed using attributes that make them unique to a specific server hosting a site.
-
when using
XMLHttpRequest, POST is implemented in the browsers as a two-step process: sending the headers first, then sending data. So it's best to use GET, which only takes one TCP packet to send (unless you have a lot of cookies). The maximum URL length in IE is 2K, so if you send more than 2K data you might not be able to use GET. -
JavaScript is an ideal candidate for splitting before and after the onload event.
-
Splitting components allows you to maximize parallel downloads. Make sure you're using not more than 2-4 domains because of the DNS lookup penalty.
-
Some sites have helpful 404s "Did you mean X?", which is great for the user experience but also wastes server resources (like database, etc). Particularly bad is when the link to an external JavaScript is wrong and the result is a 404. First, this download will block parallel downloads. Next the browser may try to parse the 404 response body as if it were JavaScript code, trying to find something usable in it.
-
When the browser makes a request for a static image and sends cookies together with the request, the server doesn't have any use for those cookies. So they only create network traffic for no good reason. You should make sure static components are requested with cookie-free requests. Create a subdomain and host all your static components there.
-
If your domain is
www.example.org, you can host your static components onstatic.example.org. However, if you've already set cookies on the top-level domainexample.orgas opposed towww.example.org, then all the requests tostatic.example.orgwill include those cookies. -
Another benefit of hosting static components on a cookie-free domain is that some proxies might refuse to cache the components that are requested with cookies.
-
Sometimes pages feel less responsive because of too many event handlers attached to different elements of the DOM tree which are then executed too often. That's why using event delegation is a good approach.
-
Run pngcrush (or any other PNG optimizer tool) on all your PNGs.
-
-
25 Sep 12
-
15 Sep 12
-
12 Sep 12
-
11 Sep 12
-
09 Sep 12
-
29 Aug 12
-
28 Aug 12
-
09 Jul 12
-
03 Jul 12
-
01 Jul 12
Page Comments
Oii Galera '-'
Venham conferir o AS NOVIDADES DO SERVIDOR de MU online JOGANDO.NET :
- lançamento do novo servidor > Phoenix < Ep 3 season 6
- NOVOS KITS : FUSION V2 , e o SUPREMO DIAMOND ( ultimas unidades )
- NOVOS Shields Power v3 + 18 opts ;
- Novos Rings e Pendat Mysthical os melhores do servidor ;
- Novos Sets especiais de Time de futebol ;
- Novas Asas e Shields JDiamonds;
- Novidades que estam por vir no nosso Servidor HARD!
NÃO PERCA O 6° Megaultrasuperhiper Evento Castle Siege Premiado, com medalhas para os vencedores!
Curta também a nossa pagina no facebook : http://www.facebook.com/pages/jogandonet/371027529618526
CADASTRE-SE AGORA E GANHE 5 DIAS DE VIP
ENTRE NO SITE : www.jogando.net/mu/index.php?s=cadastrar
By: MissDeath
Would you like to comment?
Join Diigo for a free account, or sign in if you are already a member.