0

Tomcat と Grizzly (GlassFish 3) の URI に最大長 (デフォルト値ではない) はありますか?

大きな GET リクエストを受信できる RESTful API を作成したいと考えています。

4

1 に答える 1

2

Tomcat では、 HTTP コネクタ要素maxHttpHeaderSizeの属性として設定できます。デフォルト値は 8192 バイト (8KB) です。これは、エンコードされていない ASCII 文字とほぼ同じ量です。Glassfish v3 は内部で Tomcat を使用するため、構成設定は同じです。Grizzly は、Glassfish と Tomcat の両方で使用できる単なる HTTP コネクタの実装です。抽象構成は、使用される HTTP コネクタの実装に依存するべきではありません。server.xml

そうは言っても、考慮すべき別の制限、つまりクライアント側/プロキシ側の制限もあります。HTTP 1.1 仕様でさえ、これについて警告しています。これは、章 3.2.1の抜粋です。

注: 一部の古いクライアントまたはプロキシの実装ではこれらの長さが適切にサポートされていない可能性があるため、サーバーは 255 バイトを超える URI の長さに依存することに注意する必要があります。

制限は、MSIE と Safari で約 2KB、Opera で約 4KB、Firefox で約 8KB です。したがって、8KB が可能な最大長であり、2KB がサーバー側で信頼できるより手頃な長さであり、255 バイトが URL 全体が入ると想定する最も安全な長さであると想定できます。

于 2010-01-14T12:07:07.547 に答える