2016-06-30 11 views
0

Ich habe eine Google Appengine Java-Anwendung, die ich zum Hosten einer einfachen statischen Website verwende.Aktivieren Sie Google App Engine Java zum Bereitstellen von Webp-Bildern, wenn der Client sie annimmt.

Meine .html, .css, .jpg Dateien gehen in das Kriegsverzeichnis. Hier ist meine web.xml

<?xml version="1.0" encoding="utf-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> 
    <welcome-file-list> 
     <welcome-file>index.html</welcome-file> 
    </welcome-file-list> 
</web-app> 

Hier ist mein appengine-web.xml

<?xml version="1.0" encoding="utf-8"?> 
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> 
    <application>myapp</application> 
    <version>5</version> 

    <!-- 
    Allows App Engine to send multiple requests to one instance in parallel: 
    --> 
    <threadsafe>true</threadsafe> 

    <!-- Configure java.util.logging --> 
    <system-properties> 
    <property name="java.util.logging.config.file" value="WEB-INF/logging.properties"/> 
    </system-properties> 

    <static-files> 
    <include path="/**.png" expiration="7d" /> 
    <include path="/**.gif" expiration="7d" /> 
    <include path="/**.jpg" expiration="7d" /> 
    <include path="/**.jpeg" expiration="7d" /> 
    <include path="/**.tif" expiration="7d" /> 
    <include path="/**.tiff" expiration="7d" /> 

    <include path="/**.svg" expiration="7d" /> 
    <include path="/**.eot" expiration="7d" /> 
    <include path="/**.ttf" expiration="7d" /> 
    <include path="/**.woff" expiration="7d" /> 

    <include path="/**.webp" /> 

    <include path="/**.ico" /> 
    <include path="/**.html" /> 
    <include path="/**.css" /> 
    <include path="/**.js" /> 
    <include path="/**.zip" /> 
    <include path="/**.msi" />  
    <include path="/**.exe" />  
    <include path="/**.xml" />  
    <include path="/**.txt" />  
    <include path="/**.htc" /> 
    </static-files> 

</appengine-web-app> 

Ich mag würde Version der Bilder tun dienen webp wann immer möglich. Wie kann ich das machen?

Ich führte ein einfaches Experiment durch. Ich habe file.jpg und entsprechende file.webp in meinem Kriegsverzeichnis. Ich habe eine home.html Seite, die sich auf file.jpg bezieht. Wenn ich auf home.html auf Google Chrome zugreife - das jpg wird nicht das Webp serviert.

+0

hm, können Sie daran erinnern, warum Google Chrome muss anderes Bild in diesem Fall verloren? –

+0

@IgorArtamonov Webp-Bilder sind in der Regel kleiner als entsprechende JPEGs, dies kann die Ladezeiten einer Seite erheblich reduzieren. Dies ist wahrscheinlich einer der Hauptgründe, warum Google in erster Linie hinter Webp - Internet schneller geworden ist. Google Chrome und Opera sind zu diesem Zeitpunkt die einzigen großen Browser, die Webp unterstützen. Wenn Chrome nach einem Bild von einem Server fragt, wird ein Akzeptier-Header gesendet, der angibt, dass ein Webp akzeptiert werden kann. – AmaltasCoder

+0

sorry, _lost_ -> _load_ in meinem vorherigen Kommentar –

Antwort