nph-Scripts bei SSL
Beat Strasser
- cgi
0 Erik Tews
Hallo
Was versteht man unter einem 'nph-Script'?
Ich habe bei meinem Provider gelesen, dass nph-Scripts nicht mit Secure Servern (SSL) verwendet werden koennen:
The only difference in operation between secure and
regular Web servers, as far as a CGI script can tell,
is that nph- scripts cannot be used with the secure
server, because of the special negotiations involved
with SSL.
Thx a lot,
Beat
Hallo
Was versteht man unter einem 'nph-Script'?
Ich habe bei meinem Provider gelesen, dass nph-Scripts nicht mit Secure Servern (SSL) verwendet werden koennen:
The only difference in operation between secure and
regular Web servers, as far as a CGI script can tell,
is that nph- scripts cannot be used with the secure
server, because of the special negotiations involved
with SSL.
Hm, ich bin mir nicht ganz sicher, aber ich glaube, daß sind ungepufferte Scripts. Der alte 1.2er Apache hat immer erst das Script durchlafen lassen, und dann den ganzen Output rübergeschickt. Ist natürlich bei ner Suchmaschiene ziemlich unpraktisch, da so nicht während die Suche noch läuft die Ergebnisse übertragen werden können. Wenn man den Dateinamen irgendwie mit nph oder so anfangen läßt, dann hat auch der 1.2er Apache das Script noch wärend es läuft rausgeschickt.
Was versteht man unter einem 'nph-Script'?
The only difference in operation between secure and
regular Web servers, as far as a CGI script can tell,
is that nph- scripts cannot be used with the secure
server, because of the special negotiations involved
with SSL.Hm, ich bin mir nicht ganz sicher, aber ich glaube, daß sind ungepufferte Scripts. Der alte 1.2er Apache hat immer erst das Script durchlafen lassen, und dann den ganzen Output rübergeschickt. Ist natürlich bei ner Suchmaschiene ziemlich unpraktisch, da so nicht während die Suche noch läuft die Ergebnisse übertragen werden können. Wenn man den Dateinamen irgendwie mit nph oder so anfangen läßt, dann hat auch der 1.2er Apache das Script noch wärend es läuft rausgeschickt.
aha, merci!
Und bei SSL *muss* die ganze Ausgabe schon komplett fertig sein, damit es dann verschluesselt werden kann. Alles klar.
Danke,
Beat
Was versteht man unter einem 'nph-Script'?
The only difference in operation between secure and
regular Web servers, as far as a CGI script can tell,
is that nph- scripts cannot be used with the secure
server, because of the special negotiations involved
with SSL.Hm, ich bin mir nicht ganz sicher, aber ich glaube, daß sind ungepufferte Scripts. Der alte 1.2er Apache hat immer erst das Script durchlafen lassen, und dann den ganzen Output rübergeschickt. Ist natürlich bei ner Suchmaschiene ziemlich unpraktisch, da so nicht während die Suche noch läuft die Ergebnisse übertragen werden können. Wenn man den Dateinamen irgendwie mit nph oder so anfangen läßt, dann hat auch der 1.2er Apache das Script noch wärend es läuft rausgeschickt.
aha, merci!
Und bei SSL *muss* die ganze Ausgabe schon komplett fertig sein, damit es dann verschluesselt werden kann. Alles klar.
Ich habe gehört, daß der Apache die Scripte immer buffert, weil es ja sonst sein könnte, daß man nur ein Zeichen über die Leitung schickt, und das wäre nicht so gut für die Geschwindigkeit. Vielleicht werden immer bei SSL feste Blockgrößen verschickt.
Hi zusammen,
also soweit ich weiß, heißt nph: no parsed headers, und bezieht sich
darauf, ob das CGI-Skript die HTTP-Header selbst ausgibt, oder
das dem Server überläßt. Da SSL eine spezielle Art hat, mit dem
Server zu kommunizieren (eben HTTPS und nicht HTTP), funktionierts
nicht, wenn das Skript versucht, in den Headern rumzupfuschen.
Grüße
Stephan
Also da mir die Sache kein Ruhe läßt, und ich mir selbst nicht so sicher war, hab ich mal in der Apache-Doku nachgeschaut, und da steht auf Englisch:
Apache now provides an effectively unbuffered connection for CGI scripts. This means that data will be sent to the client as
soon as the CGI pauses or stops output; previously, Apache would buffer the output up to a fixed buffer size before sending,
which could result in the user viewing an empty page until the CGI finished or output a complete buffer. It is no longer
necessary to use an "nph-" CGI to get unbuffered output. Given that most CGIs are written in a language that by default does
buffering (e.g., perl) this shouldn't have a detrimental effect on performance.
"nph-" CGIs, which formerly provided a direct socket to the client without any server post-processing, were not fully
compatible with HTTP/1.1 or SSL support. As such they would have had to implement the transport details, such as encryption
or chunking, in order to work properly in certain situations. Now, the only difference between nph and non-nph scripts is
"non-parsed headers".
Was auf Deutsch in etwa heißt:
Apache stellt jetzt einen effektiv ungepufferten Anschluß für cgi-Indexe zur Verfügung. Dies heißt,
daß dem Klienten Daten geschickt werden, sobald das cgi Ausgabe pausiert oder stoppt; vorher
würde Apache die Ausgabe bis zu einer örtlich festgelegten Puffergröße puffern, bevor es sendete,
das den Benutzer ergeben könnte, der eine leere Seite bis das cgi ansieht, das einem kompletten
Buffer beendet wurde oder ausgegeben war. Es ist nicht mehr notwendig, ein " nph zu benutzen - "
cgi zum Erhalten der ungepufferten Ausgabe. **time-out** angenommen meist GCIs sein schreiben in
ein Sprache das durch Rückstellung tun Pufferbetrieb (z.B., Perl) dies sollen nicht haben ein
schädlich Effekt auf Leistung.
" nph - " waren GCIs, die früher eine direkte Einfaßung zum Klienten ohne irgendeine Server
Nachbearbeitung zur Verfügung stellten, nicht mit HTTP-/1.1 oder SSL-Support völlig kompatibel.
Da so sie die Transportdetails, wie Verschlüsselung oder Chunking würden einführen gemußt haben,
um in bestimmten Situationen richtig zu arbeiten. Jetzt ist der einzige Unterschied zwischen nph und
die non-nphindexe " nicht-analysierte Vorsätze ".