久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

【SFA官方譯文】:使用 Spring Boot 2.1 介紹 Servlet 4.0 的服務(wù)器推送...

 xkl135 2018-10-15

原文鏈接:https:///articles/introducing-servlet-40-server-push-using-spring-bo

作者: Naveen Katiyar

譯者:Darren Luo

想要了解有關(guān)新 Servlet 4.0 的更多信息,?查看這篇文章,,了解更多關(guān)于在 Spring Boot 2.1 中使用服務(wù)器推送的信息,。

在本文,,我們將討論服務(wù)器推送技術(shù),,它實(shí)際上是 HTTP/2 規(guī)范的一部分,。

因?yàn)?HTTP/2,,Servlet 最重要的特性是服務(wù)器推送功能的實(shí)現(xiàn)。該技術(shù)背后的概念:如果客戶端/瀏覽器請(qǐng)求某個(gè)資源,,服務(wù)器預(yù)先假設(shè)其他關(guān)聯(lián)資源也可能很快被請(qǐng)求,。由于這個(gè)假設(shè),它在它們實(shí)際需要之前將它們推入緩存(稱為“緩存推送”),。例如,,很可能在網(wǎng)頁加載時(shí),它最終可能請(qǐng)求 CSS 文件或其他圖片,。同時(shí)服務(wù)器主動(dòng)開始推送這些資源的字節(jié),,不再需要客戶端發(fā)出明確的請(qǐng)求。

Servlet 4.0 是 Java EE 8 的一部分,,因此,,它需要 Java 9 以及 Spring 5.x。Tomcat 支持 HTTP/2,,但是它必須配置為使用 TLS,。Tomcat 9 只能在 Spring Boot 2.1.0 中使用,,但是它尚未發(fā)布,我們需要在本文中使用里程碑版本,。

在 Spring Boot 中開啟 TLS 支持只是 application.properties 文件中的幾個(gè)屬性的問題,。只需使用以下代碼來啟用它:

  1. #enable/diable https

  2. server.ssl.enabled=true

  3. server.ssl.key-store: classpath:keystore.jks

  4. server.ssl.key-store-password: tomcatssl

  5. server.ssl.keyStoreType: JKS

  6. server.ssl.keyAlias: tomcatssl

  7. server.port=8443

假如李不知道如何生成 keystore.jks,,清點(diǎn)擊此鏈接,。

要在 Tomcat 中啟用 HTTP/2 支持,需要添加以下屬性,。

  1. server.http2.enabled=true

在使用 TLS 配置我們的服務(wù)器之后,,我們很高興公開我們的 endpoint,,其由 HTTP/2 技術(shù)提供支持。

  1. @GetMapping(path = '/serviceWithPush')

  2. public String serviceWithPush(HttpServletRequest request,PushBuilder pushBuilder) {

  3.    if (null != pushBuilder) {

  4.        pushBuilder.path('resources/OnlineJavaPapers.png')

  5.            .push();

  6.    }

  7.    return 'index';

  8. }

我們還配置另一個(gè)類似于上面的 endpoint,,它主要使用傳統(tǒng)的 pull 技術(shù),,并嘗試在客戶端瀏覽器上找出差異。

  1. @GetMapping(path = '/serviceWithoutPush')

  2. public String serviceWithoutPush() {

  3.    return 'index';

  4. }

使用 Firefox dev tool,,我們可以確認(rèn),,對(duì)于 serviceWIthPush endpoint

,只有一個(gè)請(qǐng)求是從瀏覽器發(fā)起的:

然而,,當(dāng)我們調(diào)用 serviceWithoutPush,,會(huì)觸發(fā)兩個(gè)請(qǐng)求。

總而言之,,當(dāng)使用服務(wù)器推送技術(shù)結(jié)合適當(dāng)?shù)木彺婕夹g(shù),,我們可以大大增強(qiáng)頁面加載時(shí)間和我們網(wǎng)站的整體響應(yīng)能力。

可在這里找到示例代碼,。

下面是譯者我自己補(bǔ)充的一點(diǎn)點(diǎn)內(nèi)容:

可能有部分讀者不知道怎么使用 Spring Boot 的里程碑版本,,我在這里貼一個(gè) pom.xml 文件供大家參考使用:

  1. <?xml version='1.0' encoding='UTF-8'?>

  2. <project xmlns='http://maven./POM/4.0.0' xmlns:xsi='http://www./2001/XMLSchema-instance'

  3.    xsi:schemaLocation='http://maven./POM/4.0.0 http://maven./xsd/maven-4.0.0.xsd'>

  4.    <modelVersion>4.0.0</modelVersion>

  5.    <groupId>com.example</groupId>

  6.    <artifactId>myproject</artifactId>

  7.    <version>0.0.1-SNAPSHOT</version>

  8.    <parent>

  9.        <groupId>org.springframework.boot</groupId>

  10.        <artifactId>spring-boot-starter-parent</artifactId>

  11.        <version>2.1.0.M4</version>

  12.    </parent>

  13.    <dependencies>

  14.        <dependency>

  15.            <groupId>org.springframework.boot</groupId>

  16.            <artifactId>spring-boot-starter-web</artifactId>

  17.        </dependency>

  18.    </dependencies>

  19.    <build>

  20.        <plugins>

  21.            <plugin>

  22.                <groupId>org.springframework.boot</groupId>

  23.                <artifactId>spring-boot-maven-plugin</artifactId>

  24.            </plugin>

  25.        </plugins>

  26.    </build>

  27.    <repositories>

  28.        <repository>

  29.            <id>spring-snapshots</id>

  30.            <url>https://repo./snapshot</url>

  31.            <snapshots><enabled>true</enabled></snapshots>

  32.        </repository>

  33.        <repository>

  34.            <id>spring-milestones</id>

  35.            <url>https://repo./milestone</url>

  36.        </repository>

  37.    </repositories>

  38.    <pluginRepositories>

  39.        <pluginRepository>

  40.            <id>spring-snapshots</id>

  41.            <url>https://repo./snapshot</url>

  42.        </pluginRepository>

  43.        <pluginRepository>

  44.            <id>spring-milestones</id>

  45.            <url>https://repo./milestone</url>

  46.        </pluginRepository>

  47.    </pluginRepositories>

  48. </project>

PS:圖片在 google 的服務(wù)器上,可能看不到,,該怎么做大家都知道的啦~


推薦: 【SFA官方譯】:使用Spring Security保護(hù)REST API

上一篇: 【SFA官方譯文】Setters,,Method Handles 和 Java 11

關(guān)注公眾號(hào)


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多