1 00:00:00,000 --> 00:00:02,620 [Powered by Google Translate] [週7は、続く] 2 00:00:02,620 --> 00:00:05,090 [デビッド·J·マラン、ハーバード大学] 3 00:00:05,090 --> 00:00:07,780 [これはCS50です。] [CS50.TV] 4 00:00:07,780 --> 00:00:09,810 かしこまりました。お帰りなさい。これは、CS50です 5 00:00:09,810 --> 00:00:12,100 これは7週目の終わりです。 6 00:00:12,100 --> 00:00:15,460 だから、インターネットのまわりを回ってこれらの愚かなささいなことの一つ 7 00:00:15,460 --> 00:00:24,080 そして我々は、最大丸呑みされ、それが今、あなたにマニアックな感覚の少しを行う必要があります。 8 00:00:24,080 --> 00:00:28,330 まあ、それはそれはあなたたちにあったよりこの男に面白くなった。 9 00:00:28,330 --> 00:00:32,619 、みんな、よくいえば、 10 00:00:32,619 --> 00:00:42,550 今日は、ネイトの誕生日です。 11 00:00:42,550 --> 00:00:46,630 あなたの感覚を与えるためにネイトと私はどれだけ良い 12 00:00:46,630 --> 00:00:50,140 Web開発では、月曜日のクラスに基づいており、現在、これに基づい 13 00:00:50,140 --> 00:00:53,170 私はあなたがまだそれを見ていない場合、私は、ネイトのホームページをアップしようと思いました。 14 00:00:53,170 --> 00:00:57,020 ここでは、このIAネイトのHTML。 15 00:00:57,020 --> 00:00:59,380 だから、あなたがこれを行う方法を見てみたい場合は、彼のソースコードを見て、ネイト 16 00:00:59,380 --> 00:01:02,250 我々だけで簡単にあなたをembarassことができれば、スタッフが少し何かを得た 17 00:01:02,250 --> 00:01:06,080 あなたはここのクラスの子供たちといくつかのデザートを共有したいと思います。 18 00:01:06,080 --> 00:01:10,150 あなたがダウンして上に来るしたい場合。 19 00:01:10,150 --> 00:01:14,350 あなたはすべての拍手と非常にいいですが、誰も、ネイトの近くのどこに座ってされていません 20 00:01:14,350 --> 00:01:17,560 何らかの理由で、そのバックゾーンインチ 21 00:01:17,560 --> 00:01:24,020 だから、おそらく、いくつかの人々がでこれらを楽しむために見つけることができます。 22 00:01:24,020 --> 00:01:33,380 誕生日おめでとう、ネイト。 23 00:01:33,380 --> 00:01:37,660 >> 追加のhello:私達は私達のCS50x学生からカップルクリップを示した。 24 00:01:37,660 --> 00:01:39,710 あなたはそれが世界にある他に誰が見たい場合 25 00:01:39,710 --> 00:01:41,850 に沿って続いていることを、あなたは、次のURLにアクセスして向かうことができます 26 00:01:41,850 --> 00:01:45,780 ジョセフ、私たちのTFの1は、一種のモンタージュを一緒に入れているところ 27 00:01:45,780 --> 00:01:50,290 その中で、リック·アストリーをこれらのビデオを提出されたすべての人の。 28 00:01:50,290 --> 00:01:53,010 あなたはこれらをスクロールした場合と、それは実際に非常に感激です 29 00:01:53,010 --> 00:01:56,890 人々が声を掛ける元の国や都市の多様性を見ることができます。 30 00:01:56,890 --> 00:02:00,830 あなたはそれを見てみたいのですが、もしそうなら、それは学期の終わりまでアップされます。 31 00:02:00,830 --> 00:02:05,370 今日、我々は、当社のWebを見て、Webプログラミング、HTMLなどを継続 32 00:02:05,370 --> 00:02:08,280 我々はまた、今週の金曜日まで来て昼食を取る 33 00:02:08,280 --> 00:02:11,360 あなたは、ご希望であり、特に、前に行っていない場合。 34 00:02:11,360 --> 00:02:13,630 今週の金曜日のテーマは、ネイトの誕生日になります 35 00:02:13,630 --> 00:02:15,700 あなたは、ネイトとの誕生日のランチを持っていると思いますので、もし 36 00:02:15,700 --> 00:02:17,500 など、業界からの私達の友人の何人か、 37 00:02:17,500 --> 00:02:19,300 そこにそのURLに頭をしてください。 38 00:02:19,300 --> 00:02:22,510 スペースは、いつものように、制限されています。また、あなたが忘れてしまった場合、 39 00:02:22,510 --> 00:02:26,460 、その次の週は問題セット4のスカベンジャーハントの締め切りであると認識 40 00:02:26,460 --> 00:02:30,070 それによってcard.rawからそれらのJPEGのすべてを回復した後、 41 00:02:30,070 --> 00:02:32,880 あなたとあなたのセクションの仲間、ご希望の場合、撮影しようとすることができ 42 00:02:32,880 --> 00:02:36,100 可能な限り、そのメモリカードからコンピュータ科学者の多くは、 43 00:02:36,100 --> 00:02:39,070 あなたとあなたのセクションでは、その後、素晴らしい賞品を獲得します。 44 00:02:39,070 --> 00:02:44,470 提出するものとするときなどによってPSET 4の仕様に戻って参照してください。 45 00:02:44,470 --> 00:02:47,650 また、あなたの手仕事は、不死化したいのであれば 46 00:02:47,650 --> 00:02:51,400 コー​​スのウェブサイトとアパレルの歴史上、 47 00:02:51,400 --> 00:02:54,010 あなたがデザインを送信を開始できるようになりまし歓迎されていることを知っている 48 00:02:54,010 --> 00:02:57,180 今年のTシャツやスウェットなどのため。 49 00:02:57,180 --> 00:02:59,200 我々は、我々はできる限り多くを含むように最善を尽くします 50 00:02:59,200 --> 00:03:01,440 しかし、我々はスタッフの一部のメンバーがデザインのすべてを見直す必要があるでしょう 51 00:03:01,440 --> 00:03:04,180 彼らが仕様と一致していることを確認するには、 52 00:03:04,180 --> 00:03:07,500 そして我々は、それらのほんの一握りを発揮するために、一般的に選ぶ。 53 00:03:07,500 --> 00:03:10,620 あなたはデザインタイプがおありであれば、ただ知っている要件 54 00:03:10,620 --> 00:03:14,030 グラフィックスはPNG、少なくとも200 DPIは、アール 55 00:03:14,030 --> 00:03:16,520 彼らは、4000以上のX 4000ピクセルであってはならない 56 00:03:16,520 --> 00:03:19,010 と10メガバイトを超えないが、あなたのようなものを使用することを歓迎している 57 00:03:19,010 --> 00:03:22,430 PhotoshopやGIMPや様々なグラフィックのプログラム、 58 00:03:22,430 --> 00:03:24,590 あなたの処分で持っているものは何でも。 59 00:03:24,590 --> 00:03:28,280 >> また、地平線上に最終的なプロジェクトです。最終的なプロジェクトは、本当に、50のクライマックスです 60 00:03:28,280 --> 00:03:30,560 それによってコース内のすべての割り当ての、 61 00:03:30,560 --> 00:03:33,170 それはあなた自身のことを行うには、本当にあなたの機会です。 62 00:03:33,170 --> 00:03:35,280 そしてそれは、楽しみのために何かをする単にことができ 63 00:03:35,280 --> 00:03:38,160 それはあなたの学生グループが持ついくつかの差し迫った問題を解決することができ、 64 00:03:38,160 --> 00:03:40,980 いくつかの新しいウェブサイトのために、データのためのいくつかの新しいコレクション機構。 65 00:03:40,980 --> 00:03:43,420 それは、iOS用、Android用モバイルアプリケーションにすることができます。 66 00:03:43,420 --> 00:03:46,030 本当に、空は限界であり、今後数週間にわたって、 67 00:03:46,030 --> 00:03:50,900 CからPHPとJavaScriptのようなこれらの高レベルの言語に我々は移行など、 68 00:03:50,900 --> 00:03:55,150 あなた自身がますますいくつかの現実世界の技術に精通見つける、 69 00:03:55,150 --> 00:03:57,800 いくつかの現実世界のツール、およびことを補うために、 70 00:03:57,800 --> 00:04:00,170 もちろん、セミナーの歴史を持っていることを知って、 71 00:04:00,170 --> 00:04:02,880 それによって、今後数週間にわたって、教員の一部 72 00:04:02,880 --> 00:04:06,160 そしてキャンパスでから私たちの友人は、オプションのセミナーを開催しています 73 00:04:06,160 --> 00:04:08,540 その上に行くと、典型的セクションで行われている内容以上の 74 00:04:08,540 --> 00:04:11,090 、Androidのプログラミングのようなものをご紹介し 75 00:04:11,090 --> 00:04:13,450 iOSのプログラミングのようなものをご紹介し 76 00:04:13,450 --> 00:04:15,950 以上の高度なWeb開発技法。 77 00:04:15,950 --> 00:04:17,970 これらの全体の歴史は、すでにオンラインであります。 78 00:04:17,970 --> 00:04:25,000 あなたはcs50.net/seminarsに行けば、私たちは、かなり何年も前からこれを行ってきた 79 00:04:25,000 --> 00:04:28,740 そしてあなたは、PDFやビデオをここにアーカイブ等のことがわかります 80 00:04:28,740 --> 00:04:33,090 セミナーの数十人の動画です。 81 00:04:33,090 --> 00:04:37,380 昨年は、例えば、我々は、あなたの技術的なインタビューをacingに関するセミナーを行いました 82 00:04:37,380 --> 00:04:40,980 あなたが実際にオフに行くとインターンシップやフルタイムのギグをやるために探しているなら。 83 00:04:40,980 --> 00:04:43,450 Windowsモバイル開発、Android開発、Googleマップ、 84 00:04:43,450 --> 00:04:47,700 APIは、CSSは、ブラックベリーは、Emacs用の開発。 85 00:04:47,700 --> 00:04:52,610 本当に、あなたの都合に合わせてこれらのセミナーのいずれかを見てみることを歓迎しています。 86 00:04:52,610 --> 00:04:57,080 そして、我々は同様に、いくつかの新しいものをこの学期を保持することになります。 87 00:04:57,080 --> 00:04:59,020 >> だから最終的なプロジェクトを進めて何ですか? 88 00:04:59,020 --> 00:05:01,090 この日付がやや迫っているにもかかわらず、まあ、まず、 89 00:05:01,090 --> 00:05:06,460 これは実際にはかなり現実的に最終的なプロジェクトについての思考を開始するだけの機会です。 90 00:05:06,460 --> 00:05:10,550 我々は、唯一の私たちはまだコースでカバーされるだろうことのいくつかの始まりを知る 91 00:05:10,550 --> 00:05:13,470 HTML、PHPなどが、Webに精通している、 92 00:05:13,470 --> 00:05:16,270 だけと私はバイアスのWebに向かって、この会話理由 93 00:05:16,270 --> 00:05:18,380 ほとんどの人は、Webベースの最終的なプロジェクトをやってしまう 94 00:05:18,380 --> 00:05:20,260 しかし、それは必要なものではなく、。 95 00:05:20,260 --> 00:05:22,260 C言語を使用して、目的は、C、Java、結構です 96 00:05:22,260 --> 00:05:25,350 あなたが知っているか知りたいと思うかもしれない、他の言語は非常に細かいです。 97 00:05:25,350 --> 00:05:29,370 しかし、最初に流れるジュースを得るために、我々は、提案前の提出を期待するよ 98 00:05:29,370 --> 00:05:33,520 れ、cs50.netで今あるウェブサイト上でPDF、当たり、 99 00:05:33,520 --> 00:05:36,080 そして左上には、最終的なプロジェクトが表示されます 100 00:05:36,080 --> 00:05:38,920 、最終的なプロジェクトのための仕様です 101 00:05:38,920 --> 00:05:41,470 との提案前のの詳細などがあります。 102 00:05:41,470 --> 00:05:44,760 あなたのティーチング·フェローへの電子メールにこれはかなりつまるところ 103 00:05:44,760 --> 00:05:48,450 ちょうどあなたが何を考えているかについての彼または彼女との会話を始めるために。 104 00:05:48,450 --> 00:05:52,510 projects.cs50.netにキャンパス内の人々からのアイデアの宝庫です 105 00:05:52,510 --> 00:05:54,480 あなたには、いくつかのアイデアを考え出すのに苦労しているならば、 106 00:05:54,480 --> 00:06:01,140 とmanual.cs50.net/APIsは、APIへのリンクのリポジトリです。 107 00:06:01,140 --> 00:06:06,710 >> しかし、APIは何ですか? 108 00:06:06,710 --> 00:06:09,790 APIとは何ですか?私は、少なくとも二度それを言ってきました 109 00:06:09,790 --> 00:06:12,640 過去数週間の成績証明書によると。 110 00:06:12,640 --> 00:06:17,050 それは何? [学生、不明朗] 111 00:06:17,050 --> 00:06:19,340 >>さて、良い。だから何かのプログラミングインターフェイス。 112 00:06:19,340 --> 00:06:22,710 アプリケーション·プログラミング·インターフェース、そして、これはいくつかの形態をとることができ、 113 00:06:22,710 --> 00:06:25,850 しかしこれが何を本当に沸騰ダウンにするコードです。 114 00:06:25,850 --> 00:06:29,660 そのHSが書かれた他の誰かと、または他の誰かが収集したデータ 115 00:06:29,660 --> 00:06:33,670 いくつかのプログラム的な方法であなたに提供されている。 116 00:06:33,670 --> 00:06:36,630 あなたは、CやPHP、Python、Rubyなどのコードを書くことができます 117 00:06:36,630 --> 00:06:38,760 選択した言語は、一般的であるものは何でも、 118 00:06:38,760 --> 00:06:42,240 とあなたは何とか他の誰かの機能の上に構築することができます 119 00:06:42,240 --> 00:06:44,440 または他の誰かのデータが設定されます。 120 00:06:44,440 --> 00:06:47,210 例えば、私がここにこのリンクに行けば、 121 00:06:47,210 --> 00:06:50,750 そしてあなたは、後続のページでリンクのペアが表示されます 122 00:06:50,750 --> 00:06:56,093 それによって我々は、その後CS50自身の非常にハーバード大学を中心としたAPI、およびサードパーティのAPIを持っています。 123 00:06:56,930 --> 00:06:59,300 サードパーティのAPIの中でも本当に便利なものです 124 00:06:59,300 --> 00:07:01,780 人にSMSを送ることができるように、 125 00:07:01,780 --> 00:07:04,690 人からSMSテキストメッセージを受信することができるという。 126 00:07:04,690 --> 00:07:08,160 そして、あなたはどのように自分で実装する見当がつかないかもしれないようなもの、 127 00:07:08,160 --> 00:07:10,440 しかしサービスのおかげで、いくつかの無料のといくつかの商業、 128 00:07:10,440 --> 00:07:14,000 あなたはそれらの上に構築し、あなたに興味の何かを行うことができます。 129 00:07:14,000 --> 00:07:16,990 CS50のAPIの中でのように、これらのキャンパスを中心としたものがあります 130 00:07:16,990 --> 00:07:21,480 ハーバードコース、エネルギー、イベント、食べ物、地図、ニュース、つぶやきとShuttleboy自身、 131 00:07:21,480 --> 00:07:23,940 そしてこれらは、このような少し何かを見てAPIです。 132 00:07:23,940 --> 00:07:26,990 >> 私はHarvardFood APIを引き上げましょう。 133 00:07:26,990 --> 00:07:30,620 あなたがこれまでにHUDのウェブサイトに行った場合は、おそらくそこにしてきた 134 00:07:30,620 --> 00:07:35,410 ちょうど夕食のために何を参照したり、時間がいくつかのD-ホールのために何であるか確認する。 135 00:07:35,410 --> 00:07:38,000 まあ、それは、ナビゲートするために特に簡単ではありません 136 00:07:38,000 --> 00:07:41,100 それで我々はいくつかの時間前、私たちは、ソフトウェアを書いていたなかったもの 137 00:07:41,100 --> 00:07:47,270 それが実際に画面がHUDのウェブサイトの全体を掻き取ることが、PHPであることを起こる。 138 00:07:47,270 --> 00:07:51,400 スクレープ何かをスクリーニングすることにより、PHPのような言語でプログラムを書くことを意味します 139 00:07:51,400 --> 00:07:55,270 それは、コマンド·プロンプトでそれを実行するかもしれませんが、ブラウザのふりをする 140 00:07:55,270 --> 00:07:58,180 ブラウザのふりをする、つまり、Webサイトに接続 141 00:07:58,180 --> 00:08:01,480 ダウンロードはHTML、それが書かれている言語、 142 00:08:01,480 --> 00:08:04,300 し、それを読み取るか、より具体的には、それを解析して 143 00:08:04,300 --> 00:08:06,140 上から下へ、左から右へ。 144 00:08:06,140 --> 00:08:08,870 そして、我々は何だった我々はそのような方法で私たちのコードを書きました 145 00:08:08,870 --> 00:08:12,910 我々はメニューの何かのように見えたそのHTMLで何かを見た、いつ、 146 00:08:12,910 --> 00:08:16,470 ハンバーガーのように、我々は、その私たち自身のデータベースにインポートします。 147 00:08:16,470 --> 00:08:20,410 そして、我々は栄養成分を見て、いつでも、我々は我々自身のデータベースにそれをインポートします。 148 00:08:20,410 --> 00:08:23,090 と、私たちがしたことは事実だったレバレッジHUDのウェブサイト、 149 00:08:23,090 --> 00:08:27,280 それは私たち人間が移動するための挑戦のビットかもしれないにもかかわらず、 150 00:08:27,280 --> 00:08:32,559 フードの下に、HTMLのすべては、独自のコンピュータ·プログラムによって生成されます。 151 00:08:32,559 --> 00:08:35,159 だから、すべてのHTMLの、それは散らかって見えるかもしれませんが、 152 00:08:35,159 --> 00:08:38,026 ボンネットの下にほとんどのWebサイトのようにそれがパターンに従います。 153 00:08:38,260 --> 00:08:40,799 だから我々はまさにそのパターンを考え出すカップルの時間を費やし 154 00:08:40,799 --> 00:08:44,240 だから最後に、我々は厄介なHTMLのすべてを捨てること、 155 00:08:44,240 --> 00:08:47,340 大胆に面し、イタリックなどの美学のすべて、 156 00:08:47,340 --> 00:08:52,350 そして私たちが次に行うことができますと、その同じデータを公開しています。 157 00:08:52,350 --> 00:08:54,870 例えば、このように。 158 00:08:54,870 --> 00:08:56,840 我々だから、ここの資料によると、 159 00:08:56,840 --> 00:08:59,190 あなたがURLを要求した場合ということを世界に伝えている 160 00:08:59,190 --> 00:09:03,310 このように見えるよう、food.cs50.net /何か、 161 00:09:03,310 --> 00:09:07,220 そしてあなたは私たちが今日お話しします特定のパラメータを提供 162 00:09:07,220 --> 00:09:11,780 終了日の時間のような、開始日時、食事など、 163 00:09:11,780 --> 00:09:14,090 何を我々のサーバーは、例えば、あなたに戻ります 164 00:09:14,090 --> 00:09:18,740 CSVファイルで、カンマは、Excelファイルのような値をseparted 165 00:09:18,740 --> 00:09:23,140 昨年の3月にはこの特定の日に朝食のためにすべてを含む 166 00:09:23,140 --> 00:09:25,450 私はこの文書を書き上げるために起こったとき。 167 00:09:25,450 --> 00:09:27,870 >> 精通している人については、CSVは、ファイル形式ではありません。 168 00:09:27,870 --> 00:09:30,610 すべてのより多くの汎用性だ別のフォーマットがあります 169 00:09:30,610 --> 00:09:32,670 JSONは、JavaScriptオブジェクト表記法と呼ばれる。 170 00:09:32,670 --> 00:09:34,770 データがその形式で戻ってくることができます。 171 00:09:34,770 --> 00:09:38,110 だからここに持ち帰りはつまり、あなたがダイビングかどうか、このAPIにある 172 00:09:38,110 --> 00:09:41,170 インターネット上にはCS50のか何かのまたは任意の他、 173 00:09:41,170 --> 00:09:45,560 またはまったく、世界がますます標準化することを開始したことを実現する 174 00:09:45,560 --> 00:09:47,670 マシンがどのように相互通信。 175 00:09:47,670 --> 00:09:50,660 我々は、CSV形式またはJSONのような標準的なデータ形式を使用します。 176 00:09:50,660 --> 00:09:54,320 そして、何これはあなたのために意味するには、プログラムの興味深い部分を書くことができますです 177 00:09:54,320 --> 00:09:56,580 それはあなたのユーザーは、ダイニングホールのメニューを検索することができます 178 00:09:56,580 --> 00:10:00,010 彼らはそれらがテキストアラートを取得することができ、お気に入りのリストを作成することが出来るように 179 00:10:00,010 --> 00:10:02,480 自分の好きな食事は、いくつかのdホールで提供されようとしているとき 180 00:10:02,480 --> 00:10:07,090 それらのAPIの上に誰かのデータセットや建物を使用することによって。 181 00:10:07,090 --> 00:10:13,600 セミナーの形とあなたがここに持っているオンラインドキュメント内のその上に、より多く。 182 00:10:13,600 --> 00:10:16,450 それらのように、その後、APIがあります。 183 00:10:16,450 --> 00:10:18,900 >> つまり、HTMLに私達を戻す。クイック復習。 184 00:10:18,900 --> 00:10:22,920 HTMLとは何ですか? 185 00:10:22,920 --> 00:10:25,000 [学生、不明朗] >>グッド。ハイパーテキストマークアップ言語。 186 00:10:25,000 --> 00:10:31,300 誰か他の人が、ハイパーテキストマークアップ言語は何ですか? 187 00:10:31,300 --> 00:10:37,340 ハイパーテキストマークアップ言語。 188 00:10:37,340 --> 00:10:40,330 オーケー。だから、HTML、ハイパーテキスト。 189 00:10:40,330 --> 00:10:43,100 ハイパーテキストは、ほとんどの部分のために、ウェブを指します。 190 00:10:43,100 --> 00:10:45,730 マークアップは、それが実際にプログラミング言語は、HTMLではないということを意味します。 191 00:10:45,730 --> 00:10:48,120 それはあなたインチロジックを表現できる言語はありません 192 00:10:48,120 --> 00:10:50,710 これは、ループを持っていません。それは条件を持っていません。 193 00:10:50,710 --> 00:10:52,820 それは関数それ自体を持っていません。 194 00:10:52,820 --> 00:10:56,680 むしろ、それは、要素、またはより正確には、タグと呼ばれるこれらのものを持っています。 195 00:10:56,680 --> 00:10:59,970 そして、それらの要素は、開始タグと終了タグを持つ 196 00:10:59,970 --> 00:11:04,300 または開かれたタグと閉じたタグが、これらのタグは一般的には、ブラウザであるために何を意味する 197 00:11:04,300 --> 00:11:09,270 何かを起動して、それに例外はありますが、何かをやって停止します。 198 00:11:09,270 --> 00:11:12,480 時にはそれだけで例えば '、ここに改行を入れて'だ。 199 00:11:12,480 --> 00:11:15,150 そして、我々は、大胆に面し間、その先日の例を見ました 200 00:11:15,150 --> 00:11:17,430 改行してから、他のタグのカップル。 201 00:11:17,430 --> 00:11:19,880 だから、HTMLは、Webページを記述している言語です。 202 00:11:19,880 --> 00:11:23,760 私はGoogle.comのような何かに行くのであれば 203 00:11:23,760 --> 00:11:26,180 そして、ちょうど彼らのホームページをアップ 204 00:11:26,180 --> 00:11:29,690 あなたが右クリックするか、コントロールしている場合、クリックしたことを思い出し 205 00:11:29,690 --> 00:11:32,140 典型的には、ページのソース表示を見 206 00:11:32,140 --> 00:11:34,420 それは、これらの日はボンネットの下に完全な混乱だが、それはだから 207 00:11:34,420 --> 00:11:38,170 コンピュータは、ホワイトスペースを気にしないので、これはかなり見ている必要はありません。 208 00:11:38,170 --> 00:11:40,240 しかし、我々はそれの一部にズームインした場合、 209 00:11:40,240 --> 00:11:43,460 Chromeは、ちょうどいいようにするには、色分けされたものを持っていることがわかります。 210 00:11:43,460 --> 00:11:48,460 確かに、これは我々がWebページで見てきた一番最初のタグです。 211 00:11:48,460 --> 00:11:51,750 そして再び、HTML 5では、この言語の最新バージョンは、 212 00:11:51,750 --> 00:11:53,830 初めにこの事を持っていませんが、 213 00:11:53,830 --> 00:11:57,820 <!DOCTYPE HTML、小文字または大文字かどうか、 214 00:11:57,820 --> 00:12:03,580 それはちょっと、と言う世界標準のちょうど一種だが、ここにHTMLファイルがバージョン5にしています。 215 00:12:03,580 --> 00:12:08,920 >> 面白い部分はここから始まります。それでは 00:12:11,640 HTML要素の最後の時間。 217 00:12:11,640 --> 00:12:14,630 これら二つの主要な子供は何でしたか? 218 00:12:14,630 --> 00:12:17,170 ちょっと前に入れ墨のある男のように頭と体、。 219 00:12:17,170 --> 00:12:19,640 Webページの2つの部分、頭と体には、あります 220 00:12:19,640 --> 00:12:23,750 とリコールは、その後、おそらく我々は作ることができる最も簡単なWebページには、次のようになっている。 221 00:12:23,750 --> 00:12:27,460 そして私はちょうどきちんとしていて私のコードと整頓の一種であるためにそれを下げてきた 222 00:12:27,460 --> 00:12:30,710 しかし、何ここは本当に重要なのは、これにはいくつかの階層があるということです。 223 00:12:30,710 --> 00:12:35,420 私は閉じている開いて、この対称性は、したがってがあることをしたことと、任意のタグ 224 00:12:35,420 --> 00:12:38,300 私が作成したすべてのマークアップへ。 225 00:12:38,300 --> 00:12:41,620 だから前回、我々は自分のラップトップ上のWebページを書き始めた。 226 00:12:41,620 --> 00:12:45,470 私は、私がhello.htmlとしてファイルを保存し、テキスト編集を開いた 227 00:12:45,470 --> 00:12:50,190 私はその後、私のブラウザにファイルをドラッグして、ほら、私はインターネット上のページを持っていた。 228 00:12:50,190 --> 00:12:53,110 さて、それは非常にそうではない、私は私のハードドライブ上のページを持っていた、 229 00:12:53,110 --> 00:12:58,260 と私は文字通り、ブラウザでそのWebページを参照してくださいと、世界で唯一の人だった。 230 00:12:58,260 --> 00:13:00,670 >> だから、今日、私たちは、実際のWebサーバーを導入 231 00:13:00,670 --> 00:13:02,750 との概念は、インターネット上で実際にコンテンツを提供 232 00:13:02,750 --> 00:13:04,970 とどのようにこのすべてが一緒に収まるように開始します。 233 00:13:04,970 --> 00:13:08,350 だからCS50アプライアンスにそのすべてのこの時間が判明 234 00:13:08,350 --> 00:13:11,590 お使いのコンピュータ上のWebサーバを持っていた。 235 00:13:11,590 --> 00:13:16,560 私たちは、公平に見て、だけに、GDBなどのため、Clangのために、geditのためにそれを使用している 236 00:13:16,560 --> 00:13:21,000 だけでなく、Webサーバであるアプライアンスにあなたのために私達によってインストール 237 00:13:21,000 --> 00:13:23,940 そのWebサーバーは、オープンソースのフリーであることを起こる、 238 00:13:23,940 --> 00:13:26,580 アパッチと呼ばれる、世界で最も人気のあるものの一つ、​​。 239 00:13:26,580 --> 00:13:31,340 その多くの技術的な名前がhttpdであり、dは、ここでデーモンのためである 240 00:13:31,340 --> 00:13:34,110 これは、サーバーのための技術的な単語である。 241 00:13:34,110 --> 00:13:38,690 だからCS50アプライアンスにインストールしたWebサーバーであり、それが何を意味するのか? 242 00:13:38,690 --> 00:13:43,740 さて、Webサーバーは、概念的には、ウェブコンテンツを提供し、インターネット上でいくつかのサーバである。 243 00:13:43,740 --> 00:13:48,630 ファイルを要求され​​ると、そのファイルを構成するHTMLを吐き出して、ほら。 244 00:13:48,630 --> 00:13:51,370 あなたには、いくつかのWebサイトのホーム·ページを参照してください。 245 00:13:51,370 --> 00:13:54,970 しかし、サーバーは、より正確には、ソフトウェアの一部です。 246 00:13:54,970 --> 00:13:59,190 それは、物理マシン上にある必要はありません、それはただのソフトウェアランニングの一部でなければなりません。 247 00:13:59,190 --> 00:14:01,980 だからCS50アプライアンスは、もちろん、ソフトウェアの一部です 248 00:14:01,980 --> 00:14:04,270 にもかかわらず、それはマシンのふりのようなものだ。 249 00:14:04,270 --> 00:14:06,960 それは、コンピュータのコンピュータ内部のふりをしている 250 00:14:06,960 --> 00:14:11,140 それはただのアプライアンスは確かにWebサーバのようなものを実行できることを意味します。 251 00:14:11,140 --> 00:14:13,260 これは、実際にメールサーバを実行できます。 252 00:14:13,260 --> 00:14:16,440 我々がしたい場合、我々は、アプライアンス内のインスタントメッセージングサーバーを実行することができます 253 00:14:16,440 --> 00:14:20,780 そして実際に、我々は、データベース·サーバーとして知られているサーバの一つの他のタイプは、MySQLを実行するのですか。 254 00:14:20,780 --> 00:14:22,620 その次の週ではなく、もっと。 255 00:14:22,620 --> 00:14:26,400 これは私が実際にWebページを訪問することができることを意味し 256 00:14:26,400 --> 00:14:30,480 アプライアンスの内部ブラウ​​ザを使用して私のアプライアンスの内側 257 00:14:30,480 --> 00:14:33,600 あるいは私自身のラップトップ上で、私のMacまたは私のPC。 258 00:14:33,600 --> 00:14:37,780 だから、これは何を意味するのですか?それは、いつでもあなたがLinuxコンピュータを実行していることが判明 259 00:14:37,780 --> 00:14:40,910 そのニックネームは "ローカルホスト"です。 260 00:14:40,910 --> 00:14:43,370 我々は、ドメイン名を購入していないので、それはドメイン名を持っていません 261 00:14:43,370 --> 00:14:46,590 アプライアンスのようなもののためなので、そのデフォルト名はローカルホストです。 262 00:14:46,590 --> 00:14:50,470 >> しかし、Webページを提供開始するようにアプライアンスを得るために、 263 00:14:50,470 --> 00:14:52,270 我々は、それらを最初に作成する必要があります。 264 00:14:52,270 --> 00:14:55,200 ですからそういうことをしてみましょう。私はここにターミナルウィンドウに行こう 265 00:14:55,200 --> 00:14:58,190 と私は私の典型的なジョン·ハーバードプロンプトだと気付く。 266 00:14:58,190 --> 00:15:01,670 私が先に行くと、lsコマンドを入力して、我々はこの学期からいくつかの見慣れたものを見てみましょう、 267 00:15:01,670 --> 00:15:04,580 デスクトップ、ダウンロード、Dropboxのなど、 268 00:15:04,580 --> 00:15:07,540 しかし、今、私たちはその夫婦に我々の注意を回し始める。 269 00:15:07,540 --> 00:15:11,530 多くのLinuxのWebサーバ上で公開HTMLと呼ばれるこのフォルダには、そこだ 270 00:15:11,530 --> 00:15:15,630 しかし、我々は今のところその1をスキップして、この、バーチャルホストに集中するつもりだ。 271 00:15:15,630 --> 00:15:18,850 誰もがバーチャルホストとは何かを知っていますか? 272 00:15:18,850 --> 00:15:21,110 仮想ホストに対してだけ愚かな専門用語、 273 00:15:21,110 --> 00:15:23,850 そしてこれが何を意味するが、それは典型的なサーバー上にある 274 00:15:23,850 --> 00:15:26,810 あなたは実際に複数のWebサイトをホストすることができます。 275 00:15:26,810 --> 00:15:31,500 あなたはfoo.comのようなドメイン名を購入したり、サーバー上でホストすることができます。 276 00:15:31,500 --> 00:15:36,100 しかし、あなたはまた、bar.comを購入し、同じサーバー上でホストすることができます。 277 00:15:36,100 --> 00:15:40,250 その理由は、ブラウザがサーバーに通知するのに十分スマートです 278 00:15:40,250 --> 00:15:45,880 ユーザーはいくつかのWebページを要求しているとき、どのようなドメイン名は、ユーザーがホームページを望んでいる。 279 00:15:45,880 --> 00:15:48,760 それでは、これについての良いのは、あなたは、1つの物理サーバーを必要としないさ 280 00:15:48,760 --> 00:15:52,040 作成する可能性があるすべてのウェブサイトのためのまたは1 CS50アプライアンス。 281 00:15:52,040 --> 00:15:55,520 同じサーバーを使用して、百種類のウェブサイトを開発することができます。 282 00:15:55,520 --> 00:15:58,770 そして実際に、あなたがウェブサイトを起動しようとして人なら、 283 00:15:58,770 --> 00:16:02,100 楽しみのために、またはビジネスのためかどうか、一般的には、インターネットに出て行くよ 284 00:16:02,100 --> 00:16:04,650 とあなたは100ドル、月誰か10ドルをお支払いします 285 00:16:04,650 --> 00:16:06,670 あなたのためのあなたのウェブサイトをホストします。 286 00:16:06,670 --> 00:16:11,060 と働き方には、他の人に充電されている 287 00:16:11,060 --> 00:16:13,160 10ドル毎月または数百ドル月 288 00:16:13,160 --> 00:16:17,200 自分たちと同じサーバー上の他の人々のウェブサイトをホストします。 289 00:16:17,200 --> 00:16:20,740 この機能のためbhostsと呼ばれる彼らが行うことができます理由は、 290 00:16:20,740 --> 00:16:23,790 それは最終的なプロジェクトのための時間が来るとき、その上にもっと。 291 00:16:23,790 --> 00:16:28,360 >> 今のところ、ちょうどそこに飛び込むみましょう。 CDのバーチャルホスト、そして、そうだとすれば私は今、lsを入力 292 00:16:28,360 --> 00:16:31,370 ローカルホストと呼び、そこにフォルダがあることに気づく。 293 00:16:31,370 --> 00:16:33,440 それがあるため、デフォルトでは、アプライアンスの数字だ 294 00:16:33,440 --> 00:16:36,160 あなたは今までアプライアンス上の1つのウェブサイトを実行するつもりだ。 295 00:16:36,160 --> 00:16:38,970 これは本当に現実の世界ではなく、実際のWebサーバではありません。 296 00:16:38,970 --> 00:16:41,690 だから私は、ローカルホストに行かせて、そして、今、私たちはそこに表示されます 297 00:16:41,690 --> 00:16:44,290 1最後のディレクトリには、HTMLと呼ばれる。 298 00:16:44,290 --> 00:16:47,080 だから、少し深い階層だが、時と場合 299 00:16:47,080 --> 00:16:51,230 あなたは次のn個の数ヶ月または数年にわたって複数のWebサイトの開発を開始することを決定、 300 00:16:51,230 --> 00:16:54,370 フォルダ構造のこの種は参考にする傾向がある。 301 00:16:54,370 --> 00:16:56,560 今、私はちょうど同じようのHTMLに手放す 302 00:16:56,560 --> 00:16:59,010 lsと入力し、何もありません。 303 00:16:59,010 --> 00:17:01,390 それでは先に進み、これを行うことができます。私はChromeを開いてみましょう 304 00:17:01,390 --> 00:17:07,300 アプライアンスの内側に、と私はhttp://localhostに行くことができます。 305 00:17:07,300 --> 00:17:14,440 だから、文字通り私のアプライアンスの名前は、次のように入力して、私は/のインデックスを取得します。 306 00:17:14,440 --> 00:17:18,290 これは本当に私に興味の何も表示されなくなり、 307 00:17:18,290 --> 00:17:23,400 しかし、それは私たちが見ていると、そのフォルダ、HTMLであることが判明した。 308 00:17:23,400 --> 00:17:25,770 そのフォルダ内の何も、今はありません 309 00:17:25,770 --> 00:17:28,750 ので、代わりに、私は何をする必要がありますするつもりは、最初のファイルを作成されています。 310 00:17:28,750 --> 00:17:33,530 我々は月曜日にやったようにHTMLファイルを作成しますが、今回は、アプライアンスの中に置く。 311 00:17:33,530 --> 00:17:36,830 現在、ノートパソコンと一緒に従うしようとしている人のために、 312 00:17:36,830 --> 00:17:42,040 、私は、Webベースのpsetでカバーされるだろう脇いずれかの操作を実行してみましょう 313 00:17:42,040 --> 00:17:44,280 しかし、これは非常に最初の時間のために働くことを得るために、 314 00:17:44,280 --> 00:17:49,830 sudoのサービスのhttpdの開始:このコマンドを実行する必要があるとしている。 315 00:17:49,830 --> 00:17:52,670 そしてこれは、再び、最後のpsetで繰り返される 316 00:17:52,670 --> 00:17:55,460 しかし、あなたは今、自宅で一緒にプレーしている場合は、Webサーバ 317 00:17:55,460 --> 00:17:58,660 アプライアンスでオフになって、そして、それはそれはRAMを樹液ないようださ 318 00:17:58,660 --> 00:18:01,960 学期のうち7週間とメモリ我々はそれを必要としない。 319 00:18:01,960 --> 00:18:05,190 だから、一度このコマンドを実行する必要があり、そのような出力が得られます。 320 00:18:05,190 --> 00:18:07,920 次に、ここで一緒に演奏することができるはずです。 321 00:18:07,920 --> 00:18:10,330 それでは、このフォルダに戻りましょう。 322 00:18:10,330 --> 00:18:12,770 このフォルダは空なので、私はファイルの作成を開始しましょう 323 00:18:12,770 --> 00:18:16,360 geditのhello.html。 324 00:18:16,360 --> 00:18:20,930 >> かしこまりました。 Geditはいつものように、開いています。私は、doctypeやhtmlを、やってみましょう 325 00:18:20,930 --> 00:18:25,270 HTML、私は先に自分の取得し、事前に私の終了タグを始めましょう。 326 00:18:25,270 --> 00:18:28,380 今、私は頭が付いています。 、私が先に行くと、頭を閉じてみましょう 327 00:18:28,380 --> 00:18:32,450 私は今ではページのタイトルをやらせる、こんにちは前回のような世界では、 328 00:18:32,450 --> 00:18:34,790 近いタイトルは、今の私は、体を行うことができます。 329 00:18:34,790 --> 00:18:38,130 ここでは、私はいくつかのexclamsと、Hello Worldを言うよ 330 00:18:38,130 --> 00:18:40,550 それは別の文字列であることを明確にします。 331 00:18:40,550 --> 00:18:45,800 閉じるボディ、そして今私が先に行くし、ファイルを保存しましょう​​。 332 00:18:45,800 --> 00:18:48,470 私は私の端末ウィンドウに戻りましょう、と私はlsを入力した場合、 333 00:18:48,470 --> 00:18:51,830 私は、おそらく、hello.htmlが表示されるはずです。と私はありません。 334 00:18:51,830 --> 00:18:55,070 だから今度は戻って私のブラウザに行かせ、リロード]をクリックし、 335 00:18:55,070 --> 00:18:58,930 そしてあなたは私たちが実際に内部でこのHTMLフォルダのあることがわかります。 336 00:18:58,930 --> 00:19:02,310 私はまだ、Webページを見ていないが、これはApacheのWebサーバであり、 337 00:19:02,310 --> 00:19:04,670 ただ私は、このディレクトリのリスト内容を示す。 338 00:19:04,670 --> 00:19:08,260 ちょうどMac OSやWindowsのように、通常、独自のローカルのハードディスクドライブに行うだろう。 339 00:19:08,260 --> 00:19:12,730 私はこのWebページを見たいのであれば、私はここで、この小さなリンク、hello.htmlをクリックすることもできます 340 00:19:12,730 --> 00:19:15,160 そして実際に、それは私が見たいと期待していたものだ。 341 00:19:15,160 --> 00:19:18,080 さて、再び、これは、あなたがたのうち、現在訪れることができるURLではありません 342 00:19:18,080 --> 00:19:20,760 なぜならあなたのために、ローカルホストは、ここでラップトップを持っている場合は、 343 00:19:20,760 --> 00:19:23,050 それは、アプライアンスの独自のインスタンスを参照しています。 344 00:19:23,050 --> 00:19:25,900 これは、私自身の個人的なアプライアンスである 345 00:19:25,900 --> 00:19:29,080 しかし、これは持っている、私が持つにはダムの一種である 346 00:19:29,080 --> 00:19:34,480 私のようなユーザーは、実際には、このページの内容を表示するにはhello.htmlをクリックしてください。 347 00:19:34,480 --> 00:19:42,590 これは、ApacheなどのWebサーバーを使用すると、任意のWebサーバーのデフォルトのファイルを持たせていることが判明した。 348 00:19:42,590 --> 00:19:44,640 我々はhello.htmlを持ってここに注目してください。 349 00:19:44,640 --> 00:19:48,410 ファイルの名前を変更するには、Linuxのコマンドは何ですか? 350 00:19:48,410 --> 00:19:50,870 >> MV、移動のため。だから、私はそれをやらせる 351 00:19:50,870 --> 00:19:55,870 と私はindex.htmlにhello.htmlの名前を変更してみましょう。 352 00:19:55,870 --> 00:19:58,610 私はそれが今では名前が変更されているのを確認するには、lsを入力してみましょう。 353 00:19:58,610 --> 00:20:03,250 さて、これはに起こっている - 私はローカルホストに戻ってしまったら、 354 00:20:03,250 --> 00:20:06,710 私は自動的にそのWebページを見ていることを今気付く。 355 00:20:06,710 --> 00:20:11,740 これは、私の実際にやって/ index.htmlのと同じです 356 00:20:11,740 --> 00:20:14,740 しかし良い点は、今、Webサーバーが考え出すているということです 357 00:20:14,740 --> 00:20:18,830 ああ、あなたはindex.htmlと呼ばれ、人間の慣習によって、ファイルがある場合、 358 00:20:18,830 --> 00:20:21,200 私は、デフォルトではユーザーにそのファイルをお見せしましょう 359 00:20:21,200 --> 00:20:25,290 むしろユーザーフレンドリーなすべてではないいくつかの愚かなディレクトリのリストより。 360 00:20:25,290 --> 00:20:28,900 確かに、あなたがインターネット上でアクセスほとんどのウェブサイトは、をクリックしてファイルのリストを持っていない 361 00:20:28,900 --> 00:20:34,040 彼らはただあなたに内容を示します。だから我々はindex.htmlに、それを行うことができる方法です。 362 00:20:34,040 --> 00:20:37,000 だから、これは、すべての楽しさと良いですが、これは非常に単純なWebページです。 363 00:20:37,000 --> 00:20:41,640 私が先に行くと私のバーチャルホストでindex.htmlを開いてみましょう、 364 00:20:41,640 --> 00:20:47,620 ローカルホスト、htmlディレクトリと、レッツは大きい興味のあるものを追加します。 365 00:20:47,620 --> 00:20:56,120 だからこんにちは世界はあり、これは、ハーバード大学のCS50である "と言う代わりにしてみましょう。 。 。 ' 366 00:20:56,120 --> 00:21:00,000 だから、そこにある種のコースのカタログの説明の始まり。 367 00:21:00,000 --> 00:21:03,780 私はリロードすれば、今、私は私のホームページで確認する必要があります。 368 00:21:03,780 --> 00:21:09,560 さて、私はそれを参照してください、しかし、私は今、このファイルにいくつかのより多くのコンテンツを一覧表示したいと仮定しないでください。 369 00:21:09,560 --> 00:21:15,160 私は、ここに行かないと言う、前提条件なしでした 370 00:21:15,160 --> 00:21:18,740 あなたのいくつかは、おそらく似ているものの、 "ハッハッハ、前提条件なし。 ' 371 00:21:18,740 --> 00:21:24,320 しかし - 公式。だからリロード、そして今我々は、我々は最後の時間を見ているのと同じ癖を持っています。 372 00:21:24,320 --> 00:21:26,240 しかし、なぜそれは何ですか?それは、簡単な修正であった。 373 00:21:26,240 --> 00:21:31,440 なぜ、このページが壊れている? 374 00:21:31,440 --> 00:21:34,170 [学生、不明朗] >>うん、我々は前にこれを解決しました 375 00:21:34,170 --> 00:21:37,440 明示的に伝えることで、ブラウザは "ここに改行を入れた。" 376 00:21:37,440 --> 00:21:39,440 そして、それは再び、ブラウザだけでやろうとしているのは、ため 377 00:21:39,440 --> 00:21:42,610 明示的にどのようなマークアップ言語が行うように指示し、 378 00:21:42,610 --> 00:21:45,730 一度か二度、あるいは10回入力を直撃しているかもしれないので、あっても、 379 00:21:45,730 --> 00:21:49,870 それだけでは慣例により、1つの空白に、そのすべてを結合するために起こっている。 380 00:21:49,870 --> 00:21:52,770 あなたが本当に改行するのであれば、あなたは、BRタグを使用する必要があります 381 00:21:52,770 --> 00:21:56,840 そして今、月曜日のように、私は、このタグの/内側を入れ、気付く 382 00:21:56,840 --> 00:22:00,090 これはちょうどいい感じがしないという理由だけで 383 00:22:00,090 --> 00:22:02,990 改行を開始すると、その後、間に何もないとそれを止める。 384 00:22:02,990 --> 00:22:07,740 >> だから、HTMLの慣例では同時にタグを開いたり閉じたりすることである。 385 00:22:07,740 --> 00:22:11,050 余談ですが、あなたはそれをやっていない書籍に多くのウェブサイトが表示されます。 386 00:22:11,050 --> 00:22:14,240 それが行うのか、それをしないように正しいですが、私たちは主張するだろう 387 00:22:14,240 --> 00:22:17,430 その設計単位と文体、これはちょうど良いです 388 00:22:17,430 --> 00:22:20,540 その後、すべてのタグは両方何とか開閉されるためです。 389 00:22:20,540 --> 00:22:23,370 だから今の保存してリロードしましょう​​。大丈夫、ブラウザに戻ります。 390 00:22:23,370 --> 00:22:26,680 今我々はいくつかの進歩しているが、それは非常に十分ではありません。 391 00:22:26,680 --> 00:22:33,210 先に進み、テキストの一部が長く体内に入力を開始しましょう​​。 392 00:22:33,210 --> 00:22:40,610 それでは言わせて、 "The quick brown foxは、のろまなイヌにジャンプします。 ' 393 00:22:40,610 --> 00:22:42,700 そして今、私はちょうどこの数回のコピーと貼り付けましょう 394 00:22:42,700 --> 00:22:45,040 私たちはテキストの段落を持っていること。 395 00:22:45,040 --> 00:22:47,780 私がこっちに戻ってみましょう。だから、それは非常に格好良いわけではありません。 396 00:22:47,780 --> 00:22:50,000 私は、改行を持っているので、それは大丈夫です 397 00:22:50,000 --> 00:22:52,140 しかし今では、かつて我々は、Webページを持っていることのポイントになっている 398 00:22:52,140 --> 00:22:55,640 それは多数のコンテンツではなく、HTMLを実証するだけで一本の線があり、 399 00:22:55,640 --> 00:22:58,570 我々は実際の段落としてこれらの事を考え始めることができます。 400 00:22:58,570 --> 00:23:01,590 そして、我々はもう少しきれいに弊社のWebページを構築するために始めることができます。 401 00:23:01,590 --> 00:23:05,120 そして実際に、私は何をすることができますことは、私のbodyタグの内部にここに上がっている、 402 00:23:05,120 --> 00:23:09,400 そしてこれはCS50である "場合はどうでしょう、知っている。 。 。 '実際には、段落の先頭をdemarks 403 00:23:09,400 --> 00:23:11,310 まあ、それのようなタグを付けてみましょう。 404 00:23:11,310 --> 00:23:13,570 単に慣例により、私に言わせて、私はテキストをインデントしましょう 405 00:23:13,570 --> 00:23:15,710 この段落はここで終了していること、 406 00:23:15,710 --> 00:23:18,320 その後ではなく、この改行は、私だけ言わせてください 407 00:23:18,320 --> 00:23:23,300 これは、そこに、新しい段落として所属している 408 00:23:23,300 --> 00:23:27,610 と私はちょうど素早くちょうどこのようなもののすべてを追い払ってくれることでインデントします。 409 00:23:27,610 --> 00:23:30,660 >> だから今我々は、そこにインデントされた段落を持っている 410 00:23:30,660 --> 00:23:33,510 そして今、私たちのマークアップはもう少しを得るために始めている 411 00:23:33,510 --> 00:23:37,070 我々がやろうとしているとの意味的に一致している。 412 00:23:37,070 --> 00:23:40,130 我々は、そのためのpタグ付き段落呼び出すの段落を聞かせています。 413 00:23:40,130 --> 00:23:43,370 我々は、第二​​段落を持っているので、pタグ付き段落と呼びましょう。 414 00:23:43,370 --> 00:23:45,850 そして今、ブラウザは一般的に何をするか 415 00:23:45,850 --> 00:23:48,490 ちょうど英語の本やエッセイのようにされ、 416 00:23:48,490 --> 00:23:51,280 場所は、通常の段落の間にいくつかの改行を参照してください。 417 00:23:51,280 --> 00:23:53,720 ブラウザは自動的にあなたのために、その処理を行います。 418 00:23:53,720 --> 00:23:56,680 だから今我々は2つ​​の段落を持っていると我々はこれを継続することができます。 419 00:23:56,680 --> 00:23:58,770 しかし、もちろん、あなたがテキストのボディを持っている、Web上 420 00:23:58,770 --> 00:24:01,370 それは通常はテキストのちょうど巨大な塊ではありません。 421 00:24:01,370 --> 00:24:04,040 そこにハイパーリンクされることがしばしばあります。 422 00:24:04,040 --> 00:24:07,250 我々のような場合には、そのため、たとえば、そこにいくつかのリンクが含まれて 423 00:24:07,250 --> 00:24:10,760 私はここで作成しているWebページが何であれで興味があるかもしれないものとします - 424 00:24:10,760 --> 00:24:12,780 、私はGoogle.comに行こう 425 00:24:12,780 --> 00:24:16,540 と私の速い茶色のキツネを​​検索しましょう​​。 426 00:24:16,540 --> 00:24:22,150 Googleの画像に移動して、、方法について - これはかわいいです。 427 00:24:22,150 --> 00:24:27,420 我々はこれで行くよ。そこでここでは、怠惰な犬の速い茶色のキツネは、ジャンプを持っている。 428 00:24:27,420 --> 00:24:30,560 だから、僕はデモのために、ここでやろうとしているもの、 429 00:24:30,560 --> 00:24:32,950 、この画像は自分のサーバー上にあったと仮定している 430 00:24:32,950 --> 00:24:35,240 と私は、これらの画像を作成していた。 431 00:24:35,240 --> 00:24:38,720 私はちょうど右クリックするか、画像をクリックしてコントロールしていたなかったもの 432 00:24:38,720 --> 00:24:42,370 と何がほとんどのブラウザで表示されますと、小さなメニューです - 433 00:24:42,370 --> 00:24:48,800 それをやって停止する - あなたはリンクのURLをコピーまたはコピーされたURLを選択することができます小さなメニュー。 434 00:24:48,800 --> 00:24:52,750 だから私は私のHTMLにすぐに戻って行き、私が欲しいと仮定してみましょう 435 00:24:52,750 --> 00:24:56,420 ハイパーリンクには、この別のWebページへ。 436 00:24:56,420 --> 00:24:58,640 >> そのために呼ばれるタグは何でしたか? 437 00:24:58,640 --> 00:25:01,650 [学生、不明朗] >>うん。ハイパーリファレンスのhrefそう。 438 00:25:01,650 --> 00:25:04,660 私が先に行くと、そのインチ貼り付けてみましょう 439 00:25:04,660 --> 00:25:07,290 それはかなり長いURLですので、私は戻ってズームアウトしてみましょう。 440 00:25:07,290 --> 00:25:09,950 閉じる括弧は、今、私はこっちの方法だ気付く 441 00:25:09,950 --> 00:25:11,960 そのURLがかなり長いことが起こったので。 442 00:25:11,960 --> 00:25:15,180 、私はここの速い茶色のキツネの最後までスクロールしてみましょう 443 00:25:15,180 --> 00:25:18,830 その後、私は 00:25:21,280 私はタグの名前をどこで引けた。 445 00:25:21,280 --> 00:25:24,470 さて、私が先に行くと、そのファイルを保存し、Webページをリロードせ 446 00:25:24,470 --> 00:25:27,880 そして今では、デフォルトで、それは私のために青色で下線付きになるだろう、 447 00:25:27,880 --> 00:25:31,980 しかし確かに、私は今、これをクリックすると出来上がりができます。そのイメージがある。 448 00:25:31,980 --> 00:25:33,990 そして、それはイメージである必要はありませんでした、それはリンクされている可能性が 449 00:25:33,990 --> 00:25:36,270 インターネット上の他のいくつかのランダムなウェブサイトへ。 450 00:25:36,270 --> 00:25:39,610 私はここ1最後の例ので、CS50と、例えば、これを行うことができます。 451 00:25:39,610 --> 00:25:42,730 'これはCS50 "は、href =、行くことに意味があります 452 00:25:42,730 --> 00:25:50,340 http://www.cs50.net、閉じ引用符、近くにアンカー。 453 00:25:50,340 --> 00:25:53,990 だから今でも短いURL、およびこの時間だと私たちはイメージにリンクするつもりはない。 454 00:25:53,990 --> 00:25:57,880 我々はその代わりに別のページにリンクしようとしている。 455 00:25:57,880 --> 00:25:59,840 今、私たちはここにイメージを持っている。 456 00:25:59,840 --> 00:26:02,970 我々だけで画像にリンクしてより少し良く行うことができるような気がします。 457 00:26:02,970 --> 00:26:05,760 私たちは実際に私たち自身のWebページでそれを具現化したい場合はどうなりますか? 458 00:26:05,760 --> 00:26:09,290 >> さて、私はここで出来ることはなく、このグラフィックへのリンクではなく、ですが、 459 00:26:09,290 --> 00:26:14,690 私が代わりにURLをカットし、我々はそのハイパーリンクを取り除くとこれをクリーンアップしますしましょう​​。 460 00:26:14,690 --> 00:26:17,190 そして、我々はここに行くとこれを取り除くでしょう。 461 00:26:17,190 --> 00:26:20,910 我々は今、すべてのこれらの文章を本当に必要としないので、私はページを少し短くしてみましょう。 462 00:26:20,910 --> 00:26:24,530 そして、ダウンここで、私は、新しい段落で先に行かせて 463 00:26:24,530 --> 00:26:30,100 私は今、文章を望んでいないというが、それでも私は、ソースがそのURLであることを行っている画像が欲しい。 464 00:26:30,100 --> 00:26:33,100 改行のようなイメージは、そこにあるか、またはそうではありません。 465 00:26:33,100 --> 00:26:35,900 だから私はすぐにそのタグを閉じてみましょう。 466 00:26:35,900 --> 00:26:39,440 私は今、先に行くと、私の中だと段落を閉じてみましょう、 467 00:26:39,440 --> 00:26:43,010 そして私は今、リロードする場合、すべてのこんにちは、世界とは、うまくいけば、 468 00:26:43,010 --> 00:26:45,520 私は、確かに、私自身のWebページ内の画像を右にしてください。 469 00:26:45,520 --> 00:26:48,570 だから今我々は、イメージタグ、アンカータグなどを持っている 470 00:26:48,570 --> 00:26:51,320 そしてついでに、私はしばしば無視だ1つの他のことをやらせる 471 00:26:51,320 --> 00:26:55,900 ウェブサイト上でこれらの日:このイメージの説明文を提供してみましょう 472 00:26:55,900 --> 00:26:58,090 モバイルデバイス上にある人々のための 473 00:26:58,090 --> 00:27:00,640 そのため、非常に迅速にこのイメージをダウンロードすることができない場合があり 474 00:27:00,640 --> 00:27:03,310 盲目であり、画像を見ることができないかもしれない人々のために 475 00:27:03,310 --> 00:27:06,480 しかし、彼らはこのイメージがあるか、それらを伝えることができるスクリーンリーダーを持っているかもしれません。 476 00:27:06,480 --> 00:27:09,100 そしてそれを行うためには、画像タグに別の属性がある 477 00:27:09,100 --> 00:27:11,290 代替テキストには、altと呼ばれる。 478 00:27:11,290 --> 00:27:14,650 と私はここで出来ることは、言っている "これは速い茶色のキツネです。 ' 479 00:27:14,650 --> 00:27:17,650 だから、人間が画面上に画像を見ることができない場合でも、その、 480 00:27:17,650 --> 00:27:20,560 彼または彼女は、少なくとも、ソフトウェアのいくつかの作品と同様に、聞くことができます 481 00:27:20,560 --> 00:27:23,080 実際に画面上で、そこに何があるか。 482 00:27:23,080 --> 00:27:25,040 >> つまり、ページの美学を変更することはありません 483 00:27:25,040 --> 00:27:27,640 それは確かにユーザーにとっては良い習慣です。 484 00:27:27,640 --> 00:27:31,760 すべての権利は​​、のは、現在の形でこのWebページを残しましょう 485 00:27:31,760 --> 00:27:33,890 しかし、我々は今、導入しないことができるかどうか見てみましょう 486 00:27:33,890 --> 00:27:36,210 これらのWebページを記述するためのいくつかのより良いアプローチは、 487 00:27:36,210 --> 00:27:39,980 私達のページがますます複雑になるとしても私たちに奉仕しようとしているいくつかの教訓。 488 00:27:39,980 --> 00:27:42,220 我々は今後数週間にわたって行うつもりはない 489 00:27:42,220 --> 00:27:46,810 があることを数十HTMLタグのすべてを追っている。 490 00:27:46,810 --> 00:27:49,800 ずっと0週に戻って傷のように、それはおそらく十分でしょう 491 00:27:49,800 --> 00:27:52,120 概念のいくつかの高レベルの概要を与えるために、 492 00:27:52,120 --> 00:27:54,530 あなたはおそらくできたブロックのいくつかのクイックツアー 493 00:27:54,530 --> 00:27:58,240 かなり快適に、自分で様々なパズルのピースを移動します。 494 00:27:58,240 --> 00:28:00,460 そして、それは、HTML、最も可能性が高い、で再び起こるだろう 495 00:28:00,460 --> 00:28:04,320 十分なリソースは、私たちがあなたを指すだろうと、Web上であり、それによって 496 00:28:04,320 --> 00:28:06,920 様々な教科書は、教科書を読むことを好む場合には、 497 00:28:06,920 --> 00:28:10,560 それは、HTMLを使用して実行できる様々な物事のすべてを見ていきます、 498 00:28:10,560 --> 00:28:16,100 しかし実際には、我々はHTMLで、これまでの基本的な概念のほとんどを見てきました。 499 00:28:16,100 --> 00:28:19,900 私たちは、開かれているタグの概念があり、タグが閉じられている。 500 00:28:19,900 --> 00:28:22,100 両方開閉されるいくつかのタグ 501 00:28:22,100 --> 00:28:24,620 彼らは空になっているという意味で、それらの内部に何があってはならない 502 00:28:24,620 --> 00:28:27,490 イメージタグまたは単にある改行、のような。 503 00:28:27,490 --> 00:28:32,330 我々はまた、altやソースのように、属性の概念で既に見ました。 504 00:28:32,330 --> 00:28:36,410 これらの言葉は短く、簡潔であることが、慣例により、傾向があることに注意してください。 505 00:28:36,410 --> 00:28:39,140 >> 我々は、これらのものは何と呼ばれる上の裁量権を持っていない 506 00:28:39,140 --> 00:28:42,060 HTMLを考案し、他の誰かは、これらの名前を思い付いた。 507 00:28:42,060 --> 00:28:44,710 だから、あなただけの、あなたがそれらを必要とする任意の時間を知っているか、ルックアップするために開始する必要があります 508 00:28:44,710 --> 00:28:47,160 どのような名前は、これらのタグと属性のためのものです。 509 00:28:47,160 --> 00:28:49,510 これらの属性の場合、一般属性 510 00:28:49,510 --> 00:28:52,900 いくつかのタグの動作を変更します。 511 00:28:52,900 --> 00:28:55,710 この場合、ソース属性は、画像タグに指示 512 00:28:55,710 --> 00:28:57,940 画像のソースはどうあるべきか。 513 00:28:57,940 --> 00:29:04,460 href属性は、それが実際にリンクすべきかをアンカータグに指示します。 514 00:29:04,460 --> 00:29:06,800 しかし、Webページの構造の面で、Facebookにもかかわらず、 515 00:29:06,800 --> 00:29:09,680 Googleおよび完全な混乱のようにのように見える 516 00:29:09,680 --> 00:29:12,560 あなたがそれを読んで始めた場合、一見するとボンネット、下 517 00:29:12,560 --> 00:29:16,950 もっと念入りに、それらはすべて、この基本的な、基本的な構造になっています。 518 00:29:16,950 --> 00:29:19,660 しかし、我々はこれらの事の様式を改善することができます。 519 00:29:19,660 --> 00:29:24,180 だから私は、私が事前に用意したいくつかの例に行こう。 520 00:29:24,180 --> 00:29:27,280 私が先に行くと、ここで別のフォルダからコピーしてみましょう 521 00:29:27,280 --> 00:29:29,380 して、このディレクトリに入れます。 522 00:29:29,380 --> 00:29:32,210 事前に、私がやったことは、いくつかのファイルを準備しました: 523 00:29:32,210 --> 00:29:35,670 sea​​rch0、がsearch1、search2、そしてsearch3と4。 524 00:29:35,670 --> 00:29:38,740 私が先に行くと、それらのファイルの最初を開いてみましょう、 525 00:29:38,740 --> 00:29:42,570 そして我々は独自の検索エンジンを作成し始めることはできませんかどうかを確認してみましょう。 526 00:29:42,570 --> 00:29:46,530 このファイルの先頭に、コメントとしてのちょうど束、クラスで通常のケースです。 527 00:29:46,530 --> 00:29:49,760 HTMLは、しかし、あなたがコメントを開始するための手段で 528 00:29:49,760 --> 00:29:55,640 !<です - そして、あなたの中にコメント、複数行コメントのだ。 529 00:29:55,640 --> 00:29:59,800 あなたがそのコメントを停止する準備ができたら、あなたが行うことができます - >を。 530 00:29:59,800 --> 00:30:02,380 だから青の一番上にあるすべてのものはただのコメントです。 531 00:30:02,380 --> 00:30:04,620 >> これは、これもまた、私のDOCTYPE宣言である 532 00:30:04,620 --> 00:30:07,080 あなただけの、今のところ、信仰にコピーして貼り付けることができます。 533 00:30:07,080 --> 00:30:10,410 これは単なるブラウザに指示 'ここではいくつかのHTML 5が来ています。' 534 00:30:10,410 --> 00:30:13,600 下記の14行目に、私の実際のタグの最初のものである、という 535 00:30:13,600 --> 00:30:16,900 、ここでいくつかのHTMLが、来る前と同じように、これはちょうど、言う 536 00:30:16,900 --> 00:30:19,460 ここに私のページの頭には、ここにタイトルが来る、来る 537 00:30:19,460 --> 00:30:23,900 その後、逆に、タイトルのそれだ、それは頭のためのそれだ。 538 00:30:23,900 --> 00:30:26,460 今ここに私のページの本体を付属しています。 539 00:30:26,460 --> 00:30:31,040 今やカップルの新しいタグはだから:h1は見出し1の略です。 540 00:30:31,040 --> 00:30:33,850 長年にわたり、HTML内の伝統が戻ってあります 541 00:30:33,850 --> 00:30:37,990 テキストのサイズが異なるの。 542 00:30:37,990 --> 00:30:41,980 と戻って一日で、それぞれが大きいだけで、大胆な、一般的に意味した。 543 00:30:41,980 --> 00:30:45,860 しかし、大きなではなく、かなりのように大きくて大胆だh2は、もあります。 544 00:30:45,860 --> 00:30:49,320 ビッグではなく、ほぼ同じ大きさと大胆の一種であるH3は、あります 545 00:30:49,320 --> 00:30:52,380 など、H6に至るまで。 546 00:30:52,380 --> 00:30:55,550 これらの日は、しかし、H1、H2及びH3は本当に意図してい 547 00:30:55,550 --> 00:30:57,980 彼らにもっと意味を持つため、 548 00:30:57,980 --> 00:31:01,100 それによってh1は本当に向かっている:Webページの見出し、 549 00:31:01,100 --> 00:31:04,210 テキストのような列か何かの見出し。 550 00:31:04,210 --> 00:31:09,030 だから私は意図的にH1 CS50検索> h1を言ってきました 551 00:31:09,030 --> 00:31:12,640 これは、本当に私のページのタイトルの見出しであることを指定するために。 552 00:31:12,640 --> 00:31:14,850 タイトルバーの意味ではないタイトル、 553 00:31:14,850 --> 00:31:18,960 しかし、あなたが実際に体内で、Webページ自体に表示されるタイトルです。 554 00:31:18,960 --> 00:31:20,990 さて、これは、おそらく、それが何であるかを推測することができます 555 00:31:20,990 --> 00:31:23,110 私たちは、構文のいくつかの新しいピースを持っているにもかかわらず。 556 00:31:23,110 --> 00:31:25,930 これは、フォームです。だからウェブは本当に面白い 557 00:31:25,930 --> 00:31:28,770 ウェブサイトは、ユーザーからの入力を取るとき。 558 00:31:28,770 --> 00:31:31,700 このクラスでは、Webプログラミング上の問題セットで、 559 00:31:31,700 --> 00:31:33,880 我々はウェブサイトを作るつもりはない、それ自体が、 560 00:31:33,880 --> 00:31:37,570 あなたが撮影した写真を示す静的コンテンツと、 561 00:31:37,570 --> 00:31:40,010 あるいはこれは、私の履歴書、そして私についてのことです 562 00:31:40,010 --> 00:31:42,450 それらのものは一緒に置くことは比較的容易であるためです。 563 00:31:42,450 --> 00:31:44,400 これは、Web上で物事を美しくするのは難しい 564 00:31:44,400 --> 00:31:46,390 しかし、少なくともコンテンツを置くことは非常に簡単です。 565 00:31:46,390 --> 00:31:49,380 誰かがあなたのウェブサイトを訪問することができたときにしかし、物事は本当に面白くなる 566 00:31:49,380 --> 00:31:52,260 と、入力を提供し、フォームに必要事項を記入することができます 567 00:31:52,260 --> 00:31:55,800 チェックボックスをオフにチェックすることができますし、あなたのウェブサイトと対話することができます。 568 00:31:55,800 --> 00:31:57,780 あなたが気にして実際には、おそらくすべてのウェブサイト 569 00:31:57,780 --> 00:32:00,710 これらの日、どんな詳細に、何らかの形で対話型です。 570 00:32:00,710 --> 00:32:03,110 ユーザー入力を受け取るには、フェイスブック、グーグル、などが挙げられ、 571 00:32:03,110 --> 00:32:05,100 およびカスタマイズされた出力を生成します。 572 00:32:05,100 --> 00:32:07,780 >> だから今はそんなことを始めてみましょう。今レッツトランジション 573 00:32:07,780 --> 00:32:11,150 単に静的コンテンツのマークアップのためにHTMLを使用してから 574 00:32:11,150 --> 00:32:14,790 としてではなく、動的なコンテンツの配信メカニズム。 575 00:32:14,790 --> 00:32:17,350 そしてその終わりに向かって、私たち自身の検索エンジンを実装してみましょう。 576 00:32:17,350 --> 00:32:20,820 Let 'sは、次のようにそれをする。ここではフォームタグです。 577 00:32:20,820 --> 00:32:24,090 action属性は、指定するユーザーは、このフォームに記入する際に 578 00:32:24,090 --> 00:32:28,400 彼らのキーボードで、それはここに、このURLに提出される予定である。 579 00:32:28,400 --> 00:32:31,230 だから私は浮気のようなものだ。それはやや長い私たちを取るために起こっている 580 00:32:31,230 --> 00:32:33,780 全体の検索エンジンを実装する複数のクラス、 581 00:32:33,780 --> 00:32:35,880 そう私達はちょうど、いわばフロントエンドをやる。 582 00:32:35,880 --> 00:32:38,650 我々は、ユーザーを検索することができます部分をやる、と我々はGoogleにパントの並べ替えがあります 583 00:32:38,650 --> 00:32:40,950 検索結果を見つけることの難しい部分、 584 00:32:40,950 --> 00:32:43,520 しかし、具体的には、Googleのウェブサーバーに話をするつもりです 585 00:32:43,520 --> 00:32:46,710 2非常に人気のある方法のいずれかを使用して。 586 00:32:46,710 --> 00:32:50,000 一つは、我々は最終的にポストされ、表示されますことを、別の、取得された 587 00:32:50,000 --> 00:32:52,660 あまり頻繁に使用されている他のものはありますが。 588 00:32:52,660 --> 00:32:56,440 だから私は、いくつかのコンテンツを取得したい、ただのアイデアを想起させる得る、いくつかの検索結果を得ることができます。 589 00:32:56,440 --> 00:32:58,440 これは、あなたはおそらくこれが何をするかを推測することができます。 590 00:32:58,440 --> 00:33:01,900 これは、入力のいくつかの種類である、それは、実際には、テキストフ​​ィールドのように見えるようになるだろう、 591 00:33:01,900 --> 00:33:05,200 その入力の名前は、その変数の名前は、いわば、 592 00:33:05,200 --> 00:33:08,610 慣例により、クエリのqになるだろう。 593 00:33:08,610 --> 00:33:11,700 そして再び、この入力の型はチェックボックスであることを行っていない; 594 00:33:11,700 --> 00:33:13,890 それがメニューであることを行っていない、それはテキストフ​​ィールドになるだろう 595 00:33:13,890 --> 00:33:18,060 ここでは、この属性、このテキストボックスで示すように、 596 00:33:18,060 --> 00:33:20,680 改行のように、そこにないかのどちらかです。 597 00:33:20,680 --> 00:33:24,480 だから我々は、そのタグの内側にスラッシュが付いた空の要素を持っています。 598 00:33:24,480 --> 00:33:28,050 それから私は、改行を置くつもりですが、あなたは、おそらく、これは何をするつもりなのか推測することができます。 599 00:33:28,050 --> 00:33:30,210 これは、フォーム入力の別の一種である。 600 00:33:30,210 --> 00:33:32,350 >> この1つは、フォームを送信するために使用されるだろう。 601 00:33:32,350 --> 00:33:36,140 だから、これは、ユーザーがフォームを送信するためにクリックできる大きなボタンであることを行っている 602 00:33:36,140 --> 00:33:40,800 そのボタンのラベルはあることを行っている 'CS50検索。' 603 00:33:40,800 --> 00:33:44,170 閉じるフォーム、近いボディ、近くのHTML。 604 00:33:44,170 --> 00:33:46,280 我々はこのWebページの形で持っているのか見てみましょう。 605 00:33:46,280 --> 00:33:48,260 だから、私は私のブラウザに行こう 606 00:33:48,260 --> 00:33:50,360 ローカルホストには、まだ、私は行くことができます。 607 00:33:50,360 --> 00:33:54,650 これは、私がsearch0と呼ばれるこのファイルを見たいと思っていますので、もしまだindex.htmlです 608 00:33:54,650 --> 00:33:59,710 私は単純に入力して、/ search0.htmlを行うことができます - 609 00:33:59,710 --> 00:34:01,880 そして私のミスの第一。 610 00:34:01,880 --> 00:34:04,400 どうなってるの?私ははっきりと権限を持っていません 611 00:34:04,400 --> 00:34:06,430 このファイルにアクセスするには、いくつかの理由がある。 612 00:34:06,430 --> 00:34:10,170 仕事とは違って、我々はこれまでやったので、しかし、それは、C言語での 613 00:34:10,170 --> 00:34:14,340 あなたが書くプログラムはあなたによってにおける、実行可能であると想定される場合、 614 00:34:14,340 --> 00:34:17,590 あなたによって実行可能な、実際にWeb上の場合ではない、 615 00:34:17,590 --> 00:34:21,010 それによって、時にはあなたは、サーバー上のファイルを作成することもできます 616 00:34:21,010 --> 00:34:23,310 しかし、あなたは全世界がそれらを見ることができないようにする。 617 00:34:23,310 --> 00:34:25,469 むしろ、あなたは世界がいくつかのファイルを見てみたい 618 00:34:25,469 --> 00:34:27,730 他のものではなく、単にプライバシーのために。 619 00:34:27,730 --> 00:34:30,730 だから、あなたがWeb上で物事をやっているときにオプトイン基盤のより多くのです。 620 00:34:30,730 --> 00:34:32,810 それで、私は実際にここにlsを入力しましょう 621 00:34:32,810 --> 00:34:37,440 そしてあなたは、私が持っているファイルを参照してくださいが、私は長い間、ls-lを実行した場合ことを思い出して、 622 00:34:37,440 --> 00:34:41,520 私は私にこれらのファイルのいくつかのより多くの詳細を与える長いリストを取得します 623 00:34:41,520 --> 00:34:45,139 それは私たちに関連する初めて、本当になりました。 624 00:34:45,139 --> 00:34:47,840 右端に私のファイルの名前があ​​ることに注意してください、 625 00:34:47,840 --> 00:34:50,690 その後、彼らが最後に変更され、またはコピーされた時刻。 626 00:34:50,690 --> 00:34:54,370 ここではこの番号は何ですか?あなたは思い出すでしょうか? 627 00:34:54,370 --> 00:34:56,400 バイト単位のサイズは、ファイルの大きさはどのくらいか。 628 00:34:56,400 --> 00:34:59,520 >> だから私は他のすべてのファイルよりも大きいですここでロゴのいくつかの種類を持っているように思われる。 629 00:34:59,520 --> 00:35:03,610 これは私が誰である、これは私が何か、私の出番だどのグループ 630 00:35:03,610 --> 00:35:07,430 しかし、その後、こっちに左に不可解なシーケンスのビットですが、 631 00:35:07,430 --> 00:35:10,040 そして我々は、過去にこのことについて簡潔に、私が思うに、話しました 632 00:35:10,040 --> 00:35:12,050 しかし、これは権限に関係しています。 633 00:35:12,050 --> 00:35:14,020 そして、それは少しかすんであっても、 634 00:35:14,020 --> 00:35:17,270 RWは、おそらく読ん&書くことを意味します。 635 00:35:17,270 --> 00:35:22,560 だから、これらのダッシュが異なる人々のための異なる権限セットを示すことが判明した。 636 00:35:22,560 --> 00:35:24,730 次のように、パターンは、本質的に、です。 637 00:35:24,730 --> 00:35:27,650 ここでダッシュの系列を見るとき、彼らは次のように見える。 638 00:35:27,650 --> 00:35:30,450 ダッシュがあり、その後、それ以上の3つのダッシュあり 639 00:35:30,450 --> 00:35:33,390 その後、別の3つがあり、その後、別の3つがあります。 640 00:35:33,390 --> 00:35:36,800 最初のものは、いずれかのディレクトリのダッシュまたはそれの広告です。 641 00:35:36,800 --> 00:35:40,220 だから、その人は非常に簡単です。それがフォルダなら、それはdと言い、それ以外の場合はハイフンです。 642 00:35:40,220 --> 00:35:44,080 そこにカップル他の例ですが、今の我々だけで、ファイルやディレクトリを気にします。 643 00:35:44,080 --> 00:35:48,090 これらの次の3つのダッシュ - と私は人工的にスペースを挿入した。 644 00:35:48,090 --> 00:35:50,490 我々は少し前にそれらを見たとき、彼らはそこに、明らかではありませんでした。 645 00:35:50,490 --> 00:35:52,900 これらは、ファイル所有者の権限です 646 00:35:52,900 --> 00:35:55,840 そして第二前にそれが読ま&書き込みされたことを思い出して。 647 00:35:55,840 --> 00:35:58,560 それは、少し前にこのファイルを作成した人として、私だったので、 648 00:35:58,560 --> 00:36:01,250 私は、単にデフォルトでは、Linuxコンピュータ上で、 649 00:36:01,250 --> 00:36:03,910 そのファイルの読み取りと書き込みを継続する能力を持っています。 650 00:36:03,910 --> 00:36:07,170 >> だから、オペレーティングシステムがちょうどRWを自動的に私を与える。 651 00:36:07,170 --> 00:36:10,840 真ん中のものは、学生のことを、私のグループに関連 652 00:36:10,840 --> 00:36:14,590 私は、アプライアンスを使用している唯一の人だからこれは、アプライアンス上の無意味のようなものです。 653 00:36:14,590 --> 00:36:16,620 だから私はちょうど今のその時点で私の手を振ってみましょう。 654 00:36:16,620 --> 00:36:19,190 しかし、最後のものは、Web用に最も重要です。 655 00:36:19,190 --> 00:36:21,580 これは世界の皆であり、実際 656 00:36:21,580 --> 00:36:24,600 ---のことを意味していることが、世界で他に誰もいません 657 00:36:24,600 --> 00:36:26,680 このファイルへのすべてのアクセス許可を持っています。 658 00:36:26,680 --> 00:36:29,180 明らかに問題なので、私はこの問題を解決する必要があります 659 00:36:29,180 --> 00:36:33,830 何とか世界に何を与えることによって?読む&書くのか? 660 00:36:33,830 --> 00:36:35,850 それは右、おそらくダムですか?私は、Web上で誰を望んでいない 661 00:36:35,850 --> 00:36:38,530 私のページを訪問に行くと、どういうわけか、そのファイルを変更するには、 662 00:36:38,530 --> 00:36:40,800 にもかかわらず、彼らは本当に、HTMLファイルではできませんでした 663 00:36:40,800 --> 00:36:44,110 しかし、ただ原理的には、おそらく彼らはそれを読むことができるようにしたい。 664 00:36:44,110 --> 00:36:47,910 何がそれを読むことを意味するのでしょうか?それは、彼らは、実際のHTMLを気にするつもりだという意味ではありません 665 00:36:47,910 --> 00:36:51,820 しかし、ブラウザは、そのマークアップ言語を解析できるようにする必要があります 666 00:36:51,820 --> 00:36:53,720 上から下へ、左から右へ。 667 00:36:53,720 --> 00:36:57,990 だからWeb上の誰かがそれを読むことができるようにする必要があるので、私はそれを最小限にrを与える必要があります。 668 00:36:57,990 --> 00:37:00,240 私は、おそらく、いくつかの異なる方法でこれを行うことができますが、 669 00:37:00,240 --> 00:37:03,080 最も簡単なのは、ここに、このコマンドを実行することです。 670 00:37:03,080 --> 00:37:10,860 その後chmodコマンド、変更モード、+ Rの世界では非常にすべての、誰も読み込み+、 671 00:37:10,860 --> 00:37:13,830 ファイルの、名前、search0.html。 672 00:37:13,830 --> 00:37:18,310 >> そのファイルが変更されたことを今、私は再び、ls-lを実行した場合、通知、 673 00:37:18,310 --> 00:37:21,440 そして実際に、私は皆のためrになってきました。 674 00:37:21,440 --> 00:37:23,350 、私も自分のグループのためにそれをオンにしましたが、それは大丈夫です 675 00:37:23,350 --> 00:37:27,150 私は皆のために中にオンにした場合、私のグループはそれのサブセットであるため。 676 00:37:27,150 --> 00:37:31,480 だから、それはあまりにも大丈夫です。これはちょうどコンピュータが、今では読みやすくしていることを意味します。 677 00:37:31,480 --> 00:37:34,430 今私は戻って私のブラウザに行かせて、リロードをクリックします。 678 00:37:34,430 --> 00:37:36,330 ああヘクタール。現在CS50検索を持っている。 679 00:37:36,330 --> 00:37:39,830 かなり恐ろしい検索エンジン - 私は少し人工的に拡大しました。 680 00:37:39,830 --> 00:37:41,930 しかし、それは実際に動作するかどうかを見てみましょう。 681 00:37:41,930 --> 00:37:45,880 まず、私がクリックして、ページのソースを表示を制御できるように、私は迅速な健全性チェックを行うことができます。 682 00:37:45,880 --> 00:37:50,780 クローム以内に私達が今​​、私自身が作成したものと同じHTMLを見ていることに注意してください。 683 00:37:50,780 --> 00:37:55,420 しかし、ここで混乱しないでください。私は、ここにコードを変更し起動することはできません 684 00:37:55,420 --> 00:37:59,420 ブラウザは、このコードの読み取り専用ビューを持っているので。 685 00:37:59,420 --> 00:38:06,060 ブラウザだけでsearch0.htmlというファイルをローカルホストに依頼しました。 686 00:38:06,060 --> 00:38:09,490 それが今では純粋な偶然の一致では、そのアプライアンス 687 00:38:09,490 --> 00:38:13,480 私のブラウザと同じコンピュータ上にあることを起こる。 688 00:38:13,480 --> 00:38:20,470 私はちょうど、等価的に、www.facebook.com/search0.htmlに入力したかもしれない 689 00:38:20,470 --> 00:38:23,830 Facebookはという名前のファイルを持っていたならば、私はその後、そのHTMLをご覧になることでしょう。 690 00:38:23,830 --> 00:38:27,360 そして、もちろん、私はどちらか、Facebookから戻ってきたファイルを変更することはできません。 691 00:38:27,360 --> 00:38:29,360 だから今我々はラインをぼかすの一種だ。 692 00:38:29,360 --> 00:38:32,130 アプライアンスは、Webページを提供し、両方のサーバで 693 00:38:32,130 --> 00:38:34,870 それは私がブラウザを使用しているという意味では、クライアントの 694 00:38:34,870 --> 00:38:37,630 実際にそのサーバーに話をする。 695 00:38:37,630 --> 00:38:39,610 だから、私は、Googleの検索エンジンが動作するかどうか見てみましょう。 696 00:38:39,610 --> 00:38:44,930 私が先に行くと速い茶色のキツネの検索は、次のように入力してみましょう。 697 00:38:44,930 --> 00:38:47,540 と出来上がり、私は今私の独自の検索エンジンを持っています。 698 00:38:47,540 --> 00:38:51,460 >> しかし、これはどのように動作しますか? 699 00:38:51,460 --> 00:38:55,380 ストレッチのビットが、 - 今、あなたは、正確には、関心の一つだ部分を見ることができません。 700 00:38:55,380 --> 00:38:57,370 何が起こるかに注目してください。 701 00:38:57,370 --> 00:39:00,430 URLを確認。それは、そのメソッドが判明 702 00:39:00,430 --> 00:39:02,780 取得と呼ばれる、超簡単です。 703 00:39:02,780 --> 00:39:10,270 あなたはいくつかのサーバーから結果を "取得"したいという形で指定すると、 704 00:39:10,270 --> 00:39:13,200 何それが何をするつもりなのは、フォームに入力されたものは何でも取ることです 705 00:39:13,200 --> 00:39:15,290 とURLに入れて。 706 00:39:15,290 --> 00:39:18,580 それは次のようにURLに入れれる方法を標準化するだろう。 707 00:39:18,580 --> 00:39:22,290 これは私のaction属性の値であったURLであることに注意してください。 708 00:39:22,290 --> 00:39:24,730 私はフォームが終わるしたいところです。 709 00:39:24,730 --> 00:39:26,950 しかし、その後、この疑問符に気づく。 710 00:39:26,950 --> 00:39:30,230 これは、それによって、ユーザーの入力を提供するために、Web上の慣習です 711 00:39:30,230 --> 00:39:35,320 ウェブサイトには、URLに疑問符に追加、 712 00:39:35,320 --> 00:39:38,330 そしてその後は、キーと値のペアの全体の束を持っています。 713 00:39:38,330 --> 00:39:42,380 そうでなければ、Webでパラメータとして知られているキーの名前、 714 00:39:42,380 --> 00:39:46,380 その後、等号を持って、あなたは、そのパラメータの値を持っています。 715 00:39:46,380 --> 00:39:49,810 だから、本質的には変数名と変数の値です 716 00:39:49,810 --> 00:39:54,250 しかし、それらの変数の名前と値は、HTMLフォームから来ました。 717 00:39:54,250 --> 00:39:56,250 なぜプラスがあると、あなたは思いますか? 718 00:39:56,250 --> 00:39:59,340 私は私の言葉の間に+を入力しなかったため。 719 00:39:59,340 --> 00:40:01,430 [学生、不明朗] 720 00:40:01,430 --> 00:40:05,080 >>うん、それだけで間隔のためだ。オッズでは、URLを見てきたときはいつでも、アール、 721 00:40:05,080 --> 00:40:07,320 なぜなら場合にのみ、その中の任意のスペースは、決してありません 722 00:40:07,320 --> 00:40:09,440 があったとしたら、あなたは本当にそれをコピーして貼り付けることができませんでした 723 00:40:09,440 --> 00:40:12,700 IMにまたは電子メールにそれが壊れるからです。 724 00:40:12,700 --> 00:40:15,420 あなたが全部の文字の1連続した文字列になりたい。 725 00:40:15,450 --> 00:40:18,450 >> だからブラウザはウウン、実現するのに十分スマートです。 726 00:40:18,450 --> 00:40:22,610 ちょうどそこにスペースを入れないでください。私はいくつかの標準的な方法でスペースをエンコードしてみましょう。 727 00:40:22,610 --> 00:40:25,170 そうするための規則の一つは、ブラウザを持つことである 728 00:40:25,170 --> 00:40:29,350 自動的にあなたがそうでなければスペースを持っているでしょう+を置く。 729 00:40:29,350 --> 00:40:32,140 だから今は、予告Googleはユーザーフレンドリーの一種となっています。 730 00:40:32,140 --> 00:40:34,380 私は確かに、このWebページを作成しなかった 731 00:40:34,380 --> 00:40:37,200 しかし、彼らは自分のテキストフ​​ィールドを事前に入力した 732 00:40:37,200 --> 00:40:39,490 正確には、私が入って入力した内容と 733 00:40:39,490 --> 00:40:43,090 私は怠惰な犬のように、何か他のものを検索するとします。 734 00:40:43,090 --> 00:40:45,340 私はちょうど再検索、ここにこれを入力することができます。 735 00:40:45,340 --> 00:40:47,730 URLはここまで変化することに注意してください、 736 00:40:47,730 --> 00:40:51,390 しかし、私は実際に私が欲しいものを検索することができ、次に気付く 737 00:40:51,390 --> 00:40:53,610 どれだけのURLの仕事を理解すること。 738 00:40:53,610 --> 00:40:56,840 私は、次のように入力し、怠惰な猫を行うことができます 739 00:40:56,840 --> 00:41:01,370 と今気づく私は非常に手抜きをしているんだ - すべき私たちは?私は私達があるべきであるように感じる。 740 00:41:01,370 --> 00:41:09,900 私は非常に怠惰な猫を取得します。 741 00:41:09,900 --> 00:41:11,930 かしこまりました。これは、我々がやった愚かなものの一つです。 742 00:41:11,930 --> 00:41:17,160 しかし、それは怠惰な猫です。 743 00:41:17,160 --> 00:41:19,730 とにかく、ここで重要なテイクアウトは何ですか? 744 00:41:19,730 --> 00:41:22,830 今、私たちは、HTTPの世界で遊んでいる一種のだ。 745 00:41:22,830 --> 00:41:26,050 HTMLは、ちょうどこのマークアップ言語で、開始タグ、終了タグ、です 746 00:41:26,050 --> 00:41:29,490 それは、Webページ上のコンテンツをレンダリングする方法をブラウザに指示します。 747 00:41:29,490 --> 00:41:32,850 しかし、あなたは、インターネットを介してデータ送信を開始するとき 748 00:41:32,850 --> 00:41:36,290 どこでこのプロトコル、Webブラウザとサーバーとの間で、それはだ 749 00:41:36,290 --> 00:41:39,370 ハイパーテキスト転送プロトコルが引き継ぐとしても知られています。 750 00:41:39,370 --> 00:41:42,630 これは人間の慣習のようなものです。サムと私は月曜日に握手をしたときに、 751 00:41:42,630 --> 00:41:48,300 接続を開始してから、ここの接続は、同じアイデアを閉じる。 752 00:41:48,300 --> 00:41:53,100 どのようにGoogleの結果は私に戻って来ている? 753 00:41:53,100 --> 00:41:55,290 私のフォームの送信は、Googleにどのように起こっている? 754 00:41:55,290 --> 00:41:58,160 さて、何が実際に起こっていることを他の日からリコール 755 00:41:58,160 --> 00:42:02,150 Webページが要求ボンネットの下に、 756 00:42:02,150 --> 00:42:04,860 お使いのブラウザはやや似、不可解なメッセージを送っている 757 00:42:04,860 --> 00:42:09,510 デフォルト·ホーム·ページには、/ HTTP/1.1を​​GET。 758 00:42:09,510 --> 00:42:13,000 >> または、この場合には、私は具体的に要求したので、それ以前の 759 00:42:13,000 --> 00:42:17,340 sea​​rch0.html、これはその後幾分-不可解なメッセージでしょう 760 00:42:17,340 --> 00:42:20,040 私のブラウザでは、アプライアンスに送信する。 761 00:42:20,040 --> 00:42:23,090 または、Googleのこのケースでは、どのような実際に送信される 762 00:42:23,090 --> 00:42:33,740 次に/検索への要求である、と?Q =怠惰な猫は、そこにプラスして。 763 00:42:33,740 --> 00:42:36,790 したがって、このメッセージは、私は、人間は、入力したことがないているということ、 764 00:42:36,790 --> 00:42:40,620 しかし、私のブラウザから送信されており、これはHTTPが起こるかということです。 765 00:42:40,620 --> 00:42:43,240 これは、我々の振とうした手のと同等です。 766 00:42:43,240 --> 00:42:46,320 これはリクエストであって、サーバは応答を送信しようとしてだ。 767 00:42:46,320 --> 00:42:48,560 それでは、ボンネットの下にこれを見てみましょう。 768 00:42:48,560 --> 00:42:55,320 前に述べたように、ブラウザでこの特別なフィールドを開くことができます。 769 00:42:55,320 --> 00:42:58,720 、ページを表示する要素を検査します。 770 00:42:58,720 --> 00:43:01,550 要素を検査しそうで、Chromeで何が起こっていることがわかり 771 00:43:01,550 --> 00:43:04,160 とIEとFirefoxは、同様のメカニズムを持っている 772 00:43:04,160 --> 00:43:07,370 私たちは私たちにアクセス可能なこれらの開発ツ​​ールを持っています。 773 00:43:07,370 --> 00:43:09,630 普通の人々は、これらのタブを使用しないでください。 774 00:43:09,630 --> 00:43:11,940 しかし、我々は、今、何が起こっているのかに興味を持っている 775 00:43:11,940 --> 00:43:13,890 ネットワークレベルでのフードの下に。 776 00:43:13,890 --> 00:43:16,130 私はここで、ネットワーク·レベルを引き上げるのであれば、 777 00:43:16,130 --> 00:43:18,510 、私が先に行くと、このウィンドウを展開してみましょう 778 00:43:18,510 --> 00:43:21,840 ここにこのエントリを開くと、ヘッダーを見てみましょう。 779 00:43:21,840 --> 00:43:26,010 私は、Webサーバーからファイルを要求したときにどうなるでしょう 780 00:43:26,010 --> 00:43:29,410 私のブラウザは、物事の全体の束を送ることです。 781 00:43:29,410 --> 00:43:32,390 そして、私は、ソースを表示してみましょう。だから、要求ヘッダーの下で、 782 00:43:32,390 --> 00:43:35,250 そしてこれは、私にいくつかの診断出力を示すだけクローム 783 00:43:35,250 --> 00:43:37,340 何らかのデバッガのような一種の、 784 00:43:37,340 --> 00:43:40,500 私がここで強調したことは正確に何であることに注目してください 785 00:43:40,500 --> 00:43:47,060 Chromeはsearch0.htmlという名前のファイルを要求するためにサーバーに送信されます。 786 00:43:47,060 --> 00:43:50,160 それがどう思うか、その名前が、あるサーバーを語っている 787 00:43:50,160 --> 00:43:52,210 このホストコロンフィールドのおかげで、その後いくつかあり 788 00:43:52,210 --> 00:43:56,950 ここではかなり難解なもの、日付と時間とは何かのように、 789 00:43:56,950 --> 00:43:59,720 ブラウザが理解できる言語とは何か、 790 00:43:59,720 --> 00:44:02,850 しかし本当に重要な行は、ここで、これらの最初の2つです。 791 00:44:02,850 --> 00:44:05,490 >> サーバーは何をして応答しますか?さて、私たちはここで下にスクロールした場合 792 00:44:05,490 --> 00:44:08,510 そしてこの事のソースを表示し、そのサーバーに気付く 793 00:44:08,510 --> 00:44:13,700 同様にやや不可解なメッセージで応答しました、304は修正されません。 794 00:44:13,700 --> 00:44:16,030 それはちょっと奇妙だ、わたしが実際にこれを修正してみましょう。 795 00:44:16,030 --> 00:44:18,670 私は、Shiftキーを押してここを上ってリロードをクリックしてみましょう 796 00:44:18,670 --> 00:44:22,460 実際に初めてこの要求を行うためにブラウザを強制します。 797 00:44:22,460 --> 00:44:25,700 その後、私がズームインさせ、我々は、そのサーバーの応答今わかり、 798 00:44:25,700 --> 00:44:28,950 私はシフトを開催しましたので、200はOKです。 799 00:44:28,950 --> 00:44:31,170 だから、あなたはおそらく200番を見たことがない 800 00:44:31,170 --> 00:44:33,300 Webのコンテキストが、どのような数字で 801 00:44:33,300 --> 00:44:36,760 あなたは時々サーバーから予期せず見ている? 802 00:44:36,760 --> 00:44:42,010 404ファイルが見つかりません; 403、禁断、500、サーバーエラー。 803 00:44:42,010 --> 00:44:44,890 だから世界はWebで使用されるこれらの数字のコードがあります 804 00:44:44,890 --> 00:44:47,870 ちょうどC言語の関数のようなエラーを示すために 805 00:44:47,870 --> 00:44:51,030 エラーを戻すことができますし、メインは、終了コードを返すことができます。 806 00:44:51,030 --> 00:44:54,160 それはすべてが順調であることを意味しますので、200が、しかし、あなたはめったに見ません。 807 00:44:54,160 --> 00:44:59,000 それが何を意味されているため、および304は、おそらく見ることはない? 808 00:44:59,000 --> 00:45:03,330 つまり、何も持って - 私たちは再びこれをシミュレートすることができるかどうかを確認してみましょう - 809 00:45:03,330 --> 00:45:07,170 ああ、今は協力していないのです。 304は、変更されていないと述べた 810 00:45:07,170 --> 00:45:09,170 なぜサーバーがあっても応答していた? 811 00:45:09,170 --> 00:45:12,550 まあ、効率のために、Webサーバが自動的にあなたのために、 812 00:45:12,550 --> 00:45:16,570 ファイルが変更されていない場合、それは全体のHTMLファイルを再送しません。 813 00:45:16,570 --> 00:45:19,150 それはちょうどそれが変更されていないブラウザを教えてあげましょう。 814 00:45:19,150 --> 00:45:21,220 ちょうどあなたがすでに持っているコピーを使用します。 815 00:45:21,220 --> 00:45:22,650 だからキャッシングのこの概念は、Web上にあり 816 00:45:22,650 --> 00:45:25,840 パフォーマンスのためなので、時間と帯域幅を無駄に浪費しないこと 817 00:45:25,840 --> 00:45:29,160 不必要に何度も何度もファイルをダウンロードする。 818 00:45:29,160 --> 00:45:31,460 >> しかし今、このWebページには、、、超簡単だった 819 00:45:31,460 --> 00:45:34,980 そして、それは私だけに戻ってきたHTMLを示した。 820 00:45:34,980 --> 00:45:40,940 実際に速い茶色のキツネのようなGoogleの検索を行うようになりましネットワーク]タブを使用してみましょう。 821 00:45:40,940 --> 00:45:43,010 、CS50、[検索]をクリックして私にしてみましょう 822 00:45:43,010 --> 00:45:46,950 そして今、ものの全体の束が戻ってきたここで底に気付く 823 00:45:46,950 --> 00:45:49,900 私はGoogle.comのように本物のウェブサイトを訪問したときにため、 824 00:45:49,900 --> 00:45:53,520 彼らはイメージを持って、彼らはテキストを持って、彼らはそこのJavaScriptと呼ばれる言語を持っています。 825 00:45:53,520 --> 00:45:55,940 ここに、このテーブルのため、各行 826 00:45:55,940 --> 00:46:01,490 Googleは私のただ一つの要求に応答して吐き出すことが何かを表しています。 827 00:46:01,490 --> 00:46:04,160 私は気に1は、しかし、この最初のものです。 828 00:46:04,160 --> 00:46:08,420 私が検索している場合と、要求は、ここでソースを表示]をクリックします 829 00:46:08,420 --> 00:46:11,300 、確かに、私のブラウザは不可解なメッセージを送っていることに気付く 830 00:46:11,300 --> 00:46:15,010 Googleにここにこれら二つのラインであった、 831 00:46:15,010 --> 00:46:18,420 我々は今のところ無視していますここにいくつかの不可解な情報が続く。 832 00:46:18,420 --> 00:46:20,890 しかし、通知は、あまりにも、何のChromeは、とかなり便利です 833 00:46:20,890 --> 00:46:24,540 それはまた私にインチ送られたクエリ文字列を見せている 834 00:46:24,540 --> 00:46:27,410 そうではなく、これは、文字通り送られてきた、私を見る 835 00:46:27,410 --> 00:46:30,800 私はそれは、単にデバッグ目的で、Chromeをデコードして表示する場合 836 00:46:30,800 --> 00:46:34,270 私たちのような開発者のために、それはちょうど私の人間に優しいバージョンを見せている - 837 00:46:34,270 --> 00:46:36,390 それは明らかに、あなたはキツネを綴る方法ではありません。 838 00:46:36,390 --> 00:46:40,520 私はちょうど今、このことを気づいている - しかし、それは、私は、明らかに、入力した内容を見せている。 839 00:46:40,520 --> 00:46:45,340 一方、サーバから帰ってきた応答が再び200 OKです。 840 00:46:45,340 --> 00:46:47,930 しかし、もちろん、その応答に含まれて 841 00:46:47,930 --> 00:46:51,920 私たちは実際にページのHTMLを表示した場合 - 842 00:46:51,920 --> 00:46:55,440 申し訳ありませんが、これは今日ゆがん少しキーボードショートカットです。 843 00:46:55,440 --> 00:46:59,020 >> 私はこの後に対処します。私たちは実際にページのソースを表示するのであれば、 844 00:46:59,020 --> 00:47:02,990 私は応答をクリックして、ここでダウンを行うことができ、 845 00:47:02,990 --> 00:47:10,080 これは実際にはサーバからその謎めいた200 OKメッセージに加えて、戻って吐き出すされたものです。 846 00:47:10,080 --> 00:47:12,520 ちょっと不可解ですが、どこにこのすべてはから来ている? 847 00:47:12,520 --> 00:47:15,570 さて、ここでもう一つの事をしてみましょう。別の幾分-不可解なコマンド、 848 00:47:15,570 --> 00:47:20,530 それはフードの下で起こっているのかを正確に私たちに明らかにするという点できちんとしたのが、この親切な。 849 00:47:20,530 --> 00:47:22,530 だから私はここに私のMacに戻ってきた、私が接続している 850 00:47:22,530 --> 00:47:25,980 別のサーバへのSSH、セキュア·シェルと呼ばれるプログラムを介して 851 00:47:25,980 --> 00:47:28,940 ハーバード大学のコンピュータのほとんどは、我々が実行されようとしているコマンドをブロックするので、 852 00:47:28,940 --> 00:47:31,640 トレースルートと呼ばれるいくつかのサーバ上では、このコマンドはそこだから 853 00:47:31,640 --> 00:47:34,810 それはあなたが、点aとbの間のルートをトレースすることができます 854 00:47:34,810 --> 00:47:37,020 そして、これまで私たちは当たり前の完全に取ってきた 855 00:47:37,020 --> 00:47:40,170 私は、Google.comと入力して、何らかの形で戻ってきたデータを得ることができる 856 00:47:40,170 --> 00:47:43,530 中途半端に全国または途中で、世界中から。 857 00:47:43,530 --> 00:47:45,810 tracerouteを使用すると、我々は実際に少し深くに潜ることができる 858 00:47:45,810 --> 00:47:49,370 インターネットがどのように動作するかのように、そしてフードの下で何が起こっているかを参照してください。 859 00:47:49,370 --> 00:47:54,440 それでは、先に行くと、勝手にへのルートをトレースする、言う、Stanford.eduう 860 00:47:54,440 --> 00:47:57,150 これは、全国で、エンターキーを押します。 861 00:47:57,150 --> 00:47:59,380 このコマンドでは、超高速または超遅くなることがあります 862 00:47:59,380 --> 00:48:02,010 しかし、我々は、現在行ずつ何を見ている 863 00:48:02,010 --> 00:48:08,060 、私たちとパロアルト、またはスタンフォード間のステップまたはホップの一人一人である 864 00:48:08,060 --> 00:48:11,010 彼らは彼らのウェブサーバーを使用している場所。 865 00:48:11,010 --> 00:48:16,600 だから、これらの各行は、しかし、より具体的に何を表すのでしょうか? 866 00:48:16,600 --> 00:48:19,100 インターネットから専門用語を追加しましたか? [学生、不明朗] 867 00:48:19,100 --> 00:48:21,570 >>あれは、何ですか。 [学生、不明朗] 868 00:48:21,570 --> 00:48:25,390 >>ああ、そうそこに時間はありますが、それぞれの行をするのでしょう - 私はホップとはどういう意味ですか? 869 00:48:25,390 --> 00:48:29,140 >> まあ、ルータと呼ばれるインターネット上でこれらの事がある。 870 00:48:29,140 --> 00:48:33,020 とルーター、その名が示すように、点からの経路情報がbを指すようにします。 871 00:48:33,020 --> 00:48:36,920 しかし、AとBを超えた点がいくつかあります。 872 00:48:36,920 --> 00:48:40,010 1行目の間にcとdとeとfがあります 873 00:48:40,010 --> 00:48:43,480 それは私のコンピュータのIPアドレスであることを起こる、 874 00:48:43,480 --> 00:48:46,890 一意的に自分のコンピュータを識別するか、私の数値アドレス、 875 00:48:46,890 --> 00:48:50,300 実際に第六のWebサーバーであり、ステップ15、 876 00:48:50,300 --> 00:48:54,640 明らかに、これは私は、このことから推測して、またはスタンフォード大学の自分のWebサーバーのバージョン6よ。 877 00:48:54,640 --> 00:48:56,680 しかし、きちんとしたの一種であるが、何を、私たちはパスを見ることができます 878 00:48:56,680 --> 00:49:00,480 私の0と1は、スタンフォードに私のコンピュータから取っていること。 879 00:49:00,480 --> 00:49:02,500 だからステップ1は自分のコンピュータのアドレスを指定します。 880 00:49:02,500 --> 00:49:05,760 インターネット上のすべてのコンピュータは、このように見えるユニークな識別子を持っています。 881 00:49:05,760 --> 00:49:08,150 Number.number.number.number。 882 00:49:08,150 --> 00:49:10,370 どこかにこのキャンパスでは、おそらく科学センターで、 883 00:49:10,370 --> 00:49:16,780 コアゲートウェイ2-te83と呼ばれるルータですが、どんなことを意味し、 884 00:49:16,780 --> 00:49:20,590 ので、これは彼らの多くのトラフィックをルーティングし、ハーバード大学の大きな空想ルータの一つです。 885 00:49:20,590 --> 00:49:24,640 ここにハーバード大学のルータの、他人の、この1つは、ボーダーゲートウェイです 886 00:49:24,640 --> 00:49:28,310 国境の意味は、それがどこかにキャンパスの周囲にはおそらくです。 887 00:49:28,480 --> 00:49:32,790 その後、ノーザンクロスロードされるNOx 1、4行目は、そこ 888 00:49:32,790 --> 00:49:35,070 大きなISP、インターネットサービスプロバイダーは、これです 889 00:49:35,070 --> 00:49:37,740 ハーバード大学のような場所には、最大接続すること。 890 00:49:37,740 --> 00:49:40,760 しかし、その後、物事が6行目で少し面白くなる。 891 00:49:40,760 --> 00:49:45,960 私のビットは、すべての突然のどこにありますか?カンザス州。 892 00:49:45,960 --> 00:49:49,300 世界は、これらの多くのものに空港コードを使用しての習慣を持っている 893 00:49:49,300 --> 00:49:52,900 州や都市のためのまたは少なくとも略語、 894 00:49:52,900 --> 00:49:56,490 ので、それは、わずか60ミリ秒で、ように見えます 895 00:49:56,490 --> 00:49:59,420 情報のパケットは、0と1の私のラップトップから 896 00:49:59,420 --> 00:50:03,210 60ミリ秒で、再びカンザスへのすべての方法を持って、そして。 897 00:50:03,210 --> 00:50:08,180 >> また、カンザス後、彼らは、おそらく、ヒューストンを通じてツアーに参加 898 00:50:08,180 --> 00:50:10,140 としては、このサーバーの名前が示唆された。 899 00:50:10,140 --> 00:50:13,310 インターネット上のサーバは、数値アドレスを持っている必要がありますので、同じように、 900 00:50:13,310 --> 00:50:18,360 それはまた、必要に応じて、人間が思いついたことを、もう少し人間に優しいアドレスを持つことができます。 901 00:50:18,360 --> 00:50:20,510 さて、ステップ8で、私たちは、これが何であるかを知らない。 902 00:50:20,510 --> 00:50:22,550 たまにルータがちょうど種類のもので、あなたを無視する 903 00:50:22,550 --> 00:50:25,010 そして、彼らはただ質問に答えていない、それは大丈夫ですので。 904 00:50:25,010 --> 00:50:29,290 ステップ8後の1は、明らかにどこにあるのでしょうか? L.A. 905 00:50:29,290 --> 00:50:35,290 物理的に行うために6時間以上のように私たち人間に必要なものだけで78ミリ、で予告 906 00:50:35,290 --> 00:50:40,110 そこまで移動するには、インターネット上で78 msの情報のパケットを受け取ります。 907 00:50:40,110 --> 00:50:45,890 ステップ10は、同様にLAであり、ステップ11は、スタンフォード大学の近くで、北行っているようだ。 908 00:50:45,890 --> 00:50:48,750 これは彼らの境界ルータ、または境界ルータです。 909 00:50:48,750 --> 00:50:51,240 私たちを無視しているスタンフォード大学のカップルのステップ、 910 00:50:51,240 --> 00:50:55,610 そして最後に、私達はちょうど87ミリ秒でWebサーバに到達する。 911 00:50:55,610 --> 00:50:57,760 さて、余談として、これらの数字はすべて、 912 00:50:57,760 --> 00:51:00,640 データだけが私から取得するためにどのくらい時間がかかることを伝える 913 00:51:00,640 --> 00:51:03,530 これらのルータのそれぞれに、それは累積ではありません。 914 00:51:03,530 --> 00:51:06,960 このプログラムは何をするか、それがまず最初のルータに、本質的に、メッセージを送信します。 915 00:51:06,960 --> 00:51:09,490 次に、第二のルータに1、次に第3のルータへの1つは、 916 00:51:09,490 --> 00:51:12,610 それぞれの時間を測定します。だから理論的には、これらの時間は成長する 917 00:51:12,610 --> 00:51:14,860 または少なくともかなり近いお互いに、 918 00:51:14,860 --> 00:51:18,090 そして、確かに、キャンパス上で右ここであるものは、超小型である。 919 00:51:18,090 --> 00:51:20,820 あなたが国を渡って行く始めるとすぐに、それは、データを取り 920 00:51:20,820 --> 00:51:24,830 少し長く、旅行100ミリに近い、与えるか、または取る。 921 00:51:24,830 --> 00:51:28,330 しかし、今度は、他の方向に行くことができます。どのように英国のケンブリッジ大学はどうですか? 922 00:51:28,330 --> 00:51:32,540 私が代わりにケンブリッジのwww.camのtracerouteを実行してみましょう、 923 00:51:32,540 --> 00:51:36,710 学術用のAC、。英国、ここでエンターキーを押します。 924 00:51:36,710 --> 00:51:38,830 これはかなり気に速かった。 925 00:51:38,830 --> 00:51:43,300 私のデータは文字通り時間のその瞬間、ケンブリッジ、イギリスに行ってきました。 926 00:51:43,300 --> 00:51:45,340 >> だからそれが取った道を見てみましょう。 927 00:51:45,340 --> 00:51:47,520 ハーバード大学、ハーバード大学、ハーバード大学、ノーザンクロス、 928 00:51:47,520 --> 00:51:52,690 BAM次にこれは、ISPであり、これはノーザンクロスであり、。 929 00:51:52,690 --> 00:51:58,320 手順6と7、ルータ6と7の間には何ですか? 930 00:51:58,320 --> 00:52:02,040 大西洋。そして、我々はその事実からこれを推論している 931 00:52:02,040 --> 00:52:06,530 我々はここで20ミリから80ミリここに行く。 932 00:52:06,530 --> 00:52:10,050 だから何かが乗り越えるために、与えるか、または取る、60ミリ秒かかります。 933 00:52:10,050 --> 00:52:12,910 そして、それはおそらく水の大きな体だった。 934 00:52:12,910 --> 00:52:15,250 何がその後に行きますか?さて、ここで我々は、ロンドンにあり、 935 00:52:15,250 --> 00:52:18,860 後でちょうど88ミリ。ロンドン、ロンドンより、もっと 936 00:52:18,860 --> 00:52:21,730 これは、しかし、我々はそれがロンドン以外だと仮定します場所がわからない、 937 00:52:21,730 --> 00:52:26,390 ここケンブリッジ、最終的に我々 - 文字通り、ケンブリッジ大学 938 00:52:26,390 --> 00:52:29,500 次に。something.net、そして、最後に、16行目で、 939 00:52:29,500 --> 00:52:31,720 自分のWebサーバは、明らかにさそり座と呼ばれ 940 00:52:31,720 --> 00:52:35,500 我々はwwwとしてそれを知っているにもかかわらず、ボンネットの下に。 941 00:52:35,500 --> 00:52:38,790 一種の心を吹いて、私は思う。私が今までにこれをした最初の時間は、それは完全に私の心を吹いた。 942 00:52:38,790 --> 00:52:41,670 残念なことに、ハーバード大学は、ネットワーク上で、一般的に、この種のトラフィックをブロックします。 943 00:52:41,670 --> 00:52:44,340 だから、簡単にスーパーにそれを行うことはできません。 944 00:52:44,340 --> 00:52:48,500 実現する、しかし、ここでこれは可能です。 945 00:52:48,500 --> 00:52:53,630 かしこまりました。のは、ここで我々の5分間の休憩を取りましょう。我々は戻ってきて、より深くに飛び込むでしょう。 946 00:52:53,630 --> 00:53:00,850 だから我々は戻ってきた、と我々は同じ種類ではここではいくつかの異なる方向に約のんびり歩いてきました。 947 00:53:00,850 --> 00:53:03,700 それでは、まさにここで起こってきていることをまとめてみましょう。 948 00:53:03,700 --> 00:53:07,990 我々は、HTMLと呼ばれるこの言語について話して会話を始めた。 949 00:53:07,990 --> 00:53:10,680 繰り返しになりますが、必ずしもプログラミング言語。それはただのマークアップ言語です 950 00:53:10,680 --> 00:53:15,490 それが美学とWebページの形でコンテンツの構造化について主としてある。 951 00:53:15,490 --> 00:53:19,220 しかし、HTMLのため、機構のいくつかの種類を必要とします 952 00:53:19,220 --> 00:53:22,870 Webブラウザとサーバー間を移動するための。 953 00:53:22,870 --> 00:53:28,360 HTMLのため、この他の言語の上に乗っての並べ替え、 954 00:53:28,360 --> 00:53:31,280 HTTPとして知られているか、またはより正確には、プロトコル、。 955 00:53:31,280 --> 00:53:33,730 >> そして、我々はこれまでそれを見てきたように、HTTP、 956 00:53:33,730 --> 00:53:37,140 握手をして、この人間の慣習に類似種類のものである。 957 00:53:37,140 --> 00:53:39,940 ブラウザはサーバからページを要求したがっているとき、 958 00:53:39,940 --> 00:53:43,450 それは、ブラウザからサーバーへのリクエストを "獲得"している送信 959 00:53:43,450 --> 00:53:48,040 その後、サーバが200のような番号で応答し、すべてが、大丈夫です 960 00:53:48,040 --> 00:53:53,290 同様に404のようなHTMLまたはいくつかの悪い数字のように、ファイルが見つかりません。 961 00:53:53,290 --> 00:53:58,220 しかし、一方では、HTTP自体は、それ自体が、インターネットではありません。 962 00:53:58,220 --> 00:54:01,550 HTTPは、単にサービス、インターネットの特徴である 963 00:54:01,550 --> 00:54:05,530 ずっとGのチャットのようなメールは別のサービスであるのと同じように、別のサービスです。 964 00:54:05,530 --> 00:54:09,180 我々はインターネット上で行うことができるもののすべての種類があります。 965 00:54:09,180 --> 00:54:12,670 HTTPはちょうどそれらのアプリケーションの一つです。 966 00:54:12,670 --> 00:54:17,210 そうの上に - HTTPは何か他のものの上にあります 967 00:54:17,210 --> 00:54:21,750 我々は名前で言及しなかった、名前では、TCP / IPの聞いたことがあるかもしれません。 968 00:54:21,750 --> 00:54:25,160 だから我々はそこに語った話はすべてに約ある 969 00:54:25,160 --> 00:54:28,720 どのようにデータがbを指すようにポイントから移動する。 970 00:54:28,720 --> 00:54:30,950 そして、この場合には、我々は非常に低いレベルで見た 971 00:54:30,950 --> 00:54:33,060 ルータは、ルータへのルータにルータに 972 00:54:33,060 --> 00:54:35,390 どのようにデータが実際に送信されます。 973 00:54:35,390 --> 00:54:40,510 しかし、道に沿って、それが様々な障害が発生したために起こっている。 974 00:54:40,510 --> 00:54:43,770 これらのルータのほかに、インターネット上でのファイアウォールと呼ばれるものがあります 975 00:54:43,770 --> 00:54:46,680 我々だけで送信されたされているようなので、データ、 976 00:54:46,680 --> 00:54:49,720 私からスタンフォードへ、私からケンブリッジへ、 977 00:54:49,720 --> 00:54:54,560 このレベルでは、に送信されますが、何かは、IPアドレスと呼ばれる。 978 00:54:54,560 --> 00:54:57,340 私たちは、少し前、これを見て、IPアドレス 979 00:54:57,340 --> 00:55:02,480 、単にフォームw.x.y.zの数値アドレスです 980 00:55:02,480 --> 00:55:08,070 これらの各々は、間にある場合に、与えるか、または、0〜255の範囲を取る 981 00:55:08,070 --> 00:55:10,080 あなたは非常にそれらの数のすべてを使用することはできませんけれども。 982 00:55:10,080 --> 00:55:14,220 しかし、これらのプレースホルダはそれぞれ0から255までの数値です。 983 00:55:14,220 --> 00:55:16,820 だからIPアドレスは、これらの日は32ビットです。 984 00:55:16,820 --> 00:55:20,780 >> さて、それは私たちの世界でどのように多くの可能なIPアドレスを与えますか? 985 00:55:20,780 --> 00:55:24,420 約4億円となり、いつでも我々は2の累乗でカウントしているので、 986 00:55:24,420 --> 00:55:27,760 何かの32までのすべての方法は、それは通常私達40億を与える。 987 00:55:27,760 --> 00:55:30,160 だから、IPアドレスがたくさんですが、あなたは読んだことがあるかもしれませんが、 988 00:55:30,160 --> 00:55:32,410 またはあなたが今、大衆紙に気づくかもしれません 989 00:55:32,410 --> 00:55:36,020 IPと呼ばれるIPv6の新しいバージョンに向けてプッシュ。 990 00:55:36,020 --> 00:55:38,290 今、私たちはバージョン4を使用している。 991 00:55:38,290 --> 00:55:41,060 本当にバージョン5がありませんでした、私達はちょうど6に右ジャンプしている。 992 00:55:41,060 --> 00:55:46,760 バージョン6は巨大なおかしくされているIPアドレスのために128ビットを使おうとしている。 993 00:55:46,760 --> 00:55:49,430 我々は、今やかなりの時間が不足してはいけません 994 00:55:49,430 --> 00:55:52,980 しかし、我々は、バージョン4のIPアドレスが不足し始めている 995 00:55:52,980 --> 00:55:56,110 すべての私たちのラップトップとデスクトップのようなものだけでなく、持っているので、 996 00:55:56,110 --> 00:55:58,700 私たちの多くは携帯電話を持って、私たちの多くは、他のデバイスを持っている 997 00:55:58,700 --> 00:56:01,600 TiVoのような、自分自身のIPアドレスを持っているような。 998 00:56:01,600 --> 00:56:03,720 ハーバード自体はコンピュータの数万人を持っています。 999 00:56:03,720 --> 00:56:07,970 だから世界は純粋に、このフォームの、少なくともIPアドレスが不足しています。 1000 00:56:07,970 --> 00:56:10,340 だから、今後数年間は、アドレスを参照しようとしている 1001 00:56:10,340 --> 00:56:12,870 自分のコンピュータ上で、おそらく徐々に変更 1002 00:56:12,870 --> 00:56:16,740 より多くの企業や大学が新しいバージョンをサポートし始めると。 1003 00:56:16,740 --> 00:56:22,770 しかし、IPアドレスは、コンピュータ、コンピュータBからのデータを要求するためには十分ではない。 1004 00:56:22,770 --> 00:56:24,950 コンピュータBがサーバーになる可能性があるため、 1005 00:56:24,950 --> 00:56:27,600 そして、サーバは、前述のように、物事の束を行うことができます。 1006 00:56:27,600 --> 00:56:29,940 それは、それが電子メールサーバーにすることができ、Webページをホストすることができます 1007 00:56:29,940 --> 00:56:32,310 それはSkypeのサーバーにすることができ、それはGのチャットサーバにすることができます。 1008 00:56:32,310 --> 00:56:35,870 >> サーバー上で提供することができますすべてのこれらの異なるサービス 1009 00:56:35,870 --> 00:56:38,330 すべて、物理的に同じマシン上に置くことができます。 1010 00:56:38,330 --> 00:56:40,380 だから、IPアドレスに加えて、 1011 00:56:40,380 --> 00:56:43,250 世界は、インターネット上のポートと呼ばれるものを持っています。 1012 00:56:43,250 --> 00:56:47,830 ポートは数字だけです。ので、HTTPのための固有の番号があります。 1013 00:56:47,830 --> 00:56:50,280 その数は80です。 1014 00:56:50,280 --> 00:56:55,870 HTTPはまた、暗号化されたHTTPSのために、より具体的には番号443を使用していますが、。 1015 00:56:55,870 --> 00:57:00,030 あなたは、sを見るたびに、安全のために、それは別の番号を使用している。 1016 00:57:00,030 --> 00:57:06,580 そうでなければ電子メールとも呼ばれ、SMTPと呼ばれる何かのために使用されている25のような他の数字は、、、あります。 1017 00:57:06,580 --> 00:57:09,620 SSHのために22と呼ばれるものは、あります 1018 00:57:09,620 --> 00:57:11,850 し、他のポートの全体の束がそこそこだ。 1019 00:57:11,850 --> 00:57:14,460 今、私たち人間はめったにこれらの数字を見ない。 1020 00:57:14,460 --> 00:57:21,970 ただし、http://www.facebook.comようなアドレスを入力するときに、 1021 00:57:21,970 --> 00:57:26,560 HTTPを使用しているので、ブラウザは密かに、80を挿入しています。 1022 00:57:26,560 --> 00:57:30,630 あなた場合は、代わりに、タイプHTTPSは、それが密かに443を挿入している。 1023 00:57:30,630 --> 00:57:35,180 私はブラウワーをプルアップした場合、我々はこの種の手動でこれを見ることができます 1024 00:57:35,180 --> 00:57:41,850 とhttp://www.facebook.com:80に行く。 1025 00:57:41,850 --> 00:57:44,550 したがって、明示的にWebサイトの名前だけではない理由 1026 00:57:44,550 --> 00:57:47,650 しかし私が話をしたいポート、そしてエンターキーを押します。 1027 00:57:47,650 --> 00:57:50,170 ブラウザが想定しているので、それが消え、気付く 1028 00:57:50,170 --> 00:57:53,360 ああ、80、私もあなたにそのを示す気にするつもりはない。 1029 00:57:53,360 --> 00:57:56,400 しかし、この理由は、私が実際に誰かがメールを送信したい場合、つまり、 1030 00:57:56,400 --> 00:58:02,340 私は本当に、SMTPであることを、ポート25上で彼らにそれを送るでしょう。 1031 00:58:02,340 --> 00:58:04,890 単純化し過ぎのビットですが、あなた方のうちの何人かは友人がいる 1032 00:58:04,890 --> 00:58:09,290 誰が実際にフェイスブックで働き、彼らは、同様に、電子メールを受信するサーバーを持っています。 1033 00:58:09,290 --> 00:58:12,610 >> あなたがメールを送信するたびに、Gmailがあなたのために何をやっている 1034 00:58:12,610 --> 00:58:14,960 またはOutlookまたはあなたが使用するプログラム、 1035 00:58:14,960 --> 00:58:19,270 それは密かに、その場合には、だけでなく、25という数字を挿入するようなものだ。 1036 00:58:19,270 --> 00:58:24,490 それはIPアドレスと一意に識別する番号の組み合わせだ 1037 00:58:24,490 --> 00:58:29,190 インターネット上のコンピュータとそのコンピュータ上の特定のサービスを提供しています。 1038 00:58:29,190 --> 00:58:33,460 今、もちろん、私たちのほとんどは、おそらくIPアドレスを手動で入力したことがありません。 1039 00:58:33,460 --> 00:58:37,340 たぶん、あなたはあまりないので、アプライアンスで、しかし現実の世界で持っている。 1040 00:58:37,340 --> 00:58:42,750 なぜ我々は、ブラウザにIPアドレスを入力しませんか? 1041 00:58:42,750 --> 00:58:45,860 それは動作しますが、実際には、我々はこれを見ることができるだろう。私がお見せしましょう 1042 00:58:45,860 --> 00:58:50,000 MacまたはPCで、ハーバード大学のキャンパス内で最もどこでも動作するはずですもう一つのコマンド。 1043 00:58:50,000 --> 00:58:53,970 nslookupコマンドは、ネームサーバのルックアップと呼ばれるこのコマンドがあります。 1044 00:58:53,970 --> 00:58:59,960 ああ、面白い - 私はwww.cnn.com見上げると、それはCNNが持っていることが判明した。 1045 00:58:59,960 --> 00:59:03,180 CNNはAmazonウェブサービスを使用して開始しました。 1046 00:59:03,180 --> 00:59:06,380 あなたはクラウドコンピューティング、クラウドコンピューティングのビッグプレーヤーAmazonのいずれかの知っているかもしれません。 1047 00:59:06,380 --> 00:59:10,240 私だけだったのですか、私は言った、 "私にCNNのWebサーバーのアドレスを進呈 1048 00:59:10,240 --> 00:59:14,090 それは、CNNのWebサーバーがAmazonによって管理されていることが判明 1049 00:59:14,090 --> 00:59:16,030 Amazon Web Servicesは、これが示唆している。 1050 00:59:16,030 --> 00:59:19,680 と、そのサーバのアドレスは、こここれです。 1051 00:59:19,680 --> 00:59:22,350 彼らはアマゾンを使用するために使用しなかったので、だから私は、これがうまくいくかどうかわからない。 1052 00:59:22,350 --> 00:59:32,830 入力は、http://、IPアドレス、および - ;しかし、ここではこれを試してみましょう 1053 00:59:32,830 --> 00:59:35,690 それが仕事に行くのですか? 1054 00:59:35,690 --> 00:59:39,280 はい。それが仕事に行くのです。インターネットは超遅い今日です。 1055 00:59:39,280 --> 00:59:43,680 しかし、一瞬にして、あなたには、いくつかのニュース記事を見ることができます。 1056 00:59:43,680 --> 00:59:48,360 そうしよう。アメリカの銀行は、訴えられている。かしこまりました。 1057 00:59:48,360 --> 00:59:54,000 >> このIPアドレスは単なるwww.cnn.comと同義であることを起こるためです。 1058 00:59:54,000 --> 00:59:59,920 もちろん、それは、言う50.112.94.127で、Web上で私たちを訪問する恐ろしいマーケティングでしょう。 1059 00:59:59,920 --> 01:00:02,370 あなたは覚えていないと思います。そうであっても、これらの日あなたは、物事を思い出すかもしれない 1060 01:00:02,370 --> 01:00:07,210 1-800-COLLECTまたはニーモニックのような世界では、電話番号のを思い付いた。 1061 01:00:07,210 --> 01:00:09,540 携帯電話の前ではなく、覚えにくいそのうち、 1062 01:00:09,540 --> 01:00:11,800 あなたはそれを入力すれば、忘れることができるまで。 1063 01:00:11,800 --> 01:00:15,730 だからWebは、あまりにも、名前とIPアドレスのこの規約を持っています 1064 01:00:15,730 --> 01:00:17,770 DNSサーバがアウトと呼ばれるこれらのものがあります、 1065 01:00:17,770 --> 01:00:23,870 ドメインネームシステムサーバ名に、またはその逆にIPアドレスを変換する。 1066 01:00:23,870 --> 01:00:26,340 だからそれはフードの下で何が起こっているのです。 1067 01:00:26,340 --> 01:00:29,540 最後に、我々はこの非常に低レベルのプロトコルであるTCP / IPを持っている 1068 01:00:29,540 --> 01:00:32,570 つまり、実際には、ちょうど、0と1のインターネットの向こう側を取得 1069 01:00:32,570 --> 01:00:36,030 そして、それは仮想封筒にそれらを置くことによって、そうします、 1070 01:00:36,030 --> 01:00:38,820 可能ならば、エンベロープの外側に書き込み 1071 01:00:38,820 --> 01:00:43,930 宛先のIPアドレスと同様に、数値のポート番号 1072 01:00:43,930 --> 01:00:47,520 それが話をしたいと、その宛先上のサービスの。 1073 01:00:47,520 --> 01:00:51,060 一方、封筒にリターンアドレスとして知られているものもあり、 1074 01:00:51,060 --> 01:00:55,600 、あなたのIPアドレスはどちらになるように、CNNはあなたからの情報のパケットを取得したときに、 1075 01:00:55,600 --> 01:00:58,710 、この仮想封筒を開き、あなたはホームページを見たい 1076 01:00:58,710 --> 01:01:04,630 それは背中にHTMLを送信するには、この仮想エンベロープの送信者の部分から知っている。 1077 01:01:04,630 --> 01:01:07,470 それでは、もう少し詳細にこのを見てみましょう。 1078 01:01:07,470 --> 01:01:11,370 数年前からこのことは、エリクソンという会社からです。 1079 01:01:11,370 --> 01:01:14,780 そして、彼らは、インターネットは実際にどのように動作するかをいくつかの自由を取った 1080 01:01:14,780 --> 01:01:18,920 しかし、それはここで単なるチョークアップするよりもはるかに多くの視覚映像を塗る。 1081 01:01:18,920 --> 01:01:26,690 だから私は、 "インターネットのビットを"あなたを与える 1082 01:02:26,660 --> 01:02:29,840 >> 史上初めて、[ナレータ] 1083 01:02:29,840 --> 01:02:35,260 人と機械は夢を​​実現し、一緒に働いている。 1084 01:02:35,260 --> 01:02:38,910 地理的な境界を知らない団結力。 1085 01:02:38,910 --> 01:02:43,230 人種、信条、または色を気にせずに。 1086 01:02:43,230 --> 01:02:47,770 コミュニケーションは本当に人々を結び付ける新たな時代。 1087 01:02:47,770 --> 01:02:50,070 これは 1088 01:02:50,070 --> 01:02:54,980 ネットの夜明け。 1089 01:02:54,980 --> 01:03:04,640 それがどのように動作するかを知りたいですか?ネットにあなたの旅を開始するにはここをクリックしてください。 1090 01:03:04,640 --> 01:03:07,890 あなたがそのリンクをクリックしたとき、今、正確に何が起こったのか? 1091 01:03:07,890 --> 01:03:10,150 あなたは、情報の流れを開始しました。 1092 01:03:10,150 --> 01:03:13,310 この情報は、あなた自身の個人的なメールルームにダウン移動 1093 01:03:13,310 --> 01:03:18,500 どこミスターIPパッケージには、それをラベル付けし、その途中で送信します。 1094 01:03:18,500 --> 01:03:20,960 各パケットは、そのサイズが限られています。 1095 01:03:20,960 --> 01:03:23,880 メールルームでは、情報を分割する方法を決定する必要があります 1096 01:03:23,880 --> 01:03:26,070 そしてそれをパッケージ化する方法について説明します。 1097 01:03:26,070 --> 01:03:29,550 さて、パッケージには重要な情報を含むラベルを必要と 1098 01:03:29,550 --> 01:03:35,570 送信者のアドレス、受信者のアドレス、それはパケットの種類など。 1099 01:03:51,700 --> 01:03:54,980 この特定のパケットがインターネット上に外出されているので、 1100 01:03:54,980 --> 01:03:57,720 それはまた、プロキシサーバーのアドレスを取得 1101 01:03:57,720 --> 01:04:01,520 我々は後で見るようにこれは、特殊な機能を持っています。 1102 01:04:01,520 --> 01:04:06,650 パケットはこれで、ローカルエリアネットワーク、またはLANに起動されます。 1103 01:04:06,650 --> 01:04:10,160 このネットワークは、すべてのローカルコンピュータを接続するために使用されている ' 1104 01:04:10,160 --> 01:04:15,900 建物の物理的な壁内の情報交換のためのルータ、プリンタ、エトセトラ。 1105 01:04:15,900 --> 01:04:20,290 LANは、残念ながら、かなり制御されていない場所であり、 1106 01:04:20,290 --> 01:04:23,950 事故が起こる可能性があります。 1107 01:04:31,190 --> 01:04:34,710 LANの高速道路はすべての種類の情報が満載されています。 1108 01:04:34,710 --> 01:04:38,900 これらは、IPパケット、Novellパケットは、AppleTalkパケットです。 1109 01:04:38,900 --> 01:04:41,270 彼らはいつものように、トラフィックに逆行している。 1110 01:04:41,270 --> 01:04:44,260 ローカルルータは、必要に応じてアドレスを読み取り、 1111 01:04:44,260 --> 01:04:48,520 別のネットワークにパケットを持ち上げる。 1112 01:04:48,520 --> 01:04:54,270 ああ、ルータ。一見無秩序な世界でのコントロールのシンボル。 1113 01:04:54,270 --> 01:05:05,480 [ルータは自分自身にぶつぶつと話し] 1114 01:05:05,480 --> 01:05:10,030 >> [ナレータ]そこに彼は、思いやりのない、整然とした、体系的である 1115 01:05:10,030 --> 01:05:14,150 保守的な、そして時にはなく、かなりスピードアップする。 1116 01:05:14,150 --> 01:05:17,680 しかし、少なくとも彼は、ほとんどの部分は、正確です。 1117 01:05:32,270 --> 01:05:36,820 パケットがルータを残すように、彼らは企業のインターネットへの道を作る 1118 01:05:36,820 --> 01:05:40,830 ルータスイッチ用と頭。 1119 01:05:40,830 --> 01:05:46,250 ルータよりも効率的にビットが、ルータ·スイッチは、高速で、IPパケットと緩やか果たす 1120 01:05:46,250 --> 01:05:48,920 巧みに自分の道に沿ってそれらをルーティング。 1121 01:05:48,920 --> 01:05:52,130 デジタル "ピンボールの魔術師、"可能ならば。 1122 01:05:52,130 --> 01:06:04,270 [自分自身に話しルータースイッチ] 1123 01:06:09,830 --> 01:06:12,150 パケットが宛先に到着するように、[ナレータ] 1124 01:06:12,150 --> 01:06:14,740 それらは、ネットワーク·インターフェースによってピックアップしています 1125 01:06:14,740 --> 01:06:18,040 次のレベルに送信する準備ができました。 1126 01:06:18,040 --> 01:06:21,010 この場合、プロキシ。 1127 01:06:21,010 --> 01:06:25,040 プロキシは中央の男性のようなものとして、多くの企業で使用されている 1128 01:06:25,040 --> 01:06:27,630 インターネット接続の負荷を軽減するために、 1129 01:06:27,630 --> 01:06:32,240 と、セキュリティ上の理由だけでなく、。 1130 01:06:32,240 --> 01:06:38,750 あなたが見ることができるように、パケットは、その内容に応じて様々な大きさのすべてである。 1131 01:06:55,210 --> 01:07:01,890 プロキシはパケットを開き、WebアドレスやURLを検索します。 1132 01:07:01,890 --> 01:07:04,950 アドレスが許容できるかどうかに応じて、 1133 01:07:04,950 --> 01:07:08,000 パケットがインターネットに送信されます。 1134 01:07:13,890 --> 01:07:19,630 プロキシの承認を得て、満たしていないいくつかのアドレスは、しかし、があります。 1135 01:07:19,630 --> 01:07:25,680 つまり、企業や管理のガイドラインを言うことです。 1136 01:07:25,680 --> 01:07:30,580 これらは、即決を取り扱っております。 1137 01:07:30,580 --> 01:07:32,410 我々はそのどれもありませんよ。 1138 01:07:32,410 --> 01:07:36,350 それを作る人のために、それは再び道路上です。 1139 01:07:46,850 --> 01:07:53,310 >> 次は、ファイアウォール。 1140 01:07:53,310 --> 01:07:57,410 企業のファイアウォールは2つの目的があります。 1141 01:07:57,410 --> 01:08:02,420 それは、イントラネットに来てから、インターネットからいくつかのかなり嫌なことを防ぐことができ 1142 01:08:02,420 --> 01:08:10,280 そしてそれはまた、インターネット上から発信され、企業の機密情報を防ぐことができます。 1143 01:08:10,280 --> 01:08:12,980 一度ファイアウォールを経由し、ルータはパケットをピックアップ 1144 01:08:12,980 --> 01:08:18,180 我々が言うようにと、はるかに狭い道路、または帯域幅の上に置きます。 1145 01:08:18,180 --> 01:08:23,720 明らかに、道路はそれらすべてを取るのに十分広くない。 1146 01:08:23,720 --> 01:08:29,319 さて、あなたは、道に沿ってそれを作るていないすべてのそれらのパケットに何が起こるのか不思議に思うかもしれません。 1147 01:08:29,319 --> 01:08:32,270 さて、氏のIPは確認応答を受信しない場合 1148 01:08:32,270 --> 01:08:35,000 パケットは、期​​限内に受信されたこと 1149 01:08:35,000 --> 01:08:39,890 彼は単に交換パケットを送信します。 1150 01:08:39,890 --> 01:08:44,760 我々は今、インターネットの世界を入力する準備が整いました。 1151 01:08:44,760 --> 01:08:49,370 私たちの地球全体にまたがる相互接続されたネットワークのクモの巣。 1152 01:08:49,370 --> 01:08:56,050 ここでは、ルータとスイッチは、ネットワーク間のリンクを確​​立します。 1153 01:08:56,050 --> 01:08:59,200 今や、ネットはあなたが見つけるとはまったく異なる環境です 1154 01:08:59,200 --> 01:09:01,569 あなたのLANの保護壁内。 1155 01:09:01,569 --> 01:09:04,060 ここに、それは野生の西です。 1156 01:09:04,060 --> 01:09:06,359 十分なスペース、機会をたくさん、 1157 01:09:06,359 --> 01:09:09,760 探索することや行く場所がたくさん。 1158 01:09:09,760 --> 01:09:12,760 ほとんど制御と規制のおかげで、 1159 01:09:12,760 --> 01:09:18,300 新しいアイデアは、彼らの可能性の限界に挑戦するために肥沃な土壌を見つける。 1160 01:09:18,300 --> 01:09:22,330 しかし、このために自由を、一定の危険も潜んでいる。 1161 01:09:22,330 --> 01:09:27,000 あなたは死の恐怖のpingを満たすでしょうときにあなたが知っていることは決してないだろう、 1162 01:09:27,000 --> 01:09:29,890 通常のリクエストのpingの特別バージョン、 1163 01:09:29,890 --> 01:09:35,720 そのいくつかの馬鹿は疑うことを知らないホストを台無しに思いついた。 1164 01:09:35,720 --> 01:09:39,130 私たちのパケットがたどるパスは、衛星を介してもよい 1165 01:09:39,130 --> 01:09:43,090 電話回線、無線、あるいは大洋横断ケーブル。 1166 01:09:43,090 --> 01:09:46,520 彼らは常に、最速または最短ルートが可能になりません 1167 01:09:46,520 --> 01:09:50,290 しかし、彼らは最終的にそこに着くでしょう。 1168 01:09:50,290 --> 01:09:55,230 それが時々呼ばれる理由たぶんそれはだ "ワールドワイドを待ちます。" 1169 01:09:55,230 --> 01:09:57,980 しかし、すべてが順調に動作しているときに、 1170 01:09:57,980 --> 01:10:03,800 あなたは文字通り、帽子のドロップで5回以上地球を回避することができます。 1171 01:10:03,800 --> 01:10:08,230 そして、すべてのローカル呼び出し以下の費用のため。 1172 01:10:08,230 --> 01:10:15,070 私たちの目的地の終わり近くに、私たちは別のファイアウォールを見つけることができます。 1173 01:10:15,070 --> 01:10:18,420 >> 、データパケットとしてあなたの視点に応じて 1174 01:10:18,420 --> 01:10:23,730 ファイアウォールは、セキュリティや恐ろしい敵の砦である可能性があります。 1175 01:10:23,730 --> 01:10:28,530 それはすべてあなたが使っていて、自分の意図が何であるかどちら側に依存します。 1176 01:10:28,530 --> 01:10:34,990 ファイアウォールは、その基準を満たすパケットだけが入れるように設計されています。 1177 01:10:34,990 --> 01:10:39,360 このファイアウォールは、ポート80とポート25で動作しています。 1178 01:10:39,360 --> 01:10:46,630 他のポートを介して入力するすべての試みは、ビジネスのため閉鎖されています。 1179 01:10:57,660 --> 01:11:03,480 ポート25のメールパケットに使用される、 1180 01:11:03,480 --> 01:11:10,720 一方、ポート80は、インターネットからWebサーバへのパケットのための入り口です。 1181 01:11:10,720 --> 01:11:15,080 ファイアウォールの内側に、パケットはより徹底的にスクリーニングされる。 1182 01:11:15,080 --> 01:11:17,970 パケットによっては、税関を通る簡単に作る 1183 01:11:17,970 --> 01:11:21,420 他の人が少し怪しげな見ながら。 1184 01:11:21,420 --> 01:11:24,060 さて、ファイアウォールの役員は簡単にだまされていない、 1185 01:11:24,060 --> 01:11:32,120 このような死パケットのpingが正常なpingパケットとして自身を偽装しようとしたときのように。 1186 01:11:32,120 --> 01:11:37,520 [パケットに話しファイアウォール役員] 1187 01:11:37,520 --> 01:11:40,510 [ナレータ]これまでのところ、それを作るには十分に幸運それらのパケットに関しては、 1188 01:11:40,510 --> 01:11:45,730 旅はもうすぐ終わりだ。 1189 01:11:45,730 --> 01:11:52,130 それだけで、Webサーバに取り込まれるインターフェイスのラインアップです。 1190 01:11:52,130 --> 01:11:55,440 今日では、Webサーバは、多くのことで実行することができます 1191 01:11:55,440 --> 01:11:59,230 メインフレームからWebカムにあなたの机の上のコンピュータに接続します。 1192 01:11:59,230 --> 01:12:01,720 なぜあなたの冷蔵庫? 1193 01:12:01,720 --> 01:12:04,870 あなたは素質があれば適切にセットアップされて、あなたは見つけることができます 1194 01:12:04,870 --> 01:12:08,390 チキンカッチため、またはあなたが買い物に行かなければならない場合。 1195 01:12:08,390 --> 01:12:11,760 覚えておいて、これはネットの夜明けです。 1196 01:12:11,760 --> 01:12:17,310 ほとんど何でも可能です。 1197 01:12:17,310 --> 01:12:20,440 一つ一つは、パケットが受信され、 1198 01:12:20,440 --> 01:12:26,320 開かれ、アンパックされます。 1199 01:12:26,320 --> 01:12:31,200 それに含まれる情報、すなわち、情報のためのあなたの要求、 1200 01:12:31,200 --> 01:12:34,830 Webサーバー·アプリケーションに送信されます。 1201 01:12:41,540 --> 01:12:47,140 パケット自体がリサイクルされ、 1202 01:12:47,140 --> 01:12:57,570 、再び使用する準備ができて、あなたの要求された情報でいっぱい 1203 01:12:57,570 --> 01:13:03,340 対処し、あなたに戻って、その途中で送った。 1204 01:13:03,340 --> 01:13:13,250 戻る過去のファイアウォール、ルータ、インターネットに至るまでに。 1205 01:13:13,250 --> 01:13:21,020 戻ってあなたの会社のファイアウォールを介して 1206 01:13:21,020 --> 01:13:24,180 と、インターフェイス上に、 1207 01:13:24,180 --> 01:13:31,180 あなたが要求した情報を使用して、Webブラウザを提供する準備が整いました。 1208 01:13:31,180 --> 01:13:39,840 つまり、この映画である。 1209 01:13:39,840 --> 01:13:43,550 彼らの努力に満足して、よりよい世界を信頼して、 1210 01:13:43,550 --> 01:13:50,250 私たちの信頼できるデータパケットが、別の日の日没に穏やかにオフに乗る 1211 01:13:50,250 --> 01:13:56,880 彼らはよく、彼らの主人に仕えてきた完全に知っている。 1212 01:13:56,880 --> 01:14:02,560 さて、そのハッピーエンドではないですか? 1213 01:14:02,560 --> 01:14:07,040 [マラン]よし、十分だ。我々は、来週お会いしましょう​​。 1214 01:14:07,040 --> 01:14:10,040 [CS50.TV]