1 00:00:00,000 --> 00:00:00,160 2 00:00:00,160 --> 00:00:02,660 >> SPEAKER 1: Baiklah, mari kita melihat bagaimana solusi staf benar-benar 3 00:00:02,660 --> 00:00:04,760 beroperasi, sehingga Anda mendapatkan arti, pertama off 4 00:00:04,760 --> 00:00:06,930 bagaimana web server seharusnya untuk menjalankan, dan bagaimana Anda benar-benar bisa 5 00:00:06,930 --> 00:00:08,480 mendapatkannya berjalan pada komputer Anda sendiri. 6 00:00:08,480 --> 00:00:09,350 Jadi gambar di sini. 7 00:00:09,350 --> 00:00:13,640 Aku sudah terpasang di CS50 ID pset6 dot zip, per spesifikasi. 8 00:00:13,640 --> 00:00:16,197 Aku sudah membuka ritsleting itu, dan aku CDed ke direktori pset6 saya. 9 00:00:16,197 --> 00:00:18,780 Salah satu hal pertama Anda akan ingin lakukan, terutama 10 00:00:18,780 --> 00:00:22,010 jika Anda telah menggunakan IDE CS50 untuk bermain bersama dengan kuliah baru-baru ini, dimana 11 00:00:22,010 --> 00:00:25,640 kami telah menggunakan PHP di CS50 IDE, khususnya, 12 00:00:25,640 --> 00:00:29,050 menggunakan server web yang disebut Apache, dimana Anda dapat memulai dan menghentikannya 13 00:00:29,050 --> 00:00:30,910 dengan perintah itu, Apache 50. 14 00:00:30,910 --> 00:00:34,160 Pertama, pergi ke depan dan ketik "Apache 50 berhenti" 15 00:00:34,160 --> 00:00:37,370 hanya untuk memastikan bahwa jika Anda berikut bersama dalam beberapa hari terakhir, 16 00:00:37,370 --> 00:00:40,090 dan Anda menyalakan Apache, Anda mematikan dengan cara ini 17 00:00:40,090 --> 00:00:41,360 dengan menghentikan server. 18 00:00:41,360 --> 00:00:44,110 Sekarang, apa yang akan saya lakukan adalah tepat apa spec memberitahu saya untuk melakukan. 19 00:00:44,110 --> 00:00:49,770 Aku akan pergi ke Tilda CS50 slash Server slash pset6, dan hanya tekan Enter. 20 00:00:49,770 --> 00:00:52,840 Anda akan melihat bahwa aku berteriak dengan beberapa informasi penggunaan, dimana 21 00:00:52,840 --> 00:00:54,960 Aku harus berjalan program sebagai server 22 00:00:54,960 --> 00:00:58,230 dengan dasbor p opsional dan kemudian nomor port, yang sebenarnya Anda bisa 23 00:00:58,230 --> 00:01:00,720 biarkan kosong karena dengan default, per spec, 24 00:01:00,720 --> 00:01:04,010 server web akan berasumsi bahwa Anda ingin port 8080. 25 00:01:04,010 --> 00:01:07,560 Sementara itu, Anda mungkin ingat bahwa port 8080 tidak benar-benar standar, 26 00:01:07,560 --> 00:01:09,380 bukan port 80 adalah jumlah kami sudah bicara 27 00:01:09,380 --> 00:01:11,440 tentang menjadi default untuk HTTP. 28 00:01:11,440 --> 00:01:14,870 Nah, ternyata CS50 IDE hanya dikonfigurasi dengan cara, 29 00:01:14,870 --> 00:01:18,730 sehingga ketika Anda dengan browser mencoba untuk mengunjungi port 80 dari dunia luar, 30 00:01:18,730 --> 00:01:22,210 itu akan mengurutkan dari ajaib port forward, atau mengarahkan sendiri, 31 00:01:22,210 --> 00:01:25,200 ke port 8080 di dalam server Anda sendiri. 32 00:01:25,200 --> 00:01:29,330 >> Jadi hal terakhir di sini adalah perintah Argumen baris, jalan untuk rute. 33 00:01:29,330 --> 00:01:31,590 Dan dengan itu saya hanya berarti, folder apa yang saya 34 00:01:31,590 --> 00:01:34,820 ingin memberitahu server digunakan untuk melayani sampai file? 35 00:01:34,820 --> 00:01:39,030 Dengan kata lain, jika pengguna mengunjungi slash, apa yang harus dia lihat? 36 00:01:39,030 --> 00:01:41,030 Nah, mari kita pergi ke depan dan menjalankan hal itu lagi, 37 00:01:41,030 --> 00:01:43,940 kali ini menetapkan bahwa saya ingin root server web saya 38 00:01:43,940 --> 00:01:48,210 menjadi direktori publik, yang datang dengan masalah mengatur enam kode distribusi. 39 00:01:48,210 --> 00:01:50,620 Ketika saya tekan Enter, Anda akan melihat kuning di sini, pengingat 40 00:01:50,620 --> 00:01:52,260 seperti apa folder saya benar-benar menggunakan. 41 00:01:52,260 --> 00:01:55,870 Dalam hal ini, itu adalah tali panjang, "rumah ubuntu kerja pset6 publik." 42 00:01:55,870 --> 00:01:57,500 Dan kata terakhir adalah apa kunci. 43 00:01:57,500 --> 00:02:01,180 Dan kemudian terakhir, tampaknya, saya Server yang sekarang mendengarkan pada port 8080. 44 00:02:01,180 --> 00:02:05,860 >> Yang saya berikutnya akan lakukan adalah mengingat bahwa di CS50 ID di sudut kanan atas 45 00:02:05,860 --> 00:02:09,440 layar Anda, Anda akan melihat URL yang ide50-username.cs50.io. 46 00:02:09,440 --> 00:02:12,860 47 00:02:12,860 --> 00:02:15,080 Dan memang, jika Anda klik itu, Anda akan dibawa pergi 48 00:02:15,080 --> 00:02:17,090 tab browser lain, bahwa, dalam kasus ini, 49 00:02:17,090 --> 00:02:20,830 akan menunjukkan isi saya akar server web. 50 00:02:20,830 --> 00:02:24,770 Dengan kata lain, file yang Anda lihat di sini, kucing dot HTML, kucing dot JPEG, favicon dot 51 00:02:24,770 --> 00:02:27,690 ico, halo dot HTML, halo dot php, dan tes, 52 00:02:27,690 --> 00:02:29,800 adalah semua sama isi yang akan Anda lihat 53 00:02:29,800 --> 00:02:32,560 dengan LS dalam direktori publik saya. 54 00:02:32,560 --> 00:02:36,790 Dan apa yang baik adalah bahwa jika saya pergi depan dan klik sekarang kucing dot HTML, 55 00:02:36,790 --> 00:02:38,710 Saya melihat kucing dot HTML. 56 00:02:38,710 --> 00:02:42,660 Dan jika saya klik pada kucing dot JPEG, atau halo dot HTML, 57 00:02:42,660 --> 00:02:46,650 atau bahkan ketik nama saya David, dan kemudian klik "menyapa," 58 00:02:46,650 --> 00:02:49,420 Anda akan melihat bahwa semua file bekerja karena staf 59 00:02:49,420 --> 00:02:52,820 solusi, tentu saja, diinstal di CS50 ID berfungsi penuh. 60 00:02:52,820 --> 00:02:57,090 Jadi bekerja sama persis seperti Anda sendiri solusi akhirnya harus bekerja. 61 00:02:57,090 --> 00:03:00,990 >> Sementara itu, jika kita kembali ke terminal saya jendela, di mana aku berlari perintah Server, 62 00:03:00,990 --> 00:03:03,410 melihat apa yang konsol telah mengatakan. 63 00:03:03,410 --> 00:03:07,890 Saya lihat di sini bahwa permintaan pertama yang Saya menerima itu benar-benar mendapatkan slash kucing 64 00:03:07,890 --> 00:03:10,260 dot HTML, HTTP versi 1.1. 65 00:03:10,260 --> 00:03:12,600 Dan kemudian, dalam warna hijau apa solusi staf telah melakukan 66 00:03:12,600 --> 00:03:14,580 adalah itu menunjukkan kepada saya baris pertama output 67 00:03:14,580 --> 00:03:16,340 bahwa server web merespons dengan. 68 00:03:16,340 --> 00:03:18,300 Dengan kata lain, kami telah sudah ditulis kode 69 00:03:18,300 --> 00:03:21,530 yang membuka amplop virtual, mengandung yang mendapatkan permintaan. 70 00:03:21,530 --> 00:03:23,980 Dan kemudian kita menanggapi pengguna tetapi, secara bersamaan, 71 00:03:23,980 --> 00:03:28,780 mencetak ke layar keluaran sini HTTP 1.1, 200 OK 72 00:03:28,780 --> 00:03:31,900 untuk mengkonfirmasi apa yang kita menempatkan di amplop kembali, sehingga untuk berbicara, 73 00:03:31,900 --> 00:03:33,540 bahwa kita mengirimkan kembali ke pengguna. 74 00:03:33,540 --> 00:03:36,200 >> Dan apa yang terjadi di sini adalah bahwa dalam jendela terminal, 75 00:03:36,200 --> 00:03:38,510 kita menjalankan web Server, dan, oleh karena itu, 76 00:03:38,510 --> 00:03:42,480 mendengarkan HTTP permintaan pada TCP port 8080. 77 00:03:42,480 --> 00:03:44,960 Sementara itu, di browser web saya, seperti yang saya klik melalui masing-masing 78 00:03:44,960 --> 00:03:48,480 dari file-file, atau bahkan masukan saya nama David, dan kemudian klik Submit, 79 00:03:48,480 --> 00:03:51,827 yang browser saya berbicara ke server web. 80 00:03:51,827 --> 00:03:54,410 Dan apa yang dilakukan web server, kemudian, di jendela terminal 81 00:03:54,410 --> 00:03:56,370 menunjukkan saya persis baris pertama itu 82 00:03:56,370 --> 00:03:58,540 telah diterima di virtual amplop dan tepat 83 00:03:58,540 --> 00:04:02,870 baris pertama yang menjadi menanggapi dengan itu klien web.