笑)さて、今回はWebの話です。実は僕はインターンの中では少し特殊で、エンジニアっぽいお仕事もさせてもらったりしてまして、Web(主に高速化)に興味を持ってイロイロ取り組んでます。僕自身の知識の整理という意味もありますが、Webに興味を持ってインターン始める人が少しでも多くなるようにという願いも込めて、特に書くことがなければ僕の回はこの話題を続けていこうと思います。(続けたいのでナンバリングしました。続け「ば」の話ですが笑)とはいえ長くなりそうなので、初回はほんの触りだけにしようと思います。いうことでまずは、「Webにおける速度の重要性」について話します。パソコンの普及によってWebの裾野は急速に広がり、スマートフォンの普及によって、パソコンと同様のWeb体験がモバイル端末でもできるようになりました。皆さん日々触りまくってると思います。そんな中で、「このサイト遅いな」と感じる瞬間はありませんか?その不満を解消するために世界中のエンジニアが頑張って取り組んでいることについて今後解説していこうと思います。※皆さんのWeb体験を速くする裏ワザ紹介ではないので悪しからず。普段皆さんが感じている「遅いから見るのやめよう」という感覚は統計的なデータとして表れていて、ロードに3秒以上かかるページでは53%のユーザーが離脱してしまうと言われています。これはビジネスシーン、特にショッピングサイトなどではより顕著で、表示が1秒遅くなるだけで、購入などの行動を起こしてくれる(コンバージョン、CVとか言います)可能性が7%減ってしまうという調査結果もあります。結果的に、ユーザーとのつながりの度合い(エンゲージメントって言います)に対しても影響があると。いった僕らの感覚をGoogleが見逃すはずはなく、2010年頃からページの表示速度も検索結果のランキングに影響していると言われています。この前始まったMFI(モバイルファーストインデックス)によってもっと顕著になると思いますが、その辺の話はまた今度。Web体験において、表示速度が結構重要なんだなと感じていただけたでしょうか。そもそもなぜ、「遅い」ということが起こるんでしょうか?これは通信の仕組みを理解しないと絶対わかりません。普段皆さんがWebページを閲覧するときの枠組みはこんな感じになってます。ユーザーの皆さんがスマホやタブレット、パソコンを使ってWebサイトにアクセスすると、必ず世界のどこかにあるWebサーバーにつながります。このWebサーバーと皆さんが持ってる端末の中にあるブラウザ(GoogleChrome、Safari、IEとかですね。EdgeやFirefoxを使って見ている方もいらっしゃるかもしれません。)が通信することで、Webページを閲覧することができます。今この記事にアクセスした瞬間にも通信が行われています。このやりとりには大きく分けて3つのステップが存在します。1リクエストを送る2レスポンスを待つ3ページをダウンロードするなんのこっちゃわからないかもですが、カフェでコーヒーを注文するときを考えてみましょう。注文をする(リクエストを送る)と、しばらく待ち時間(レスポンスを待つ)があって、それから1杯のコーヒーが出てきます(ページをダウンロードする)。基本的なレベルではWebサーバーへのリクエストもさして変わりありません。そもそもの話に戻りますが、なんで「遅い」なんてことが起こるんでしょうか?んーどうやら、2っぽいですよね。笑ではなんで待たなきゃいけないのでしょうか?難しいですよね。カフェで考えると、コーヒーが出てくるのが遅い原因は、そのカフェにある機械や働いているウェイターさんで変わってきます。そもそも作るのに時間がかかるコーヒーかもしれないですし、お店の混み具合なんかでも変わってきますよね。これらが待たなきゃいけない理由にもなってくるわけですが、かなり多様なものになるのは想像つくと思います。膨大な要因があります。その中でどこに焦点を当てるのか。考える価値がありそうですよね。そんなことを今後深掘りしていけたらなと。次はこのやりとりをもっと詳しく見ていって、遅くなりそうな原因を考えていこうと思います。