Στο Microsoft Windows Server 2003 Http.sys είναι το πρόγραμμα οδήγησης λειτουργίας πυρήνα που χειρίζεται τις αιτήσεις HTTP. Πολλές τιμές μητρώου μπορεί να ρυθμιστεί σύμφωνα με τις συγκεκριμένες απαιτήσεις. Στον πίνακα στην ενότητα "Περισσότερες πληροφορίες" περιέχει τις ακόλουθες πληροφορίες σχετικά με αυτές τις τιμές μητρώου:
- Ονόματα κλειδιών μητρώου
- Προεπιλεγμένες τιμές
- Περιοχές έγκυρη τιμή
- Λειτουργίες κλειδιού μητρώου
- ΠΡΟΕΙΔΟΠΟΊΗΣΗ κωδικούς (ενδεχομένως)
Σημείωση Όταν δημιουργείτε και τις τιμές μητρώου, χρησιμοποιώντας τις ρυθμίσεις εκτός από τις προεπιλεγμένες ρυθμίσεις, ανατρέξτε στην ενότητα "Κωδικοί ΠΡΟΕΙΔΟΠΟΊΗΣΗΣ" για πληροφορίες σχετικά με τους ενδεχόμενους κινδύνους.
Αυτό το άρθρο προορίζεται για έμπειρους χρήστες και προϋποθέτει γνώση του μητρώου και των κινδύνων που εμπλέκονται όταν αλλάξει το μητρώο.
Σημαντικό Αυτή η ενότητα, μέθοδος ή εργασία περιέχει βήματα που σας καθοδηγούν να τροποποιήσετε το μητρώο. Ωστόσο, ενδέχεται να προκύψουν σοβαρά προβλήματα εάν δεν τροποποιήσετε σωστά το μητρώο. Επομένως, βεβαιωθείτε ότι ακολουθείτε προσεκτικά αυτά τα βήματα. Για επιπλέον προστασία, αντίγραφο ασφαλείας του μητρώου πριν το τροποποιήσετε. Στη συνέχεια, μπορείτε να επαναφέρετε το μητρώο εάν προκύψει κάποιο πρόβλημα. Για περισσότερες πληροφορίες σχετικά με τον τρόπο δημιουργίας αντιγράφων ασφαλείας και επαναφοράς του μητρώου, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
322756
(http://support.microsoft.com/kb/322756/
)
Τρόπος δημιουργίας αντιγράφων ασφαλείας και επαναφοράς του μητρώου στα Windows
Μπορείτε να δημιουργήσετε τις ακόλουθες τιμές DWORD στο ακόλουθο κλειδί μητρώου:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
Σύμπτυξη αυτού του πίνακαΑνάπτυξη αυτού του πίνακα
| Το κλειδί μητρώου | Προεπιλεγμένη τιμή | Έγκυρο εύρος τιμών | Λειτουργία κλειδιών μητρώου | Κωδικός ΠΡΟΕΙΔΟΠΟΊΗΣΗΣ |
|---|
| AllowRestrictedChars | 0 | Δυαδική τιμή | Εάν μη μηδενικό, Http.sys δέχεται escaped δεκαεξαδικών χαρακτήρων στην αίτηση URL που αποκωδικοποίησης U + 0000 – U + 001F και U + 007F-U + 009F περιοχές. | 0 |
| EnableAggressiveMemoryUsage | 0 | 0,1 | Εκ των προτέρων εκχώρηση μη σελιδοποιημένης περιοχής μνήμης. Από προεπιλογή, η υπηρεσία HTTP σταματά να δέχεται συνδέσεις όταν λιγότερο από 20 megabyte (MB) μνήμης μη σελιδοποιημένης περιοχής είναι διαθέσιμη. Αφού προσθέσετε αυτήν την τιμή του μητρώου, η υπηρεσία HTTP σταματά να δέχεται συνδέσεις όταν είναι διαθέσιμη η μικρότερη από 8 MB μη σελιδοποιημένης περιοχής μνήμης. Ορισμός αυτής της τιμής μητρώου μπορεί να μειώσει τον αριθμό των "connections_refused" και 503 σφάλματα στο αρχείο Httperr.log. | 0 |
| EnableNonUTF8 | 1 | Δυαδική τιμή | Αν είναι μηδέν, Http.sys δέχεται μόνο URL κωδικοποίηση UTF-8. Εάν δεν είναι μηδέν Http.sys δέχεται επίσης κωδικοποίηση ANSI ή DBCS URL σε αιτήσεις. | 0 |
| FavorUTF8 | 1 | Δυαδική τιμή | Εάν δεν είναι μηδέν Http.sys προσπαθεί πάντα να αποκωδικοποιήσει ένα URL ως UTF-8 πρώτα. Εάν αυτή η μετατροπή αποτύχει και EnableNonUTF8 είναι μη μηδενική, Http.sys έπειτα προσπαθεί να αποκωδικοποιήσει ως ANSI ή DBCS. Αν είναι μηδέν (και EnableNonUTF8 είναι μη μηδενική) Http.sys προσπαθεί να αποκωδικοποιήσει ως ANSI ή DBCS. Εάν που δεν είναι επιτυχής, δοκιμάζει μια μετατροπή UTF-8. | 0 |
| MaxBytesPerSend | 65536 | 1 0xFFFFF (byte) | Αντικαθιστά το μέγεθος παραθύρου TCP που χρησιμοποιείται από το Http.sys. Μια υψηλότερη τιμή μπορεί να επιτρέψει υψηλότερες ταχύτητες λήψης σε περιβάλλοντα δικτύου που έχουν υψηλού εύρους και Υψηλή αδράνεια. | 0 |
| MaxConnections | MAX_ULONG | 1024(1k) – 2031616 συνδέσεις (2 MB) | Αντικαθιστά τον υπολογισμό MaxConnections στο πρόγραμμα οδήγησης. Αυτό είναι κυρίως συνάρτηση της μνήμης. | 1 |
| MaxEndpoints | 0 | 0 - 1024 | Ο μέγιστος αριθμός τρέχουσας αντικείμενα τελικού σημείου που επιτρέπονται. Η προεπιλεγμένη τιμή μηδέν σημαίνει ότι το μέγιστο όριο που υπολογίζεται από τη διαθέσιμη μνήμη | 1 |
| MaxFieldLength | είναι από προεπιλογή 16384 | 64 - 65534 (64 k - 2) bytes | Ορίζει ένα ανώτερο όριο για κάθε επικεφαλίδα. Δείτε MaxRequestBytes. Το όριο αυτό μεταφράζεται σε περίπου 32 k χαρακτήρες για μια διεύθυνση URL. | 1 |
| MaxRequestBytes | είναι από προεπιλογή 16384 | 256 - Byte που 16777216 (16 MB) | Καθορίζει το ανώτατο όριο για το συνολικό μέγεθος της γραμμής αίτησης και τις κεφαλίδες. Η προεπιλεγμένη ρύθμιση είναι 16 KB.
Εάν αυτή η τιμή είναι μικρότερη από MaxFieldLength, ρυθμίζεται στην τιμή MaxFieldLength. | 1 |
| PercentUAllowed | 1 | Δυαδική τιμή | Εάν δεν είναι μηδέν Http.sys αποδέχεται το %uNNNN Σημείωση στην αίτηση URL. | 0 |
| UrlSegmentMaxCount | 255 | 0 - 16.383 τμήματα | Μέγιστος αριθμός τμημάτων διαδρομής URL. Αν είναι μηδέν, η μέτρηση που οριοθετείται από τη μέγιστη τιμή μια ULONG. | 1 |
| UriEnableCache | 1 | Δυαδική τιμή | Εάν είναι μηδέν, το Http.sys cache απόκριση και τμήματος είναι ενεργοποιημένη. | 0 |
| UriMaxUriBytes | 262144 (byte) | 4096(4k) – 16777216(16MB)
byte | Κάθε απόκριση που είναι μεγαλύτερη από την τιμή αυτή αποθηκεύεται προσωρινά στην προσωρινή μνήμη πυρήνα απόκρισης. | 1 3 |
| UriScavengerPeriod | 120 (δευτερόλεπτα) | 10 - 0xFFFFFFFF δευτερόλεπτα | Καθορίζει τη συχνότητα Συλλέκτη άχρηστων προσωρινά αποθηκευμένων. Εκκαθάριση κάθε απόκρισης ή το τμήμα που δεν έχουν πρόσβαση σε αριθμό ίσο με UriScavengerPeriod δευτερόλεπτα. | 1 2 |
| UrlSegmentMaxLength | 260 | 0 - 32.766 χαρακτήρων | Μέγιστος αριθμός χαρακτήρων σε ένα τμήμα διαδρομής URL (η περιοχή μεταξύ των καθέτων στη διεύθυνση URL). Αν είναι μηδέν, είναι το μήκος που οριοθετείται από τη μέγιστη τιμή μια ULONG. | 1 |
Ενδέχεται να αντιμετωπίσετε χαμηλές επιδόσεις στις υπηρεσίες Microsoft Internet πληροφορίες Services (IIS) 6.0, όταν οι εφαρμογές Internet Server API (ISAPI) ή εφαρμογές Common Gateway Interface (CGI) που φιλοξενείται σε IIS 6.0 Αποστολή αποκρίσεων. Εάν αντιμετωπίσετε αυτό το ζήτημα, μπορείτε να προσθέσετε την τιμή MaxBufferedSendBytes DWORD στο μητρώο.Για περισσότερες πληροφορίες σχετικά με αυτό το ζήτημα, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
906977
(http://support.microsoft.com/kb/906977/
)
Σφάλμα: Αντιμετωπίσετε χαμηλές επιδόσεις όταν οι εφαρμογές ISAPI και εφαρμογές CGI που φιλοξενούνται στο Internet Information Services 6.0 Αποστολή αποκρίσεων
Στα Microsoft Windows XP και Microsoft Windows Server 2003, μπορείτε επίσης να δημιουργήσετε την ακόλουθη τιμή DWORD στο ακόλουθο κλειδί μητρώου:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTPFilter\Parameters
Σύμπτυξη αυτού του πίνακαΑνάπτυξη αυτού του πίνακα
| Το κλειδί μητρώου | Προεπιλεγμένη τιμή | Έγκυρο εύρος τιμών | Λειτουργία κλειδιών μητρώου | Κωδικός ΠΡΟΕΙΔΟΠΟΊΗΣΗΣ |
|---|
| CertChainCacheOnlyUrlRetrieval | 1 | 0,1 | Από προεπιλογή, υποδείξεις AIA δεν ακολουθούνται κατά την επικύρωση αλληλουχίας όταν IIS έχουν ρυθμιστεί να χρησιμοποιούν πιστοποιητικά προγράμματος-πελάτη. Αυτή η συμπεριφορά είναι σε θέση για λόγους επιδόσεων και ασφαλείας. Για παράδειγμα, αυτή η συμπεριφορά μπορεί να βοηθήσει να αποτρέψετε επιθέσεις DoS. Ωστόσο, αυτή η συμπεριφορά μπορεί επίσης να οδηγήσουν σε μη αναμενόμενο πιστοποιητικό απορρίψεων όταν απαιτείται ανάκτηση AIA.
Για να παρακάμψετε αυτήν τη συμπεριφορά, μπορείτε να ορίσετε την παράμετρο DWORD CertChainCacheOnlyUrlRetrieval σε 0 (μηδέν) στο κλειδί μητρώου "hkey_local_machine\system\currentcontrolset\services\httpfilter\parameters". | Δεν υπάρχει |
Κωδικοί ΠΡΟΕΙΔΟΠΟΊΗΣΗ
- 0: Κίνδυνοι.
- 1: Αλλαγή αυτού του κλειδιού μητρώου θεωρείται εξαιρετικά επικίνδυνη. Αυτό το κλειδί προκαλεί Http.sys για να χρησιμοποιεί περισσότερη μνήμη και μπορεί να αυξήσει την ευπάθεια κακόβουλες επιθέσεις.
- 2: Χαμηλή τιμή μπορεί να προκαλέσει τη μνήμη cache για πιο συχνά εκκαθάριση. Εάν αυτή η συμπεριφορά παρουσιάζεται, αυτό μπορεί να επηρεάσει τις επιδόσεις.
- 3: Χαμηλή τιμή ενδέχεται να επηρεάσει τις επιδόσεις για στατικό περιεχόμενο.
Αλλαγές που έγιναν στο μητρώο δεν θα εφαρμοστούν μέχρι να γίνει επανεκκίνηση της υπηρεσίας HTTP. Επιπλέον, ίσως χρειαστεί να επανεκκινήσετε τις σχετικές υπηρεσίες IIS.
Για να επανεκκινήσετε την υπηρεσία HTTP, τον τύπο και όλες τις σχετικές υπηρεσίες IIS, ακολουθήστε τα εξής βήματα:
- Κάντε κλικ στο κουμπί Έναρξη, κάντε κλικ στο κουμπί Εκτέλεση, πληκτρολογήστε Cmd και στη συνέχεια κάντε κλικ στο κουμπί OK.
- Στη γραμμή εντολών, πληκτρολογήστε net stop http σε μια γραμμή εντολών και κατόπιν πιέστε το πλήκτρο ENTER.
- Στη γραμμή εντολών, πληκτρολογήστε net start http σε μια γραμμή εντολών και κατόπιν πιέστε το πλήκτρο ENTER.
- Στη γραμμή εντολών, πληκτρολογήστε εντολή net stop iisadmin /y σε μια γραμμή εντολών και κατόπιν πιέστε το πλήκτρο ENTER.
Σημείωση Οι υπηρεσίες IIS που εξαρτώνται από την υπηρεσία IIS Admin Service επίσης θα διακοπεί. Παρατηρήστε τις υπηρεσίες IIS που τερματίζονται όταν διακόψετε την υπηρεσία IIS Admin Service. Θα γίνει επανεκκίνηση κάθε υπηρεσία στο επόμενο βήμα. - Στο βήμα 4, κάντε επανεκκίνηση των υπηρεσιών IIS που διακόψατε. Για να το κάνετε αυτό, πληκτρολογήστε net start όνομα_υπηρεσίας στη γραμμή εντολών και κατόπιν πιέστε το πλήκτρο ENTER. Στην εντολή, όνομα_υπηρεσίας είναι το όνομα της υπηρεσίας που θέλετε να κάνετε επανεκκίνηση. Για παράδειγμα, για να επανεκκινήσετε την υπηρεσία υπηρεσία δημοσίευσης World Wide Web, πληκτρολογήστε net start "Υπηρεσία δημοσίευσης World Wide Web", και στη συνέχεια πιέστε το πλήκτρο ENTER.