FJCT_ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

ファイルストアのHTTPSアクセスとAPIアクセスの違い

f:id:mbaasdevrel:20181119090323p:plain

ファイルストアでは通常のAPIからのアクセスの他に、HTTPSからファイルへアクセスできる機能を提供しています。この二つの利用法について、相違点を紹介します。

APIの消費について

HTTPSを使った場合でもAPIを消費します。APIからのアクセスはもちろん消費します。HTTPSアクセスの場合、以下のようなURLになっています。

https://mbaas.api.nifcloud.com/2013-09-01/applications/TTuIeDIVY6fSS5Hk/publicFiles/09-13-15-03-21.jpg

この TTuIeDIVY6fSS5Hk という文字はアプリケーションIDであり、管理画面のURLでも確認できます。このアプリケーションIDを使って、どのmBaaSアプリからのアクセスかを特定しています。

f:id:mbaasdevrel:20181119090612p:plain

キャッシュについて

HTTPSアクセスの場合、eTagを使ったWebブラウザ標準のキャッシュ機構を使っています。そのため、二回目以降の同一リソースへのアクセスは高速化されます。逆にAPIアクセスはキャッシュを使っていませんので、常にコンテンツをダウンロードします。

サイズについて

APIからのアクセスの場合、ファイルの内容はバイナリではなくBASE64エンコードされたものになります。そのため、HTTPSアクセスに比べるとサイズが大きくなるでしょう。とは言え、Gzipで圧縮して配信していますので、BASE64エンコードした文字列も小さくなっています。

ACLについて

HTTPSアクセスの場合、ACLアクセスが適用されません。自分だけがアクセスできる写真を作ることはできません。URLが分かってしまえば誰でもアクセスできます。特定グループの人たちだけアクセスできるようにするなど、より細かくアクセス制御したい時にはAPI経由で使うことになります。単純にURLが分からなければ大丈夫というのであれば、推測できないように十分に長いファイル名にすることで回避もできます。

並行処理について

HTTPSアクセスの場合、Webブラウザなどの仕様によって同時アクセス数が決まります。APIアクセスの場合、コードによって同時アクセス数が変わるでしょう。この辺りをうまく使いこなせば、HTTPSアクセスとAPIアクセスを同時に行ってファイルのダウンロード数を上げることもできそうです。

HTTPSアクセスは設定が必要

APIアクセスは特に設定を行わずに使えますが、HTTPSアクセスは管理画面で設定が必要です。

有効にすると、ファイルストアでURLが確認できるようになります。HTTPSアクセスは特に画像に限らず利用できます。


ファイルの特性やACLの制御などによって向き不向きがありますので、必要に応じて使い分けてください。写真系アプリの場合はHTTPSアクセスを有効にした方が良いでしょう。個人のストレージアプリであればAPIアクセスの方が良いでしょう。

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。