1 00:00:00,000 --> 00:00:05,950 2 00:00:05,950 --> 00:00:09,310 >> SPEAKER: Mari kita bicara tentang yang lain protocol-- Transfer Hypertext 3 00:00:09,310 --> 00:00:12,060 Protokol, atau HTTP. 4 00:00:12,060 --> 00:00:15,074 Jadi kita bicarakan IP dan TCP dalam video sebelumnya. 5 00:00:15,074 --> 00:00:17,240 Dan mereka adalah protokol yang menentukan bagaimana informasi 6 00:00:17,240 --> 00:00:20,970 bergerak dari mesin ke mesin dan dari program ke program atau layanan 7 00:00:20,970 --> 00:00:27,720 untuk layanan melalui internet, melalui jaringan ini router dan mesin. 8 00:00:27,720 --> 00:00:30,640 >> Tapi itu biasanya tidak seluruh gambar, bukan? 9 00:00:30,640 --> 00:00:33,530 Biasanya ketika kita mengirim informasi, program ini 10 00:00:33,530 --> 00:00:36,570 itself-- ketika data menerima, katakanlah, misalnya, 11 00:00:36,570 --> 00:00:44,270 di email melalui TCP port 25 atau web permintaan halaman melalui port 80, 12 00:00:44,270 --> 00:00:48,220 biasanya ada sistem aturan ada untuk memproses apa yang baru saja diterima. 13 00:00:48,220 --> 00:00:51,960 Dan HTTP adalah contoh hanya protokol tersebut. 14 00:00:51,960 --> 00:00:54,929 >> HTTP adalah satu-satunya aplikasi protokol lapisan 15 00:00:54,929 --> 00:00:56,220 bahwa kita akan berbicara tentang. 16 00:00:56,220 --> 00:00:59,660 Tapi itu adalah satu set aturan mendikte bagaimana 17 00:00:59,660 --> 00:01:02,790 informasi yang akan ditransmisikan dan diproses melalui internet. 18 00:01:02,790 --> 00:01:06,390 Secara khusus, HTTP menentukan dengan tepat bagaimana 19 00:01:06,390 --> 00:01:11,300 kita harus membuat permintaan halaman web dan persis bagaimana 20 00:01:11,300 --> 00:01:15,160 server, mesin yang host halaman web, 21 00:01:15,160 --> 00:01:17,840 memberikan informasi yang kembali ke klien. 22 00:01:17,840 --> 00:01:20,010 >> Jadi protokol ini tidak benar-benar memiliki apa-apa 23 00:01:20,010 --> 00:01:22,270 hubungannya dengan bagaimana informasi bergerak dari titik A 24 00:01:22,270 --> 00:01:26,090 ke titik B. Ini benar-benar sistem aturan 25 00:01:26,090 --> 00:01:29,700 for-- itu pada dasarnya aturan keterlibatan untuk bekerja dengan halaman web, 26 00:01:29,700 --> 00:01:31,960 mirip dengan ketika seseorang gelombang tangan mereka pada Anda, 27 00:01:31,960 --> 00:01:33,410 Anda seharusnya gelombang kembali. 28 00:01:33,410 --> 00:01:36,280 Itu semacam protokol manusia konvensional. 29 00:01:36,280 --> 00:01:39,610 Protokol HTTP hanya mengatakan, jika Anda ingin meminta web 30 00:01:39,610 --> 00:01:42,730 Halaman, pastikan format yang penampilan Anda seperti this-- semacam format seperti 31 00:01:42,730 --> 00:01:44,930 surat bisnis, misalnya. 32 00:01:44,930 --> 00:01:50,029 Dan respon akan sama datang sesuai dengan protokol ini. 33 00:01:50,029 --> 00:01:51,820 Ada yang lain protokol lapisan aplikasi 34 00:01:51,820 --> 00:01:53,380 bahwa kita tidak akan berbicara tentang dalam video. 35 00:01:53,380 --> 00:01:55,790 Tapi ini termasuk hal-hal seperti Protokol File Transfer, 36 00:01:55,790 --> 00:01:59,200 Simple Mail Transfer Protocol untuk mengirim email, Distribusi data 37 00:01:59,200 --> 00:02:02,100 Layanan, Remote Desktop Protokol, RDP, yang 38 00:02:02,100 --> 00:02:05,590 digunakan jika Anda ingin akses jarak jauh komputer Anda dari komputer lain, 39 00:02:05,590 --> 00:02:08,479 XMPP, yang sering dikenal sebagai Jabber atau chatting, 40 00:02:08,479 --> 00:02:11,160 jadi ini adalah protokol untuk menggunakan layanan chatting. 41 00:02:11,160 --> 00:02:13,310 Dan ada banyak, banyak, banyak orang lain. 42 00:02:13,310 --> 00:02:15,900 >> Jadi setiap kali Anda menggunakan layanan, layanan 43 00:02:15,900 --> 00:02:18,930 mengharapkan informasi untuk terima-- permintaan 44 00:02:18,930 --> 00:02:21,010 menjadi terima-- dalam format tertentu sangat 45 00:02:21,010 --> 00:02:24,070 dan diperlukan untuk Informasi kembali kembali 46 00:02:24,070 --> 00:02:27,190 dalam format yang sangat khusus juga. 47 00:02:27,190 --> 00:02:31,750 >> Jadi mari kita kembali ke ilustrasi kami kita ingin berbicara ke internet. 48 00:02:31,750 --> 00:02:34,810 Jadi kami senang, dan kami ingin untuk pergi ke cats.com, kan? 49 00:02:34,810 --> 00:02:38,550 Jadi jika kita hanya berbicara dengan cats.com, kita mungkin mengatakan sesuatu seperti hey, 50 00:02:38,550 --> 00:02:39,720 saya bisa melihat halaman rumah Anda? 51 00:02:39,720 --> 00:02:42,320 Dan cats.com mungkin akan merespon, ya, pasti. 52 00:02:42,320 --> 00:02:43,440 Di sini Anda pergi. 53 00:02:43,440 --> 00:02:46,440 Jadi itu semacam manusia dari meminta-jawab. 54 00:02:46,440 --> 00:02:47,980 >> Apa yang terlihat seperti di HTTP? 55 00:02:47,980 --> 00:02:51,340 Nah, itu benar-benar jenis diterjemahkan cukup bersih untuk sesuatu seperti ini. 56 00:02:51,340 --> 00:02:57,290 Kita bisa mengatakan GET / HTTP / 1.1 dari host cats.com. 57 00:02:57,290 --> 00:03:03,039 Jadi pada dasarnya apa yang saya lakukan di sini adalah meminta halaman web www.cats.com/. 58 00:03:03,039 --> 00:03:05,330 Kami biasanya menghilangkan garis miring saat ini, tapi itu akan hanya 59 00:03:05,330 --> 00:03:07,200 berarti homepage cats.com ini. 60 00:03:07,200 --> 00:03:11,910 >> Oh, dan omong-omong, aku akan menjadi menggunakan versi HTTP 61 00:03:11,910 --> 00:03:14,182 1.1 untuk berkomunikasi dengan Anda. 62 00:03:14,182 --> 00:03:16,390 Itu semacam analog dengan mengatakan, seperti, dengan cara, 63 00:03:16,390 --> 00:03:17,870 Aku akan berbicara dalam bahasa Prancis, atau dengan cara, 64 00:03:17,870 --> 00:03:19,370 Aku akan menjadi berbicara dalam bahasa Inggris. 65 00:03:19,370 --> 00:03:22,160 Itu hanya format protokol. 66 00:03:22,160 --> 00:03:25,050 Ini juga 1.0, yang merupakan tidak umum digunakan lagi. 67 00:03:25,050 --> 00:03:30,615 Jadi aku berbicara HTTP 1.1, dan Saya ingin www.cats.com/. 68 00:03:30,615 --> 00:03:31,710 Silakan itu untuk saya. 69 00:03:31,710 --> 00:03:34,610 >> Dan kemudian ada informasi lainnya, too-- dot, dot, dot sana, 70 00:03:34,610 --> 00:03:38,234 yang informasi tentang yang Anda begitu cats.com 71 00:03:38,234 --> 00:03:39,400 akan tahu di mana untuk mengirimkannya. 72 00:03:39,400 --> 00:03:41,480 Tapi ini adalah dua semacam bagian penting 73 00:03:41,480 --> 00:03:44,000 pada awal HTTP request-- 74 00:03:44,000 --> 00:03:46,770 seperti ketika Anda memulai surat yang Anda katakan, sayang, kosong. 75 00:03:46,770 --> 00:03:49,710 Hal ini sangat mirip dalam semangat untuk itu. 76 00:03:49,710 --> 00:03:52,370 >> Dan jika cats.com akan mengatakan, oh, yakin, di sini Anda pergi. 77 00:03:52,370 --> 00:03:55,590 Mereka mungkin menanggapi seperti this-- Saya juga menanggapi. 78 00:03:55,590 --> 00:03:57,960 Saya juga berbicara HTTP 1.1. 79 00:03:57,960 --> 00:04:01,720 Permintaan Anda disetujui, 200 OK. 80 00:04:01,720 --> 00:04:04,709 Apa yang akan Anda untuk terima HTML dan kemudian 81 00:04:04,709 --> 00:04:06,250 dot, dot, dot beberapa informasi tambahan. 82 00:04:06,250 --> 00:04:10,620 Dan di bagian paling bawah dari permintaan sebenarnya HTML, 83 00:04:10,620 --> 00:04:16,339 bahasa markup, yang isi homepage cats.com ini. 84 00:04:16,339 --> 00:04:21,227 >> Jadi HTTP / 1.1-- Saya mengakui Anda permintaan diterima melalui HTTP 1.1. 85 00:04:21,227 --> 00:04:22,310 Permintaan Anda disetujui. 86 00:04:22,310 --> 00:04:25,810 Saya dapat memberikan apa yang Anda inginkan, 200 OK. 87 00:04:25,810 --> 00:04:27,440 Anda akan menerima HTML. 88 00:04:27,440 --> 00:04:30,450 Dan kemudian inilah HTML yang Anda minta. 89 00:04:30,450 --> 00:04:33,930 >> Tapi kadang-kadang permintaan kami tidak selalu pergi cukup sesuai rencana. 90 00:04:33,930 --> 00:04:37,100 Dapatkah saya melihat halaman cats.html Anda? 91 00:04:37,100 --> 00:04:40,366 Nah, bagaimana jika mereka mengatakan, kami tidak memiliki halaman cats.html, 92 00:04:40,366 --> 00:04:42,740 yang tampaknya jenis realistis karena mereka cats.com. 93 00:04:42,740 --> 00:04:44,400 Anda akan berpikir mereka akan memiliki cats.html. 94 00:04:44,400 --> 00:04:45,420 Tapi OK. 95 00:04:45,420 --> 00:04:48,484 Jadi ini adalah semacam interaksi manusia konvensional 96 00:04:48,484 --> 00:04:49,650 kami sekarang telah dengan cats.com. 97 00:04:49,650 --> 00:04:51,060 Bagaimana yang menerjemahkan? 98 00:04:51,060 --> 00:04:52,726 >> Ini mungkin sesuatu yang akrab bagi Anda. 99 00:04:52,726 --> 00:04:55,690 Permintaan kami tampak persis sama, kecuali bukannya slash 100 00:04:55,690 --> 00:04:58,110 kita sekarang mendapatkan cats.html. 101 00:04:58,110 --> 00:05:01,810 Jadi sekarang apa yang pada dasarnya seluruh ini permintaan mengatakan ini tolong beri saya 102 00:05:01,810 --> 00:05:05,620 www.cats.com/cats.html. 103 00:05:05,620 --> 00:05:08,700 Jadi tuan rumah dan tengah bagian dari garis atas 104 00:05:08,700 --> 00:05:14,632 ada menunjukkan tepat apa halaman saya meminta. 105 00:05:14,632 --> 00:05:17,590 Tapi cats.com dalam kasus ini tidak akan untuk dapat merespon positif. 106 00:05:17,590 --> 00:05:19,089 Mereka tidak tahu kita bicarakan. 107 00:05:19,089 --> 00:05:25,170 Dan jadi ini adalah sesuatu yang Anda mungkin memiliki melihat HTTP before-- 1.1 404 Tidak Ditemukan. 108 00:05:25,170 --> 00:05:27,180 Saya tidak bisa menemukan apa yang Anda minta. 109 00:05:27,180 --> 00:05:30,460 By the way, aku akan memberikan kembali beberapa HTML, dan biasanya yang HTML 110 00:05:30,460 --> 00:05:32,351 adalah isi dari beberapa halaman 404. 111 00:05:32,351 --> 00:05:34,100 Dan dalam kasus cats.com, itu mungkin 112 00:05:34,100 --> 00:05:37,720 beberapa kucing lucu dalam keranjang dengan 404 wajah sedih di samping mereka, 113 00:05:37,720 --> 00:05:40,920 karena Anda akan menjadi sedih ketika Anda tidak mendapatkan halaman 114 00:05:40,920 --> 00:05:43,040 yang Anda cari. 115 00:05:43,040 --> 00:05:48,520 >> Itu semacam dasar-dasar apa protokol, permintaan protokol HTTP 116 00:05:48,520 --> 00:05:49,180 terlihat seperti. 117 00:05:49,180 --> 00:05:52,640 Mereka benar-benar mirip dengan bagaimana kita akan membuat interaksi yang sama 118 00:05:52,640 --> 00:05:55,460 dalam konvensi hanya manusia meminta sesuatu 119 00:05:55,460 --> 00:05:58,250 dan mendapatkan kembali atau menulis surat dan mengharapkan respon 120 00:05:58,250 --> 00:06:00,380 surat dalam format tertentu. 121 00:06:00,380 --> 00:06:03,910 Itu cukup banyak apa yang HTTP hanya canonicalizing 122 00:06:03,910 --> 00:06:10,190 untuk semua perangkat yang ingin akses halaman web, transfer hypertext. 123 00:06:10,190 --> 00:06:15,110 >> Jadi garis bentuk, ini Metode versi permintaan sasaran HTTP, 124 00:06:15,110 --> 00:06:17,100 disebut garis permintaan HTTP. 125 00:06:17,100 --> 00:06:23,740 Ini biasanya hal pertama yang ditransmisikan sebagai bagian dari permintaan HTTP 126 00:06:23,740 --> 00:06:26,180 atau jika Anda meminta HTTP. 127 00:06:26,180 --> 00:06:29,970 Ini semacam seperti, seperti yang saya katakan, mengatakan Sayang, kosong di bagian atas surat Anda. 128 00:06:29,970 --> 00:06:32,880 Mereka tahu bahwa Anda menulis surat untuk mereka. 129 00:06:32,880 --> 00:06:34,796 Jadi ini sangat mirip dengan mengatakan, saya tahu 130 00:06:34,796 --> 00:06:37,670 bahwa mereka membuat permintaan HTTP dan ini adalah format tertentu 131 00:06:37,670 --> 00:06:39,090 mereka minta. 132 00:06:39,090 --> 00:06:43,810 >> Versi HTTP mungkin selalu akan menjadi HTTP / 1/1. 133 00:06:43,810 --> 00:06:46,670 1.0 juga ada tapi tidak benar-benar digunakan lagi. 134 00:06:46,670 --> 00:06:49,200 Untuk tujuan CS50, GET mungkin selalu 135 00:06:49,200 --> 00:06:51,540 apa yang akan menjadi menggunakan ketika Anda benar-benar 136 00:06:51,540 --> 00:06:54,250 membuat permintaan HTTP langsung. 137 00:06:54,250 --> 00:06:57,720 Tapi POST adalah pilihan lain yang kita tidak akan berbicara tentang sekarang. 138 00:06:57,720 --> 00:07:02,980 Dan kemudian permintaan-target apa halaman pada server host 139 00:07:02,980 --> 00:07:05,812 Anda ingin mendapatkan. 140 00:07:05,812 --> 00:07:08,020 Seperti yang saya katakan, bahwa nama host adalah garis yang terpisah, biasanya 141 00:07:08,020 --> 00:07:10,350 baris kedua dari permintaan secara keseluruhan. 142 00:07:10,350 --> 00:07:13,660 Dan begitu diambil bersama-sama, tuan rumah nama dan target permintaan 143 00:07:13,660 --> 00:07:16,070 menentukan spesifik sumber daya yang dicari. 144 00:07:16,070 --> 00:07:20,986 Dalam contoh kita 404 detik yang lalu, saya meminta lagi untuk www.cats.com, 145 00:07:20,986 --> 00:07:22,940 cats.com menjadi tuan rumah. 146 00:07:22,940 --> 00:07:26,300 Dan sejalan permintaan saya, Saya mengatakan /cats.html. 147 00:07:26,300 --> 00:07:27,790 Itu target permintaan saya. 148 00:07:27,790 --> 00:07:31,200 Jadi secara keseluruhan saya meminta untuk isi atau sumber daya terletak 149 00:07:31,200 --> 00:07:36,410 di www.cats.com/cats.html. 150 00:07:36,410 --> 00:07:38,870 >> Dan kemudian berdasarkan apakah sumber daya yang ada 151 00:07:38,870 --> 00:07:42,160 dan apakah server dapat memberikan sumber daya sesuai dengan klien 152 00:07:42,160 --> 00:07:46,760 permintaan, Anda mungkin mendapatkan berbagai kode status kembali. 153 00:07:46,760 --> 00:07:50,280 Beberapa kode status ini Anda telah melihat karena mereka bagian dari respon. 154 00:07:50,280 --> 00:07:53,580 Beberapa dari mereka, 200 OK, yang mungkin cukup diam. 155 00:07:53,580 --> 00:07:55,650 Anda mungkin pernah melihat halaman merespon 200 OK. 156 00:07:55,650 --> 00:07:56,890 Anda hanya mendapatkan halaman. 157 00:07:56,890 --> 00:08:01,260 Ini tidak seperti error 404, yang biasanya cukup jelas. 158 00:08:01,260 --> 00:08:03,850 Anda biasanya melihat bahwa ia mengatakan 404. 159 00:08:03,850 --> 00:08:06,880 >> Jadi mari kita bicara tentang apa yang beberapa dari mereka kode status mungkin. 160 00:08:06,880 --> 00:08:09,660 Sekali lagi, ketika server merespon kita, mereka 161 00:08:09,660 --> 00:08:12,120 akan merespon statusnya versi HTTP. 162 00:08:12,120 --> 00:08:14,020 Biasanya HTTP / 1.1. 163 00:08:14,020 --> 00:08:17,410 Apa kode status ini akan menjadi? 164 00:08:17,410 --> 00:08:18,890 Yah, kita mungkin mendapatkan sukses. 165 00:08:18,890 --> 00:08:23,617 Jadi dalam kategori sukses, kita mungkin mendapatkan kode 200 dengan OK teks. 166 00:08:23,617 --> 00:08:24,450 Apa artinya ini? 167 00:08:24,450 --> 00:08:25,491 Nah, semuanya baik. 168 00:08:25,491 --> 00:08:26,721 Anda membuat permintaan yang valid. 169 00:08:26,721 --> 00:08:27,720 Berikut adalah respons yang valid. 170 00:08:27,720 --> 00:08:30,060 Saya bisa memberikan apa yang Anda inginkan. 171 00:08:30,060 --> 00:08:33,080 >> Kadang-kadang Anda mungkin mendapatkan hal-hal lain bahwa Anda tidak akan melihat langsung 172 00:08:33,080 --> 00:08:35,140 tapi agak kegagalan. 173 00:08:35,140 --> 00:08:36,422 Mereka disebut pengalihan. 174 00:08:36,422 --> 00:08:37,630 Ada dua yang umum di sini. 175 00:08:37,630 --> 00:08:41,520 301 Permanently-- Pindah apa ini pada dasarnya berarti 176 00:08:41,520 --> 00:08:43,559 adalah halaman sekarang di lokasi baru. 177 00:08:43,559 --> 00:08:44,920 Ini akan tinggal di sana selamanya. 178 00:08:44,920 --> 00:08:47,150 Dan kebanyakan browser akan otomatis mengarahkan Anda. 179 00:08:47,150 --> 00:08:49,860 Jadi Anda tidak akan pernah benar-benar melihat 301, baik, kecuali jika Anda 180 00:08:49,860 --> 00:08:52,210 menggunakan benar-benar out-of-date Browser, mungkin, 181 00:08:52,210 --> 00:08:57,660 karena 301 respon merupakan bagian dari dot, dot, dot dari 301 respon. 182 00:08:57,660 --> 00:08:59,577 Ia juga memberitahu Anda di mana halaman baru. 183 00:08:59,577 --> 00:09:01,660 Dan sehingga sebagian browser akan hanya mengarahkan Anda ke sana, 184 00:09:01,660 --> 00:09:03,570 dengan asumsi bahwa Anda ingin pergi ke sana. 185 00:09:03,570 --> 00:09:05,440 >> Kadang-kadang Anda juga akan mendapatkan 302 ditemukan. 186 00:09:05,440 --> 00:09:07,850 Dan yang satu ini Anda benar-benar mungkin masih melihat sesekali. 187 00:09:07,850 --> 00:09:09,720 Kadang-kadang halaman memindahkan sementara. 188 00:09:09,720 --> 00:09:13,570 Sehingga tidak akan dibangun ke permintaan mengatakan browser 189 00:09:13,570 --> 00:09:16,740 untuk secara permanen mengubah setiap saat ia melihat permintaan yang Anda 190 00:09:16,740 --> 00:09:18,255 membuat untuk mengubahnya ke sesuatu yang lain. 191 00:09:18,255 --> 00:09:21,210 Jadi Anda mungkin melihat 302 Ditemukan, yang pada dasarnya 192 00:09:21,210 --> 00:09:22,710 kata halaman ini tinggal di tempat lain. 193 00:09:22,710 --> 00:09:24,418 Tapi itu tidak akan tinggal di sana selamanya. 194 00:09:24,418 --> 00:09:29,052 Ini akhirnya akan mungkin pergi kembali ke tempat Anda pikirkan. 195 00:09:29,052 --> 00:09:31,780 >> Maka Anda akan mendapatkan hal-hal seperti kesalahan klien. 196 00:09:31,780 --> 00:09:34,012 Jadi ini adalah orang-orang yang telah Anda mungkin terlihat, sekarang. 197 00:09:34,012 --> 00:09:35,970 Anda mungkin belum melihat yang 200-an atau 300, 198 00:09:35,970 --> 00:09:37,370 tetapi Anda mungkin akrab dengan 400-an. 199 00:09:37,370 --> 00:09:40,130 Dan itulah yang akan kita bicarakan tentang dalam satu detik, 500-an juga. 200 00:09:40,130 --> 00:09:42,580 >> Anda mungkin akan melihat 401 tidak sah. 201 00:09:42,580 --> 00:09:45,100 Biasanya ini berarti Anda mencoba untuk mengakses halaman, 202 00:09:45,100 --> 00:09:46,230 tetapi Anda belum login. 203 00:09:46,230 --> 00:09:50,500 Jadi Anda mencoba dan pergi ke beberapa profil atau sesuatu di Facebook 204 00:09:50,500 --> 00:09:53,106 atau Anda mencoba dan akses some-- Anda sedang bekerja. 205 00:09:53,106 --> 00:09:56,619 Anda mencoba untuk mengakses sesuatu di internet kerja Anda, 206 00:09:56,619 --> 00:09:57,660 tapi kau belum login. 207 00:09:57,660 --> 00:09:58,740 Anda tidak dapat melihat halaman. 208 00:09:58,740 --> 00:10:01,770 Anda mungkin mendapatkan 401 tidak sah, yang berarti kita mungkin 209 00:10:01,770 --> 00:10:06,590 akan dapat memenuhi permintaan ini, tetapi pertama Anda harus login untuk melakukannya. 210 00:10:06,590 --> 00:10:09,590 >> Sebaliknya, Anda mungkin mendapatkan 403 Dilarang, yang itu tidak benar-benar 211 00:10:09,590 --> 00:10:11,490 masalah jika Anda login atau tidak. 212 00:10:11,490 --> 00:10:13,020 Permintaan ini tidak diperbolehkan. 213 00:10:13,020 --> 00:10:15,320 Sumber daya yang ada di server. 214 00:10:15,320 --> 00:10:17,817 Tapi Anda tidak diizinkan untuk mengaksesnya. 215 00:10:17,817 --> 00:10:20,900 Ini adalah file biasanya internal yang hidup pada server untuk berbagai alasan 216 00:10:20,900 --> 00:10:23,860 tetapi tidak dimaksudkan untuk menjadi diakses dari dunia luar, 217 00:10:23,860 --> 00:10:25,030 dan sehingga mereka dilarang. 218 00:10:25,030 --> 00:10:27,120 Mereka tinggal di sana. 219 00:10:27,120 --> 00:10:28,440 Saya tidak mengatakan saya tidak dapat menemukannya. 220 00:10:28,440 --> 00:10:30,030 Tapi aku mengatakan aku tidak bisa memberikannya kepada Anda. 221 00:10:30,030 --> 00:10:32,071 Dan itu tidak masalah jika Anda login atau tidak. 222 00:10:32,071 --> 00:10:35,479 Dan kemudian tentu saja, sangat umum 404 Tidak Ditemukan. 223 00:10:35,479 --> 00:10:37,020 File tidak ada di server. 224 00:10:37,020 --> 00:10:40,200 Saya ingin memuaskan permintaan Anda, tapi aku tidak bisa. 225 00:10:40,200 --> 00:10:43,390 >> Anda juga kadang-kadang melihat server kesalahan, yang paling umum pada umumnya 226 00:10:43,390 --> 00:10:46,990 menjadi 500 Internal Server Error, yang tidak benar-benar memberitahu Anda apa-apa 227 00:10:46,990 --> 00:10:50,200 sama sekali tentang apa yang salah. 228 00:10:50,200 --> 00:10:53,290 Tapi itu tidak benar-benar Anda membuat kesalahan dalam permintaan Anda. 229 00:10:53,290 --> 00:10:58,200 Ini sebenarnya server gagal untuk memenuhi permintaan entah bagaimana. 230 00:10:58,200 --> 00:11:00,040 Jadi 500 adalah respon umum. 231 00:11:00,040 --> 00:11:03,190 >> Anda juga akan melihat sesuatu seperti Service Unavailable, 232 00:11:03,190 --> 00:11:05,720 yang saya percaya adalah kode 503. 233 00:11:05,720 --> 00:11:07,882 Dan Gateway Timeout-- jika Anda pernah punya halaman hanya 234 00:11:07,882 --> 00:11:09,590 duduk di sana bongkar bongkar bongkar 235 00:11:09,590 --> 00:11:12,715 dan Anda tidak pernah tahu apakah itu akan beban dan kemudian akhirnya hanya says-- 236 00:11:12,715 --> 00:11:13,650 hanya menyerah. 237 00:11:13,650 --> 00:11:15,460 Itu 504 Gateway Timeout. 238 00:11:15,460 --> 00:11:17,600 Server ingin mengeksekusi permintaan Anda, 239 00:11:17,600 --> 00:11:19,930 tapi sesuatu yang tidak beres pada side-- Server 240 00:11:19,930 --> 00:11:24,452 bukan pada side-- Anda untuk menyebabkan yang menjadi masalah. 241 00:11:24,452 --> 00:11:27,410 Sekarang, kita bisa mengakhiri cerita di sini, tapi apa yang saya benar-benar akan lakukan sekarang 242 00:11:27,410 --> 00:11:29,368 adalah aku akan membuka browser saya dan menunjukkan 243 00:11:29,368 --> 00:11:32,250 bagaimana Anda mungkin bisa melihat beberapa kode status ini 244 00:11:32,250 --> 00:11:34,580 bahkan jika Anda umumnya tidak melihat mereka. 245 00:11:34,580 --> 00:11:39,090 Dan kita akan melakukannya dengan mengambil a melihat beberapa alat pengembang. 246 00:11:39,090 --> 00:11:42,050 >> Baiklah Jadi di sini saya sekarang dalam jendela browser saya. 247 00:11:42,050 --> 00:11:45,840 Dan saya ingin belajar sedikit tentang permintaan HTTP ini. 248 00:11:45,840 --> 00:11:49,060 Bagaimana cara tahu-- tentu kita tahu jika Halaman goes-- ketika sesuatu berjalan salah, 249 00:11:49,060 --> 00:11:49,630 kita mendapatkan 404. 250 00:11:49,630 --> 00:11:50,465 Kita semua telah melihat bahwa. 251 00:11:50,465 --> 00:11:51,840 Kita tidak perlu untuk menggambarkan bahwa. 252 00:11:51,840 --> 00:11:53,048 Tapi apa yang beberapa yang lain? 253 00:11:53,048 --> 00:11:56,850 Dan bagaimana kita akan melihat permintaan ini dalam tindakan? 254 00:11:56,850 --> 00:11:59,990 >> Sehingga hal pertama saya akan lakukan adalah membuka Developer Tools. 255 00:11:59,990 --> 00:12:02,580 Jadi Developer Tools yang dibangun menjadi browser paling modern 256 00:12:02,580 --> 00:12:06,020 dan memungkinkan kita untuk melihat hal-hal bahwa kita tidak sebaliknya 257 00:12:06,020 --> 00:12:10,580 see-- semacam informasi tambahan sedang dikirim bawah web kami 258 00:12:10,580 --> 00:12:11,500 permintaan. 259 00:12:11,500 --> 00:12:12,790 Saya menggunakan Google Chrome di sini. 260 00:12:12,790 --> 00:12:16,900 Dan untuk membuka Developer Tools di Chrome, Anda hanya menekan F-12, 261 00:12:16,900 --> 00:12:18,729 dan itu akan membuka itu di samping. 262 00:12:18,729 --> 00:12:21,770 Setelah saya ketik permintaan, saya akan memperbesar sehingga kita bisa melihat apa yang terjadi di sini. 263 00:12:21,770 --> 00:12:28,530 Tapi apa yang akan saya lakukan di browser saya bar is-- dan saya akan memperbesar lebih di sini- 264 00:12:28,530 --> 00:12:32,427 Aku akan membuat permintaan untuk www.google.com. 265 00:12:32,427 --> 00:12:34,260 Kita semua mungkin dibuat permintaan ini sebelumnya. 266 00:12:34,260 --> 00:12:35,400 Aku akan tekan Enter. 267 00:12:35,400 --> 00:12:41,920 268 00:12:41,920 --> 00:12:46,400 >> Sekarang, di sini di Developer saya Alat, saya telah memilih tab Network. 269 00:12:46,400 --> 00:12:48,010 Dan Anda melihat banyak hal di sini. 270 00:12:48,010 --> 00:12:51,732 Lihatlah these-- 200 OK, 200 OK, beberapa kode status ini datang. 271 00:12:51,732 --> 00:12:53,356 Saya tidak tahu mengapa saya mendapatkan 302 Ditemukan. 272 00:12:53,356 --> 00:12:54,860 Saya tidak menyadari aku melihat satu itu. 273 00:12:54,860 --> 00:12:58,192 Tapi pada dasarnya melihat bahwa cukup banyak, dalam hal request-- Google saya 274 00:12:58,192 --> 00:13:00,150 Aku membuat sangat sederhana permintaan untuk halaman Google. 275 00:13:00,150 --> 00:13:02,890 Dan dalam proses memberikan permintaan saya, 276 00:13:02,890 --> 00:13:05,670 Google tampaknya telah membuat banyak permintaan lain atas nama saya. 277 00:13:05,670 --> 00:13:11,990 >> Tapi aku sudah membuat permintaan untuk mendapatkan Google Halaman dan saya mendapatkan banyak 200 Mengadakan. 278 00:13:11,990 --> 00:13:14,830 Saya tidak melihat 200 OK pada layar saya, tapi aku mendapatkan 279 00:13:14,830 --> 00:13:17,170 banyak permintaan yang telah dibuat. 280 00:13:17,170 --> 00:13:19,550 Satu lagi yang aku cukup yakin akan bekerja 281 00:13:19,550 --> 00:13:21,920 is-- bagi anda yang benar-benar tua-sekolah, 282 00:13:21,920 --> 00:13:26,012 Anda mungkin tahu bahwa Facebook adalah tidak selalu di Facebook.com. 283 00:13:26,012 --> 00:13:29,780 Pada hari-hari awal itu di wwww.thefacebook.com. 284 00:13:29,780 --> 00:13:33,560 Mereka tampaknya tidak bisa mendapatkan akses untuk Facebook.com cukup sebentar. 285 00:13:33,560 --> 00:13:35,870 >> Dan apa yang saya harapkan di sini adalah untuk mendapatkan informasi. 286 00:13:35,870 --> 00:13:37,315 Dan kita akan melihat apakah ini panci keluar. 287 00:13:37,315 --> 00:13:39,190 Apa yang saya harapkan di sini adalah untuk mendapatkan informasi 288 00:13:39,190 --> 00:13:43,980 bahwa Facebook telah pindah secara permanen dari thefacebook.com ke Facebook.com. 289 00:13:43,980 --> 00:13:46,830 Jadi aku mengharapkan suatu tempat dekat bagian atas permintaan saya 290 00:13:46,830 --> 00:13:50,730 lebih di Developer Tools saya untuk mendapatkan pemberitahuan 301 291 00:13:50,730 --> 00:13:52,580 bahwa Facebook telah pindah secara permanen. 292 00:13:52,580 --> 00:13:59,070 Sekali lagi, saya tidak akan melihat 301 di layar browser saya. 293 00:13:59,070 --> 00:14:01,380 Dan karena itu adalah 301, itu langkah permanen. 294 00:14:01,380 --> 00:14:03,500 Browser saya, adalah bahwa itu browser modern, 295 00:14:03,500 --> 00:14:06,110 mungkin akan mengarahkan saya untuk Facebook.com pula. 296 00:14:06,110 --> 00:14:07,260 Tapi mari kita lihat apa yang terjadi. 297 00:14:07,260 --> 00:14:09,340 >> Dan sekarang aku akan pergi ke thefacebook.com. 298 00:14:09,340 --> 00:14:11,370 Dan ya, itu ada tepat di atas. 299 00:14:11,370 --> 00:14:13,390 Ini pergi, tapi itu ada. 300 00:14:13,390 --> 00:14:14,820 Mari saya gulir ke atas sini. 301 00:14:14,820 --> 00:14:18,004 302 00:14:18,004 --> 00:14:18,920 Di sini di atas. 303 00:14:18,920 --> 00:14:23,080 Saya membuat permintaan untuk thefacebook.com, dan aku mendapat respon 304 00:14:23,080 --> 00:14:25,410 bahwa halaman ini telah pindah secara permanen. 305 00:14:25,410 --> 00:14:27,770 Dan kemudian 307 di sini adalah redirect internal. 306 00:14:27,770 --> 00:14:30,680 Dan jadi ini adalah apa yang sebenarnya telah pindah saya jauh lebih 307 00:14:30,680 --> 00:14:33,330 www.facebook.com akrab. 308 00:14:33,330 --> 00:14:38,480 >> Jadi kode respon ini dilakukan masih terjadi, bahkan jika kita tidak melihat mereka. 309 00:14:38,480 --> 00:14:40,710 Aku tidak akan menggambarkan 401, 403, 404, 310 00:14:40,710 --> 00:14:43,090 karena Anda mungkin pernah melihat orang-orang di berbagai titik. 311 00:14:43,090 --> 00:14:45,740 Dan 500, saya hanya akan menjadi jenis of-- kita akan beruntung 312 00:14:45,740 --> 00:14:50,380 jika mendapat 500 karena kita tidak tahu apa server saat ini di mana pun. 313 00:14:50,380 --> 00:14:53,060 Tapi kode ini melakukan ada, dan ada jalan 314 00:14:53,060 --> 00:14:58,610 untuk mengaksesnya bahkan jika kita tidak melihat mereka secara langsung pada sistem kami. 315 00:14:58,610 --> 00:14:59,530 Aku Doug Lloyd. 316 00:14:59,530 --> 00:15:01,570 Ini adalah CS50. 317 00:15:01,570 --> 00:15:03,557