zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden JsonP und https

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 27.10.2008, 14:02
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 14.04.2007
Ort: Berlin
Beiträge: 159
netAction befindet sich auf einem aufstrebenden Ast
Reden JsonP und https

Hallo!

Ich würde gerne die Oberfläche von der Funktionalität trennen, indem die Oberfläche in Javascript läuft. Sie soll als statische Webseite auf Server A liegen. Dann kann ich für unterschiedliche Benutzer unterschiedliche Oberflächen schreiben, oder sie installieren sich veränderte Kopien sogar lokal.

Auf dem Server mit der Datenbank liegen die Benutzerdaten (Server B). Ajax von Server A auf Server B funktioniertnicht, weil der Zugriff außerhalb der Domain erfolgt. Einzige Möglichkeit: JsonP (richtig?)

Jetzt müssen auch noch alle Übertragungen verschlüsselt erfolgen. Die Webseite liegt auf dem einen Server A mit https oder lokal und greif auf den Datenbank-Server B mit https zu. Geht das? Es ist ja dann ein anderes Zertifikat.

Thomas
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 27.10.2008, 14:46
Benutzerbild von Curtains
(Schlafen||Programmieren)
XHTMLforum-Mitglied
 
Registriert seit: 27.08.2008
Beiträge: 206
Curtains befindet sich auf einem aufstrebenden Ast
Standard

Hallo netAction,

Zitat:
Zitat von netAction Beitrag anzeigen
Ajax von Server A auf Server B funktioniertnicht, weil der Zugriff außerhalb der Domain erfolgt. Einzige Möglichkeit: JsonP (richtig?)
Ajax wird als Kommunikation zwischen einem Web-Client und einem Web-Server eingesetzt. Und nicht zwischen zwei Web-Servern.
Du meinst wahrscheinlich die folgende Situation:
1) Der Client lädt sich die Webseite (inklusive JS) von Server A
2) Der Client versucht (mit dem geladenen JS von Server A) auf Server B zuzugreifen, was aber wegen der Same Origin Policy nicht klappt.

Es gibt zwei Möglichkeiten, um der Same Origin Policy zu umgehen:
1) Script tag injection (z.B. JsonP)
2) Serverseitiger Proxy

Zitat:
Zitat von netAction Beitrag anzeigen
Jetzt müssen auch noch alle Übertragungen verschlüsselt erfolgen. Die Webseite liegt auf dem einen Server A mit https oder lokal und greif auf den Datenbank-Server B mit https zu. Geht das? Es ist ja dann ein anderes Zertifikat.
Thomas
Ja, es geht:
1) fsockopen() (Server A <-> Server B)
2) Ajax (Webclient <-> Server)
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 27.10.2008, 15:14
Benutzerbild von Scheppertreiber
Chaot und Nonkonformist.
XHTMLforum-Kenner
 
Registriert seit: 13.03.2007
Ort: Steinmark im Spessart
Beiträge: 7.455
Scheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein LichtblickScheppertreiber ist ein Lichtblick
Standard

Ich würde den Kram mit HTTP GET abholen und dann als Datei includen.
Dürfte die einfachste Möglichkeit sein.
__________________
Grüße aus dem Spessart, Joe

{ table-layout: biertischistbesser; }
Der Mausinator
Mit Zitat antworten
  #4 (permalink)  
Alt 27.10.2008, 16:20
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 14.04.2007
Ort: Berlin
Beiträge: 159
netAction befindet sich auf einem aufstrebenden Ast
Standard

Hallo Curtains!

Zitat:
Zitat von Curtains Beitrag anzeigen
Du meinst wahrscheinlich die folgende Situation:
1) Der Client lädt sich die Webseite (inklusive JS) von Server A
2) Der Client versucht (mit dem geladenen JS von Server A) auf Server B zuzugreifen, was aber wegen der Same Origin Policy nicht klappt.
Genau.

Zitat:
Zitat von Curtains Beitrag anzeigen
Es gibt zwei Möglichkeiten, um der Same Origin Policy zu umgehen:
1) Script tag injection (z.B. JsonP)
2) Serverseitiger Proxy
Nee, JsonP. Proxy ist scheiße. Der läuft lokal nicht, wenn sich jemand eine maßgeschneiderte Oberfläche zu Hause baut.

Zitat:
Zitat von Curtains Beitrag anzeigen
Ja, es geht:
1) fsockopen() (Server A <-> Server B)
2) Ajax (Webclient <-> Server)
Server A ist zur Laufzeit gar nicht mehr im Spiel, vo da wird nur das JS-Programm geholt. Ajax geht aus den bekannten Gründen auch nicht. Was meinst du?
Mit Zitat antworten
  #5 (permalink)  
Alt 27.10.2008, 19:18
Benutzerbild von Curtains
(Schlafen||Programmieren)
XHTMLforum-Mitglied
 
Registriert seit: 27.08.2008
Beiträge: 206
Curtains befindet sich auf einem aufstrebenden Ast
Standard

Was spricht eigentlich dagegen, Server A als Proxy einzusetzen
Mit Zitat antworten
  #6 (permalink)  
Alt 27.10.2008, 20:08
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 14.04.2007
Ort: Berlin
Beiträge: 159
netAction befindet sich auf einem aufstrebenden Ast
Standard

Ich möchte eine Kopie der Webseite zum Herumtragen haben.
Mit Zitat antworten
  #7 (permalink)  
Alt 02.11.2008, 20:32
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 14.04.2007
Ort: Berlin
Beiträge: 159
netAction befindet sich auf einem aufstrebenden Ast
Standard

Ich habe sämtliche möglichen Kombinationen ausprobiert. Die Browser stören sich nicht daran, dass unterschiedliche Domains um Zertifikate im Spiel sind.
Einzige Bedingung: Wenn die Webseite verschlüsselt geladen wurde, müssen auch die weiteren Datenquellen verschlüsselt sein.

Mal eine ganz andere Frage. Ich kann ja die Sprache vom Browser abfragen:
Code:
 var userLang = (navigator.language) ? navigator.language : navigator.userLanguage;
 alert ("The language is: " + userLang);
Jetzt ist mein Problem: Wie kann ich abhängig von der hier gelieferten Sprache die Texte der Webseite generieren? $('div#infobox').html("Hallo Welt!"); ist klar.
Ich werde eine Datei mit sämtlichen Texten in vielen Sprachen anlegen. Wie muss diese aussehen? Bestimmt gibt es da fertige Ansätze. Weiß jemand Rat?

Thomas
Mit Zitat antworten
  #8 (permalink)  
Alt 03.11.2008, 11:20
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.655
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Wieso willst du eine Datei mit allen Sprachvarianten anlegen? üblich ist für jede Sprache eine Datei und dann reicht sowas:

HTML-Code:
var MSG = {
'hello world': 'Hallo Welt'
};
Mit Zitat antworten
  #9 (permalink)  
Alt 03.11.2008, 11:52
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 14.04.2007
Ort: Berlin
Beiträge: 159
netAction befindet sich auf einem aufstrebenden Ast
Standard

1. Sprache vom Browser holen
2. Format "en_US" aufbereiten zu "en"
3. Wenn die Sprache unterstützt wird nehmen, sonst Default (="en")
4. Datei mit den passenden Konstanten laden (wenn für jede Sprache eigene Datei)
5. In der Seite die Strings einsetzen. Platzhalter wie ein Datum oder Namen berücksichtigen.

Ich denke, das ist der Weg. Was gibt es da für Möglichkeiten? Die restliche Seite ist in JQuery geschrieben.
Nach einigen Stunden der Suche brauche ich einen Hinweis.
Thomas
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 06.11.2008, 16:39
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 27.06.2006
Beiträge: 134
cybaer befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von netAction Beitrag anzeigen
Wie kann ich abhängig von der hier gelieferten Sprache die Texte der Webseite generieren?
Bedenke aber, daß die Sprache des Webbrowsers nichts über die gewünschte Sprache aussagt. Für letzteres gibt es den Accept-Language-Request-Header.
__________________
Gruß, Cybaer
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus



Alle Zeitangaben in WEZ +2. Es ist jetzt 01:23 Uhr.