質問: HTMLやJavascriptなどの静的コンテンツをサーバにおいて、クライアントからajax通信で叩いて、値を返却する(言わばWebAPIとして機能させる)方法は存在するのでしょうか? 以下のようなことをやりたいのですが、PHPやNode.jsなどのサーバサイドスクリプト言語を一切利用せずに静的コンテンツだけで実現できないのか疑問に思っております。 1.サーバにHTML or Javascriptファイル or 単にjsonファイルを配置 2.クライアントからajax通信でファイルにアクセス(POSTなど)して、 httpステータスコード200番で、json形式のレスポンスを受け取る
回答: 静的コンテンツを、ファイルシステム上にあるHTMLやJavascriptのファイルをWebサーバによって配信するシステムということであれば、Ajax通信で叩くことは可能ですが、POSTは使えません。POSTでデータを送信してもそれを処理する機能がサーバー側にないためです。DELETEも当然でできません。そのため、そのような静的コンテンツでは、全ての人に対して同じ情報しか送ることができません。でも、公開用のWebサーバーということであれば、それで十分な場合も多く、サーバーに負担がかからないというメリットがあります。 Webサイトを作成したいのであれば、Jekyll, Hugo, VuePress等の静的サイトジェネレーターを使うケースが多いと思います。また、Vue.jsやReact.jsを使用したSPAを静的コンテンツとして作成することも可能で、Desktopアプリに近いものが作成可能です。 FireBase等のPaaSを使えば、サーバサイドでスクリプトを一切書かずにWebアプリケーションを作ることが可能です。それは、静的コンテンツでは不可能な認証やデーターベースの処理等をPaaSのAPIを使って行えるためです。