質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Q&A

解決済

3回答

3406閲覧

node.jsとAjaxの違い

退会済みユーザー

退会済みユーザー

総合スコア0

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

1グッド

0クリップ

投稿2021/04/30 03:18

node.js未経験者です
node.jsとAjaxはどう違うのか今一理解できません
node.jsはサーバー側でコネクションを張りっぱなしにするという記事を見ましたがいまいちわかりません
サーバーへの負荷の違いもよくわかりません

AjaxでsetIntervalで0.1秒ごとに処理するのと違いはありますか
↑は相当な負荷がかかりますが、node.jsはかからないんですか?

あとnode.jsに対する基礎知識として何が必要ですか
AjaxとPHPは理解しています

退会済みユーザー👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

node.jsとAjaxはどう違うのか今一理解できません

全く別物です。Node.jsは、サーバなり自分のパソコンなりでJavaScriptを動かせる処理系の名称です。

投稿2021/04/30 03:23

maisumakun

総合スコア145208

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2021/04/30 03:24

「RubyとAjaxはどう違いますか?」という質問と同程度に、質問として成立していません。
退会済みユーザー

退会済みユーザー

2021/04/30 03:30

それはわかっています サーバーで処理するからHTTPリクエストが発生しない=どれだけやっても負荷がかからないとい事でいいでしょうか?
maisumakun

2021/04/30 03:38 編集

> それはわかっています わかっているなら、質問を修正してください。比較対象ではないのです(Node.jsで構築したサーバに対してAjaxリクエストを投げることもふつうにあります)。
退会済みユーザー

退会済みユーザー

2021/04/30 03:39

質問に対する本質的なレスからずれています 一緒に扱われた事に憤慨でもしてるんでしょうかね
maisumakun

2021/04/30 03:41

> 質問に対する本質的なレスからずれています 本質的に質問が成立していない、という話です。
退会済みユーザー

退会済みユーザー

2021/04/30 03:41

>Node.jsで構築したサーバに対してAjaxリクエストを投げることもふつうにあります 聞きたい事はそういう事ではありません 未経験者にとって未知の世界です そういう場合もあるというレスはなおさら混乱させているだけです
maisumakun

2021/04/30 03:42

Node.jsサーバに対してAjaxリクエストを行うのであれば、両者は「同じものをどこから見るか」の差でしかなく、全く違いはありません。
退会済みユーザー

退会済みユーザー

2021/04/30 03:43

>本質的に質問が成立していない、という話です。 どう成立してないんでしょうか 全く別物だという事は理解してましたがと書きましたが
maisumakun

2021/04/30 03:44

Ajaxと比較したい「通信方法」はなんですか?
退会済みユーザー

退会済みユーザー

2021/04/30 03:46

あなたは経験者でありながら、うまく説明できないのか、何かに憤慨してるのかわかりませんが、 回答はそこらの辺のウェブサイトに載ってるのとわからずのものでした
maisumakun

2021/04/30 03:46

> node.jsはサーバー側でコネクションを張りっぱなしにするという記事を見ましたがいまいちわかりません Node.jsで構築した「何の」サーバについての話でしょうか?それが、Ajaxと比較検討すべきものです。
退会済みユーザー

退会済みユーザー

2021/04/30 03:49

先に申しました通り全くの素人ですので 何のサーバやら、関しては答えようがありません。 そこを突っ込んでくるのであれば、不毛ですのでレスは結構です
maisumakun

2021/04/30 03:52 編集

当該の記述がどこにあったかはわかりますか? > 何のサーバやら、関しては答えようがありません。 「Node.jsで実現する」ことがポイントなのではなく、「通信プロトコル」の違いの話と思われます。具体名がわからない以上、コメントは出来ません。
退会済みユーザー

退会済みユーザー

2021/04/30 03:53

知識がない素人に対して、あれはこれはといったところで理解できるわけがありませんので もっと極端な質問をしたつもりだったんですがね
maisumakun

2021/04/30 03:53

> サーバーで処理するからHTTPリクエストが発生しない=どれだけやっても負荷がかからないとい事でいいでしょうか? そんな夢の技術はありません。「何も負荷がかからない」=「何の処理もできない」ということです。
maisumakun

2021/04/30 03:55

> 知識がない素人に対して > それはわかっています どちらなのですか?
退会済みユーザー

退会済みユーザー

2021/04/30 03:55

HTTPリクエストは投げてませんよね? 開発ツール見てもリクエスト投げてないのですが
maisumakun

2021/04/30 03:57

> 開発ツール見てもリクエスト投げてないのですが でしたら、「他のプロトコル」で通信している、もしくは通信自体を行っていない、ということになります。
退会済みユーザー

退会済みユーザー

2021/04/30 03:57

仮にどちらか答えたところで意味ありますかね?
退会済みユーザー

退会済みユーザー

2021/04/30 03:58

他のプロトコル場合もネットワークに残ると思うんですが? wws://でしたっけ、そういう形になりませんか?
退会済みユーザー

退会済みユーザー

2021/04/30 04:00

全くわかりませんが、通信ネットワークに全くでていないのに通信している ソースを表示するとwebsocketが使われている これに対してどうお思いなんですか?
退会済みユーザー

退会済みユーザー

2021/04/30 04:04

http://a2.chat.smaero.jp/room1.html 上記サイトはチャットシステムサイトです 一切の通信がネットワークに残ってないことがわかると思います >でしたら、「他のプロトコル」で通信している、もしくは通信自体を行っていない、ということになります。 他のプロトコルで通信してるってことでいいんですね? お答えください
maisumakun

2021/04/30 04:04

> ソースを表示するとwebsocketが使われている それを先に言ってほしかったです。「WebSocket」という名前を確認したかったのです。
maisumakun

2021/04/30 04:06

> 一切の通信がネットワークに残ってないことがわかると思います 検証ツールを開いた時点でWebSocketの接続がすでに成立していた場合、通信のリストに出てきません。検証ツールを開いてからリロードすると確認できるかと思います。
退会済みユーザー

退会済みユーザー

2021/04/30 04:08

>検証ツールを開いてからリロードすると確認できるかと思います。 確かに出てきますよ 読み込んだファイルは ですが普通でしたら発言する=HTTPリクエストを投げる=投げた時点でネットワークに残りますが これは残ってませんよ どういう事なんですか?
maisumakun

2021/04/30 04:10

質問に書かれたとおり、WebSocketは繋ぎっぱなしになって、HTTPリクエストを起こさずともリアルタイムでやり取りできます。
退会済みユーザー

退会済みユーザー

2021/04/30 04:13

Websocket=node.jsでいいんですね? ネットワークの通信プロトコルがHTTPしかネットワークには残らないというのは事実でしょうか?
退会済みユーザー

退会済みユーザー

2021/04/30 04:18

>HTTPリクエストを起こさずともリアルタイムでやり取りできます。 それでもサーバーに負荷はかかってるんですか? かかってるならAjaxと比べどれくらい負荷が違うんですか?
maisumakun

2021/04/30 04:19

> Websocket=node.jsでいいんですね? 違います。 > ネットワークの通信プロトコルがHTTPしかネットワークには残らないというのは事実でしょうか? 逆です。元来のHTTPは1リクエストに対する1レスポンスで、通信が「残らない」から繰り返し接続する必要が生じています。WebSocketはリクエストを永続させて、そこで通信が行えます。
maisumakun

2021/04/30 04:20

> かかってるならAjaxと比べどれくらい負荷が違うんですか? 負荷の問題というより、「サーバからクライアントに好きなタイミングでデータを送れる」という機能性の問題が大きいです。 HTTPは「クライアントからサーバに取りに行く」という流れになるので、サーバが好きなタイミングでクライアントに送りつける、ということは出来ません。
maisumakun

2021/04/30 04:22

Socket.ioなど、Node.jsはWebsocketサーバを構築するのに便利なことは間違いないですが、他の言語でも実装可能です。 質問の内容は、「Node.jsだから」ではなく「WebScoketだから」とすべき内容です。
退会済みユーザー

退会済みユーザー

2021/04/30 04:23

>負荷の問題というより、「サーバからクライアントに好きなタイミングでデータを送れる」という機能性の問題が大きいです。 負荷は発生してるんですか?
退会済みユーザー

退会済みユーザー

2021/04/30 04:26

>他の言語でも実装可能です。 ポーリングという手法があるようですが、同じようなものですか?
退会済みユーザー

退会済みユーザー

2021/04/30 04:26

WebSocketがnode.jsじゃないならWebsocketはどうやって動かせるんですか? 謎が深まるばかりです
maisumakun

2021/04/30 04:27

> ポーリングという手法があるようですが、同じようなものですか? 「AjaxでsetIntervalで0.1秒ごとに処理する」のがポーリングです。
maisumakun

2021/04/30 04:28

> WebSocketがnode.jsじゃないならWebsocketはどうやって動かせるんですか? HTTP通信を行うのにWebサーバを建てるのと同じで、WebSocketの通信のためにはWebSocketサーバを立てればいいです。
退会済みユーザー

退会済みユーザー

2021/04/30 04:36

ありがとうございます 0から1くらいには理解が深まりました 自分で触れてないから理解できないというのが全てな気もします こんなアホにわざわざ時間咲いていただいて申し訳ございます
guest

0

Node.jsはソフトウェアでAjaxは手法です。

投稿2021/04/30 04:16

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/04/30 04:37

ありがとうございます さすがにそれは、わかっていたつもりでした 「お前は何もわかってなかった」といわれたらそれまでですが。。。。
退会済みユーザー

退会済みユーザー

2021/04/30 04:42 編集

いや、、わかってなかったかもしれませんが、わかっていたような気もします 相互の関係性、互いにうまく利用し合う場面があることはわかっていたつもり(ソース見てきましたのでnode.jsとajaxの記述が同じ場面にあるのはなぜか?疑問)でしたが、 はっきりとした違いがわからなかったので質問させてもらいました(負荷の面など) すみません、わかってませんでした。
guest

0

Node.js で作られたサーバーに限らず、Web サーバー実装は TCP コネクションを使いまわす機能を持っていることかよくあります。クライアント(ブラウザ)も TCP コネクションを使いまわすので短い間隔でリクエストを送っても想像よりは負荷はかかりません。HTTP/2 対応のサーバー・クライアント同士の通信なら確実に TCP コネクションを使いまわすのでより負荷は小さくなる可能性は高いです。

投稿2021/04/30 03:40

A_kirisaki

総合スコア2853

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/04/30 03:47

負荷はかからないわけじゃない、負荷を抑えられるということでいいでしょうか?
A_kirisaki

2021/04/30 03:49

サーバーでリクエストを処理する時点で「負荷」は発生しています。問題はその多寡ですので、そのような解釈で良いと思われます。
退会済みユーザー

退会済みユーザー

2021/04/30 03:51

Ajaxとnode.jsは全く別物ですが記述に関してAjaxを理解してればすぐ理解できますか?
A_kirisaki

2021/04/30 03:55

Ajax というのは Asynchronous JavaScript + XML の略であり、JavaScript と XML を用いた非同期通信自体のことを指します(最近は XML ではなく JSON を利用することがほとんど)。Ajax の記述というのはブラウザからサーバーにリクエストを送るときの JavaScript コードという解釈でよろしいでしょうか。でしたら No です。
退会済みユーザー

退会済みユーザー

2021/04/30 03:56

はい JavaScriptコードです Noなんですか もっと難しいでしょうか
A_kirisaki

2021/04/30 04:01

簡単なサーバーのコードでもクライアントからリクエストするよりは難しくなるでしょう。とりあえず Node.js で動くプログラムの作り方を練習したら Express というフレームワークを使ってサーバーを作ってみることをおすすめします。
退会済みユーザー

退会済みユーザー

2021/04/30 04:03

共有サーバーしか使ったことがありません 動かせないので全く想像もできないんですよ やりたいですが><
A_kirisaki

2021/04/30 04:17

「サーバーを作る」というのはソフトウェア的な話で、自分のパソコンがあればその中でサーバーを作ることができます。そのサーバーにブラウザからアクセスすることも可能です。一度ネットワークの仕組みがどうなっているか学んだほうが良いのかもしれません。『ネットワークはなぜつながるのか』という本をおすすめします https://www.amazon.co.jp/dp/4822283119
退会済みユーザー

退会済みユーザー

2021/04/30 04:20

できれば、A_kirisakiさん著書の本がいいんですが、出されてませんか? 本は人生で3回しか読んでないんで買っても理解できるかわかりません
A_kirisaki

2021/04/30 04:27

著書はないです!あと本を 3 回しか読んだことがないのは流石に偽!!技術書を、という意味ならもっとたくさん読みましょう。前述の本は平易な方です。
退会済みユーザー

退会済みユーザー

2021/04/30 04:34

ハリーポッターですら、登場人物過多で全く理解できなくなるんですけど、それでも平気でしょうか 真面目に聞いています
A_kirisaki

2021/04/30 04:38

小説と違って技術書はわからない概念をその都度調べれば済む話ですし、飛ばし飛ばし読んでも最初は大丈夫なことも多いです。
退会済みユーザー

退会済みユーザー

2021/04/30 04:44

本を読むのと、node.js教えるというスクールに通うのとどちらがいいでしょうか?
A_kirisaki

2021/04/30 04:45

圧倒的に前者です
退会済みユーザー

退会済みユーザー

2021/04/30 04:48

謝礼払うので、A_kirisakiさんと直接会ってご指導いただくことはできませんでしょうか? 本当に長文の文字が苦手なんです 横文字なんて見たらすぐ頭痛くなるんですよ
A_kirisaki

2021/04/30 04:53

利用規約に反する可能性があるので……
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問