NSURLクラスのフラグメントの解釈

NSURLクラスの「fragment」メソッドは、URLのフラグメントを返してくれます。ただ、その動作は「#」以降をすべてフラグメントとして解釈するとなっているようです。
例えば、「http://www.rk-k.com/test.html#name=10?from=browser」というURLがあった場合、「fragment」メソッドと「query」メソッドの戻り値は次のようになります。
fragment : name=10?from=browser
query : nil
RFC 1808では、URLを次のように定義しています。
<scheme>://<net_loc>/<path>;<params>?<query>#<fragment>
つまり、定義的には、フラグメントは最後にあるべきで、クエリーはフラグメントよりも前にあるべきということです。そのため、「http://www.rk-k.com/test.html?from=browser#name=10」というURLでは、次のように値が戻ります。
fragment : name=10
query : from=browser
プログラム中でフラグメントを解釈するとき、クエリーが含まれているかもしれないことを注意しなければいけないようです。

関連記事

  1. Webサイトのシステムを全面刷新しました

  2. 原稿執筆用ソフトを作り始めました

  3. HistoryEditor Windows版 1.5.2 を公開しまし…

  4. MultiTextConverterのSwiftで書き直しを始めました…

  5. Android StudioをMac上で試してみました

  6. BlackJackアプリをリリースしました

最近の著書

  1. 基礎から学ぶ SwiftUI

最近の記事

  1. 基礎から学ぶ SwiftUI
  2. 基礎から学ぶ SwiftUI