Ankündigung

Einklappen
Keine Ankündigung bisher.

Medien-Traffic immer über Web-server?

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Medien-Traffic immer über Web-server?

    Hallöchen,

    ich hätte gerne gewusst ob der Traffic von Bildern/Videos den Web-server umgehen kann?
    Setzt natürlich voraus das man einen Dateiserver hat der auf einem anderen root als der Webserver läuft (logisch).

    Also angenommen ich habe einen Webserver (dort läuft die Webseite) und div. Dateiserver, wenn die Webseite jetzt entsprechende Medien anzeigt, gelangt der Traffic zum Webserver oder wird er zum Client direkt geleitet (getunnelt oder wie auch immer) ?

    Oder ist es gar davon abhängig wie die Dateien angezeigt werden?

    Man kann sowohl im html src="http://fileserver.xyz.de/datei.jpg" machen als aber auch ne php-Datei auf dem webserver aufrufen die dann die Datei öffnet. src="getMedia.php?name=blupp.jpg"

    PHP-Code:
        header('Content-Type: '.$ContentType);
        
    readfile'http://fileserver.xyz.de/'.$baseDir.$view ); 
    Oder ist es bei HTML automatisch so das der Traffic den Webserver garnicht erreicht da eh der Client die Einzelteile zusammen fügt?
    Würde diese Architektur gern mal aufklären, vielen Dank.


    Aber mein nächstes Problem ist, wenn die URL zur Datei öffentlich zusehen ist, steigt die Gefahr das ich da wer umschauen möchte, oder wenn ich Bilder mittels CSS unscharf mache sich dann einfach den quellcode anschauen und die Datei dann trotzdem normal sehen können. Klar ich kann mit .htaccess den Direktzugriff unterbinden und für meine Server ne withlist machen aber skripte können dann mit manipulierten header wieder darauf zugreifen oder nicht?

    Aktuell habe ich es so das die Dateien außerhalb von httpdocs liegen und hatte mir überlegt ne getMedia.php in htdocs zu legen aber diese Datei- wäre ja auch nur nen Wrapper der von Skripten missbraucht werden kann.

    MfG: Paykoman
    PS: hoffe auf konstruktive Hilfe.


  • #2
    Der Browser lädt sich alle Ressourcen anhand der im Markup spezifizierten Adressen. Wie der Ziel-Server die Auslieferung letztlich handhabt interessiert den Browser recht wenig. Aus Performance-Sicht macht es imho keinen Sinn einen PHP-Proxy für die Auslieferung von statischen Dateien zu nutzen, denn das können Apache / NGINX auch selbst.

    Wenn du nicht willst, dass gewisse Inhalte online zugänglich sind, dann stelle sie nicht online. Du kannst bspw. eine Image-Library nutzen um ein "unscharfes" Bild zu erzeugen, welches du dann, statt dem Original, problemlos in einem öffentlichen Verzeichnis platzieren kannst.

    Kommentar


    • #3
      Zitat von Paykoman Beitrag anzeigen
      PHP-Code:
      header('Content-Type: '.$ContentType);
      readfile'http://fileserver.xyz.de/'.$baseDir.$view ); 
      Damit läuft der Traffic doppelt über deinen Server. Du lädst die Datei runter und überträgst sie an den Client. In der Form hebelst du auch das Caching aus, du müsstest also noch entsprechende Header setzen. Von außen ist nicht erkennbar, dass die Dateien von einem anderen Server stammen. (Fehlerbehandlung beachten!)

      Zitat von Paykoman Beitrag anzeigen
      Aber mein nächstes Problem ist, wenn die URL zur Datei öffentlich zusehen ist, steigt die Gefahr das ich da wer umschauen möchte
      Das ist bei öffentlichen Webservern ebend so und auch Hotlinking gehört mit dazu. Wenn du ein Problem mit Hotlinking hast kannst du auch gegensteuern, z.B. ebend über den referrer (.htaccess) oder temporäre URLs.

      Kommentar


      • #4
        Zitat von Paykoman Beitrag anzeigen

        Man kann sowohl im html src="http://fileserver.xyz.de/datei.jpg" machen als aber auch ne php-Datei auf dem webserver aufrufen die dann die Datei öffnet. src="getMedia.php?name=blupp.jpg"
        CDN (Content Delivery Network) sind speziell für statischen Content vorgesehen. Im HTML sollte dann die CDN Adresse angegeben werden.
        Wenn du ein Script angibst, dann solltest du das mit HTTP Mitteln machen (aka: Sende einen Redirect-status und gibt die CDN URL an)
        Anderenfalls läuft der traffic über deinen Webserver (aka: script liest Daten von extern und liefert sie anschliessend an denClient
        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

        Kommentar


        • #5
          Zitat von lstegelitz Beitrag anzeigen
          Anderenfalls läuft der traffic über deinen Webserver (aka: script liest Daten von extern und liefert sie anschliessend an denClient
          Mit Skript war mein php snippet gemeint oder gilt das eben auch bei der Angabe einer URL im HTML src="" Attribute wo das Video zu finden ist?
          Letztlich macht mir der Traffic weniger Sorgen, sondern eher mehr die Bandbreite vom Webserver die sollte halt unberührt bleiben wenn von nem Dateiserver ein Video geladen werden soll.

          Kommentar


          • #6
            Zitat von Paykoman Beitrag anzeigen

            Mit Skript war mein php snippet gemeint oder gilt das eben auch bei der Angabe einer URL im HTML src="" Attribute wo das Video zu finden ist?
            Letztlich macht mir der Traffic weniger Sorgen, sondern eher mehr die Bandbreite vom Webserver die sollte halt unberührt bleiben wenn von nem Dateiserver ein Video geladen werden soll.
            Man kann auch einfach mal den Tab netwerk der Entwicklerconsole betrachten, wenn eoinem das mit dem src-Attribut zu kompleziert ist.

            Kommentar


            • #7
              Zitat von tomBuilder Beitrag anzeigen

              Man kann auch einfach mal den Tab netwerk der Entwicklerconsole betrachten, wenn eoinem das mit dem src-Attribut zu kompleziert ist.
              Ach da kann man erkennen ob die Bandbreite des Server durch eine Datei belastet wurde? Wie denn das?
              Letztlich sehe ich da nur Zeitangaben und Quelle der Datei, was die Frage über die Architektur aber nicht klärt, außer ich übersehe da etwas.

              Kommentar


              • #8
                Zitat von Paykoman Beitrag anzeigen

                Ach da kann man erkennen ob die Bandbreite des Server durch eine Datei belastet wurde? Wie denn das?
                Letztlich sehe ich da nur Zeitangaben und Quelle der Datei, was die Frage über die Architektur aber nicht klärt, außer ich übersehe da etwas.
                Grösse, Quelle und Dauer hilft mir zu sehen , welcher Server wie lange mit welcher BAndbreite (im Schnitt) belegt wurde.

                Kommentar


                • #9
                  Hallo,

                  deine genauen Ziele des Vorhabens sind mir bisher unklar. Aber so wie ich es lese willst du einen CDN um die Medieninhalte schnell an die Clients zu verteilen?


                  MFG

                  derwunner

                  Kommentar

                  Lädt...
                  X