Forum: Mikrocontroller und Digitale Elektronik webserver problem


von H. R. (hacker_r)


Lesenswert?

Hi

ich habe ein problem mit meinem selbst geschriebenen STM32 webserver.

Ich habe in html ein button:
<form action="/update_ip_address.cgi" method="POST">
Es updated die IP Adresse.
Alles läuft gut.
Ich gebe die IP adresse und co ein, druck den button. Mein selbst 
geschriebener Webserver schickt an firefox eine neue Seite die 
sucess.html heisst.Der wird auch Korrekt dargestellt.

Nun zum Problem:
success.html wird gezeigt. Aber in Firefox Adressleiste wird angezeigt: 
http://192.168.0.27/update_ip_address.cgi

was muss ich machen damit in der Adressleiste
http://192.168.0.27/success.html steht?

muss ich was in html oder in c code vom webserver ändern?

von Stefan F. (Gast)


Lesenswert?

Das ist schon richtig so. Der Browser zeigt in der Adressleiste immer 
an, welche URL er angefordert hat.

Den Dateinamen Serverseitig kann der Browser nicht kennen. Er weiß nur, 
dass dies die Seite ist, die nach Anforderung der URL zurück kam.

von diensthabender quotendepp (Gast)


Lesenswert?

du kannst z.b. anstatt in der response der update_ip_address.cgi die 
success.html zu schicken einen "HTTP 302 found" schicken

von Sascha W. (sascha-w)


Lesenswert?

diensthabender quotendepp schrieb:
> du kannst z.b. anstatt in der response der update_ip_address.cgi die
> success.html zu schicken einen "HTTP 302 found" schicken
Oder so wenn man sich mit 302 nicht zu helfen weiß:
<meta http-equiv="refresh" content="0; URL=/success.html">

Sascha

von Gerald K. (geku)


Lesenswert?

Stefan ⛄ F. schrieb:
> Den Dateinamen Serverseitig kann der Browser nicht kennen.

Auch eine HTML Seite ist einen Datei. Streng genommen zeigt eine URL 
immer auf eine Datei.

Defaultdatei: index.html

Die URL kann auch auf eine Bilddatei zeigen.

von nfet (Gast)


Lesenswert?

Gerald K. schrieb:
> Auch eine HTML Seite ist einen Datei. Streng genommen zeigt eine URL
> immer auf eine Datei.

Nichts davon ist richtig. Wenn man seinen eigenen Webserver hat, braucht 
es keine Dateien. Eine URL kann ich Parsen, wie ich lustig bin. Zum 
Beispiel könnte ich auf alle Pfade, die mit 'a' anfangen eine response 
200 mit leeren body zurück geben. Und auf alle die mit 'b' anfangen und 
mit 'c' aufhören ein Bild von einem Affen. Nichts davon ist definiert.

von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

Gerald K. schrieb:
> Stefan ⛄ F. schrieb:
>> Den Dateinamen Serverseitig kann der Browser nicht kennen.
>
> Auch eine HTML Seite ist einen Datei. Streng genommen zeigt eine URL
> immer auf eine Datei.
>
> Defaultdatei: index.html
>
> Die URL kann auch auf eine Bilddatei zeigen.

Aber höchsten auf ganz primitiven Systemen.
In jedem vernüftigen System hat die URL so gar nichts mit den Dateien 
auf den Server zu tun.
Da landet z.B. eine "hxxps://www.irgend.wer/bilder/ein_bild.jpg" auf 
eine bilder.php und die sucht in einer Datenbank die Daten für das Bild 
raus und liefert das in der Response entsprechend zurück.
Genau sowenig wie eine "hxxps://www.mikrocontroller.net/topic/492306" 
irgendwo als Datei existiert.
z.B.:
https://httpd.apache.org/docs/2.4/rewrite/remapping.html

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.