Ich habe schon öfters gesehen, dass bei html (auch anderen Formaten cfm, asp, php) Seiten die Seite
test.html?co=20 eine komplett andere Seite als test.html?co=30 anzeigt. Obwohl die datei test.html sich im selben Verzeichniß befindet. Klar ist ja nun, dass das Attribut ?co= diesen Vorgang
durchführt. Doch wie? Ich hoffe irgendjemand von Ihnen kann mir helfen!
das ist eigentlich ganz einfach. Alles hinter dem ? sind Parameter, die dem aufgerufenen Programm sagen, was es machen soll. Das ganze kenst Du vielleicht (abgewandelt) wenn Du mal ein programm auf Shell-Ebene gestartet hast (dir und dir /w auf der DOS-Ebene).
Diese so aufgerufenen Seiten sind eben nicht nur HTML, sondern beinhalten auch Programmcode, der jedesmal wenn die Seite aufgerufen wird, ausgeführt wird. Das Ergebnis dieses PRogrammes steht dann in der HTML-Seite die Du zu sehen bekommst, Das Programm selber siehst Du nicht.
Zerlegen wir das mal: suche.fireball.de => Suchserver von Fireball
/fcgi/query.fcg? => Pfad zum Programm, dass die Suche ausführt
action=query => Es wurde eine Suchanfrage gestellt
pg=express => Expresssuche wurde gewählt
q=WEB+WWW => Suchbegriffe
submit2=suchen => Das ist nur ein Überbleibsel von Submit Button
what=german_web => Nur im deutschen Web suchen
Anhand dieser Infos kann das Programm jetzt suchen und liegert dir eine HTML Seite zurück, in der das Ergebniss dieser Suche steht.
Ich habe schon öfters gesehen, dass bei html (auch anderen
Formaten cfm, asp, php) Seiten die Seite
test.html?co=20 eine komplett andere Seite als test.html?co=30
anzeigt. Obwohl die datei test.html sich im selben Verzeichniß
befindet. Klar ist ja nun, dass das Attribut ?co= diesen
Vorgang durchführt.
Man kann generell davon ausgehen, dass Webseiten, die ein ‚?‘ enthalten nicht einfach nur Webseiten sind, sondern dynamisch erzeugte Seiten, die je nach Anforderung durch den Client (= Du) anders aussehen werden. Der Webserver setzt dann mit den Informationen, die nach dem ? stehen eine Umgebungsvariable QUERY_STRING, die von CGI-Scripten ausgewertet werden kann.
Zum Beispiel in PHP (das sind (meistens) die Seiten, die mit einem php oder einem php3 enden):
$params = getenv( QUERY_STRING ); // oder so
Php is sogar so freundlich und weist dir die Daten gleich entsprechenden Variablen zu, also wenn du ein Script hast http://www.xyz.com/blabla.php3?action=1&target=main
oder so, dann kannst du schön in deinem Script auf die Variablen $action und $target zugreifen.