トップ OSS紹介 Jetty

Jetty

NRIのOpenStandiaが提供するJetty詳細情報

Jetty情報

Jetty情報更新日:2025/10/07

Jettyとは

Jetty (ジェティ)は、100%Javaで開発されたHTTPサーバ兼Java Servletコンテナで、軽量であるという特徴があります。
一般的なHTTPサーバが、主にブラウザ等を介して利用者にHTMLなどを提供するのに対し、JettyはEclipseやApache Solrなどのソフトウェアの一部に組み込まれているほか、さまざまなデバイスにも組み込まれてマシン間通信機能を提供するためにも利用されています。
JettyはJNDI、JMX、OSGi、JAAS、非同期サーブレット、HTTP/1.1, 2, 3対応、WebSocket、その他多くの機能をサポートしています。
同様のJava ServletコンテナであるTomcatと比べると、起動が速い(メモリのフットプリントが小さい)、Jetty単独で静的コンテンツとサーブレットが提供できる、非同期HTTPサーバの特徴を活かして、短時間に大量のクライアントからの要求に応えることができるなどの利点があります。

主な機能

主な機能は以下のとおりです。

Webサーバ機能

Apache HTTP Serverのように静的コンテンツを送信します。
SSL/TLS通信もサポートしています。

Java Servletコンテナ

標準Javaサーブレットによる動的コンテンツの生成を行います。

JNDI対応

JNDI APIに対応しており、データソースやディレクトリサービスなどにJetty上で名前を設定し、プログラム上では設定した名前でオブジェクトを利用することが可能です。

JMX対応

JMX APIに対応しており、JConsoleなどを利用してリモートからJettyの状態監視やJetty上で稼動しているアプリケーションの状態監視を行うことが可能です。

OSGi対応

Apache FelixなどのOSGiコンテナにモジュールとしてバンドルさせて動作させることが可能です。
また、Jetty自身をOSGiコンテナとして動作させることも可能です。

JAAS対応

JAASに対応しており、アプリケーション自体に変更を加えることなく、新規または更新された認証技術をアプリケーションに組み込むことが可能です。

JSP対応

JSPに対応しており、追加設定・モジュールを組み込むことでJSPの実行が可能です。

非同期サーブレット

クライアントからのリクエストに対し、サーブレットの処理完了を待たずにレスポンスを返すことが可能です。

非同期HTTPクライアント

Jetty自身から外部のサーバに向けて、HTTPリクエストを非同期に送受信することが可能です。

HTTP/1.1, 2, 3対応

HTTP/1.1, 2はもちろん、HTTP/3もサポートしており、より高速かつ安定した通信を提供します。

WebSocketサーバ

ブラウザとの双方向通信を実現するWebSocket規格のサーバとして動作します。

主な特徴

主な特徴は以下のとおりです。

100%Java

100%Javaで実装されたHTTPサーバ兼Java Servletコンテナです。
静的コンテンツだけでなく、Javaによる動的コンテンツを扱うことが可能です。
HTTPサーバとJava Servletコンテナを別々に用意する構成に比べ、ひとつのサーバとして構成できるので通信時のオーバーヘッドが少ないです。

軽量

ファイルサイズが約14MBの単一のJarファイルとして動作させることが可能です。
起動が高速でメモリのフットプリントも小さいです。
また、単一のJarファイルであるため、さまざまなソフトウェアやEclipseなどの統合開発環境に組み込んで提供することが可能です。

高いスループット

非同期HTTPサーバや、HTTP/2, 3の技術によって、大量のクライアントからの応答に耐え、高いスループットを実現することが可能です。

柔軟な拡張機構

プラガブル(各機能を必要に応じてOn/Offすることができる)な機構を持っており、各機能を独自のプラグインとして拡張することが可能です。

類似プロダクト

OSS製品ではApache Tomcatが同様の機能を提供しています。

ユースケース

Jettyを利用している代表的なWebサービスやソフトウェアには、次のようなものがあります。
Apache ActiveMQ、Alfresco、Apache Solr、Eclipse、Equinox、Apache felix、Apache Geronimo、Google App Engine、Apache Hadoop、MongoDB Management Service

動作環境

前提となる動作環境は、以下のとおりです。

OS

  • Javaが動作するすべてのOS

Java

  • Java Runtime Environment(JRE)1.8以降

Version

Protocols

Servlet

Java

12.0.x

HTTP/1.1 (RFC 7230), HTTP/2 (RFC 7540), HTTP/3 (RFC 9114), WebSocket (RFC 6455, JSR 356), FastCGI, JakartaEE Namespace, JavaEE Namespace

3.1, 4.0, 5.0, 6.0

17

12.1.x

HTTP/1.1 (RFC 7230), HTTP/2 (RFC 7540), HTTP/3 (RFC 9114), WebSocket (RFC 6455, JSR 356), FastCGI, JakartaEE Namespace, JavaEE Namespace

3.1, 4.0, 5.0, 6.0, 6.1

17

※Jetty 12.0.x 以前のバージョンはサポート終了または非推奨となっております。

Jettyのライセンス

Jettyのライセンスは、Apacheソフトウェア財団 (ASF) によって規定されたApache License, Version 2.0およびEclipse Foundationによって規定されたEclipse Public License2.0のデュアルライセンスを採用しています。

オープンソース年間サポートサービス

OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。

お気軽にお問い合わせください

関連OSS

  • Nginx
    サポート対象

    Nginx

    エンジンエックス。Apache HTTP Serverに次ぐ利用率で人気急上昇中の高速・高性能Webサーバです。

  • Apache HTTP Server
    サポート対象

    Apache HTTP Server

    アパッチエイチティーティーサーバ。世界中で最も人気の高いwebサーバソフトウェアの一つです。

  • Apache Tomcat
    サポート対象

    Apache Tomcat

    アパッチトムキャット。JavaサーブレットやJSPを実行するためのソフトウェア

オープンソースに関するさまざまな課題、OpenStandiaがまるごと解決します。
下記コンテンツも
あわせてご確認ください。