1

プロジェクトに HTTP 要求ハンドラー サブシステムを実装しています。HTTP RFC によると、絶対パスを空にすることはできません。元の URI に何も存在しない場合は、"/" (サーバー ルート) として指定する必要があります。

質問:

これは、これら 2 つのブラウザ リクエストが同じ http リクエスト動詞、uri、およびホストになることが保証されているということですか?

ブラウザ リクエスト 1:

http://www.foo.com/

ブラウザ リクエスト 2:

http://www.foo.com

HTTP リクエスト (テストされていませんが、これが当てはまると思います):

GET / HTTP/1.1
Host: www.foo.com

フォローアップの質問:

上記の仮定が正しければ、スラッシュは常に正しい HTTP 要求のパスの最初の文字であることが保証されていますか?

そして最後の質問: Ruby Sinatra のようなフレームワークでは、ユーザーは常に先頭のスラッシュでハンドラーを開始する必要があると言うのは安全な仮定ですか?

4

1 に答える 1

-1

フォローアップの質問:

私の知る限りでは:

http://www.foo.com/path

http://www.foo.com/path/

2 つの異なる URL です

シナトラ ルート:

/道

末尾に / がある URL のリクエストにはマップされません

ただし、ナンシーでは、末尾のスラッシュが存在するかどうかは問題ではありません。


質問:

ルートを作成する場合

同様に、ベース URL からマップされます。

/道

マップします。

基本的にどちらも同じです。

ただし、私の個人的な好みは、「ルート URL の後に定義されたルートが続く」と言っているようなものであるため、常に先頭のスラッシュを使用することです。

于 2012-11-01T06:42:42.537 に答える