
Μόλις τελείωσα την ανάγνωση αυτή τη θέση: <https://developer.yahoo.com/performance/rules.html#flush> και έχουν ήδη θέσει σε εφαρμογή ένα φλος μετά το πάνω μέρος των φορτίων της σελίδας μου (κεφάλι, css, πάνω banner / αναζήτηση / nav) .


Υπάρχει κάποια απόδοση χτύπημα στην έξαψη εκεί; Υπάρχει ένα τέτοιο πράγμα όπως το κάνουμε πολύ συχνά εκεί; Ποιες είναι οι καλύτερες πρακτικές;


Αν εγώ είμαι πρόκειται να χτυπήσει ένα εξωτερικό API για τα δεδομένα, θα ήταν λογικό να ξεπλύνετε πριν από το χέρι, έτσι ώστε ο χρήστης να μην είναι σε αναμονή για τα δεδομένα για να έρθει πίσω και να πάρει τουλάχιστον κάποια δεδομένα πριν από το χέρι;

 
PHP Ρουαγιάλ: Πόσο συχνά και Βέλτιστων Πρακτικών
================================================



Η τεχνική που περιγράφεται φαίνεται ωραίο, αλλά έχει πολλές παγίδες:


1) ο χρόνος μεταξύ της έναρξης PHP script και άκρο είναι μικρή σε σύγκριση με το χρόνο μετάδοσης? Επίσης, αυτό σώζει το χρήστη για 0,5 δευτερόλεπτα, σύμφωνα με την πηγή σας. Είναι αυτό ένα σημαντικό χρονικό διάστημα για εσάς;


2) αυτή η τεχνική δεν λειτουργεί με gzip buffering εξόδου


3) αν ξεπλύνετε πάρα πολύ συχνά, θα πρέπει να στείλει ένα σχεδόν άδειο πακέτο στο ίδιο επίπεδο, το οποίο θα μπορούσε πραγματικά να αυξήσει το χρόνο φόρτωσης (για αργή, θορυβώδη συνδέσεις).


4) Μόλις ξεπλύνετε, δεν μπορείτε να στείλετε πια κεφαλίδες


5) (δευτερεύον θέμα) η απόκριση του server θα έρθει στην κατατμημένη κωδικοποίηση, που σημαίνει ότι ο πελάτης δεν θα γνωρίζει το μέγεθος των προτέρων (ως εκ τούτου δεν θα εμφανίσει «x% γίνεται» κατά τη λήψη ενός αρχείου).


Από την άλλη πλευρά, αν περιμένετε το σενάριο σας να τρέχει για ένα τραγικό βαθμό (20+ δευτερόλεπτα), μπορεί να χρειαστεί να στείλει κάποια δεδομένα (χώροι, για παράδειγμα) για να κρατήσει το πρόγραμμα περιήγησης από το χρονοδιάγραμμα από τη σύνδεση.

 

Κάτω πλευρά είναι ότι δεν μπορείτε να gzip το περιεχόμενο καθώς και έξαψη αυτό afaik, έτσι έχω πάντα προτίμησε να gzip και όχι στο ίδιο επίπεδο.



> 
> [Ορισμένες εκδόσεις του Microsoft Internet Explorer θα ξεκινήσει μόνο για να εμφανιστεί η σελίδα, αφού έχουν λάβει 256 bytes της παραγωγής, οπότε ίσως χρειαστεί να στείλει επιπλέον κενό πριν από έξαψη να πάρει αυτά τα προγράμματα περιήγησης για να εμφανιστεί η σελίδα.](http://php.net/flush)
> 
> 
> 


Αυτό το κάνει αυτό δεν είναι ιδέα, όπως φαίνεται γεμίσει περισσότερα δεδομένα δεν είναι πολύ χρήσιμο.

 

Νομίζω ότι στο ίδιο επίπεδο είναι πραγματικά ένα εξαιρετικό μηχανισμό συντονισμού. Τα προγράμματα περιήγησης χρησιμοποιούν μόνο περίπου 8 θέματα για να κατεβάσετε περιεχόμενο (εξαρτάται από το πρόγραμμα περιήγησης). Αν έχετε 15 φωτογραφίες, το πρόγραμμα περιήγησης θα ξεκινήσει η λήψη 8 εικόνων και δεν θα κατεβάσετε τίποτα άλλο έως ότου ένας από αυτούς ολοκληρώνει, τότε θα ξεκινήσει η λήψη της επόμενης εικόνας, κλπ Με έξαψη μετά την επικεφαλίδα, που ουσιαστικά λέει το πρόγραμμα περιήγησης τι μπορεί να ξεκινήσει η λήψη. Μέχρι τη στιγμή που το υπόλοιπο της σελίδας παραδίδεται (δηλαδή 0,5 δευτερόλεπτα αργότερα), το πρόγραμμα περιήγησης μπορεί να έχει ήδη ολοκληρωθεί η λήψη του CSS και τα αρχεία javascript. Αυτό θα απελευθερώσει κατεβάσετε τα θέματα για άλλο περιεχόμενο.


Πιθανώς δεν θέλετε να χρησιμοποιήσετε στο ίδιο επίπεδο σε οποιαδήποτε άλλη θέση από ό, τι αμέσως μετά την επικεφαλίδα. Ένα πρόγραμμα περιήγησης συνήθως δεν θα καταστήσει ανοικτές ετικέτες html, έτσι παρέχοντας μια μερική σελίδα δεν θα εμφανίσει τα πράγματα γρηγορότερα. Οι παλαιότερες εκδόσεις του IE δεν θα εμφανιστεί τίποτα μέχρι να ληφθεί ένα ορισμένο ποσό των δεδομένων ή την παράδοση η σελίδα είναι πλήρης.

 

Μετά το σημείο Piskvor του - αν περιμένετε ένα 20s + περιμένετε, ίσως είναι καλύτερα να παρέχει μια βασική σελίδα (η οποία μπορεί να gzipped) και χρησιμοποιώντας Ajax για να ενημερώσετε τη σελίδα, όταν η αργή διαδικασία έχει ολοκληρωθεί. Μπορείτε να το κάνετε αρχίσετε να παραβιάζουν τη βασική χρησιμότητα των στατικών html, όμως.

 