1 00:00:00,000 --> 00:00:05,950 2 00:00:05,950 --> 00:00:09,310 >> SPEAKER: พูดคุยเกี่ยวกับอีกคนหนึ่ง protocol-- Hypertext Transfer 3 00:00:09,310 --> 00:00:12,060 โปรโตคอล HTTP หรือ 4 00:00:12,060 --> 00:00:15,074 ดังนั้นเราจึงได้พูดคุยเกี่ยวกับทรัพย์สินทางปัญญา และ TCP ในวิดีโอก่อนหน้า 5 00:00:15,074 --> 00:00:17,240 และผู้ที่มีโปรโตคอล ที่กำหนดวิธีการที่ข้อมูล 6 00:00:17,240 --> 00:00:20,970 ย้ายจากเครื่องไปยังเครื่องและ จากโปรแกรมการเขียนโปรแกรมหรือบริการ 7 00:00:20,970 --> 00:00:27,720 การให้บริการผ่านทางอินเทอร์เน็ตผ่านทาง เครือข่ายนี้ของเราเตอร์และอุปกรณ์ 8 00:00:27,720 --> 00:00:30,640 >> แต่ที่มักจะไม่ ภาพทั้งหมดใช่มั้ย? 9 00:00:30,640 --> 00:00:33,530 โดยปกติเมื่อเราส่ง ข้อมูลโปรแกรม 10 00:00:33,530 --> 00:00:36,570 itself-- เมื่อข้อมูลที่เป็น ที่ได้รับการพูดยกตัวอย่างเช่น 11 00:00:36,570 --> 00:00:44,270 ในอีเมลผ่านทางพอร์ต TCP 25 หรือ เว็บหน้าการร้องขอผ่านทางพอร์ต 80, 12 00:00:44,270 --> 00:00:48,220 มักจะมีระบบของกฎที่มี ที่จะดำเนินการในสิ่งที่ผมได้รับเพียง 13 00:00:48,220 --> 00:00:51,960 และ HTTP เป็นตัวอย่าง เพียงเช่นโปรโตคอล 14 00:00:51,960 --> 00:00:54,929 >> HTTP เป็นเพียง การประยุกต์ใช้โปรโตคอลชั้น 15 00:00:54,929 --> 00:00:56,220 ที่เรากำลังจะพูดคุยเกี่ยวกับ 16 00:00:56,220 --> 00:00:59,660 แต่มันก็เป็นอีกชุดหนึ่ง ของกฎเล่าว่า 17 00:00:59,660 --> 00:01:02,790 ข้อมูลที่จะส่ง และประมวลผลผ่านทางอินเทอร์เน็ต 18 00:01:02,790 --> 00:01:06,390 โดยเฉพาะอย่างยิ่ง HTTP ระบุว่าวิธีการ 19 00:01:06,390 --> 00:01:11,300 หนึ่งจะต้องทำตามคำขอสำหรับ หน้าเว็บและว่าวิธีการ 20 00:01:11,300 --> 00:01:15,160 เซิร์ฟเวอร์, เครื่อง ที่เป็นโฮสต์หน้าเว็บ 21 00:01:15,160 --> 00:01:17,840 ส่งข้อมูลที่ กลับไปยังลูกค้า 22 00:01:17,840 --> 00:01:20,010 >> ดังนั้นโปรโตคอลนี้ไม่ได้ จะมีอะไร 23 00:01:20,010 --> 00:01:22,270 จะทำอย่างไรกับข้อมูล ย้ายจากจุด A 24 00:01:22,270 --> 00:01:26,090 ไปจุด B มันจริงๆ ระบบของกฎ 25 00:01:26,090 --> 00:01:29,700 for-- มันเป็นพื้นกฎของ การมีส่วนร่วมสำหรับการทำงานกับหน้าเว็บ 26 00:01:29,700 --> 00:01:31,960 คล้ายกับเมื่อใครบางคน คลื่นมือของพวกเขาที่คุณ 27 00:01:31,960 --> 00:01:33,410 คุณควรจะโบกมือกลับ 28 00:01:33,410 --> 00:01:36,280 นั่นคือการจัดเรียงของ โปรโตคอลมนุษย์ธรรมดา 29 00:01:36,280 --> 00:01:39,610 โปรโตคอล HTTP เพียงแค่บอกว่าถ้า คุณต้องการที่จะขอเว็บ 30 00:01:39,610 --> 00:01:42,730 หน้าให้แน่ใจว่ามีลักษณะรูปแบบของคุณ เช่นการจัดเรียงของการจัดรูปแบบเช่น this-- 31 00:01:42,730 --> 00:01:44,930 จดหมายธุรกิจตัวอย่างเช่น 32 00:01:44,930 --> 00:01:50,029 และการตอบสนองจะเหมือนกัน มาตามโปรโตคอลนี้ 33 00:01:50,029 --> 00:01:51,820 มีอื่น ๆ โปรโตคอลชั้นสมัคร 34 00:01:51,820 --> 00:01:53,380 ที่เราไม่ได้ไป พูดคุยเกี่ยวกับในวิดีโอ 35 00:01:53,380 --> 00:01:55,790 แต่เหล่านี้รวมถึงสิ่งที่ต้องการ โอนไฟล์พิธีสาร 36 00:01:55,790 --> 00:01:59,200 ธรรมดา Mail Transfer Protocol สำหรับ การส่งอีเมล, การกระจายข้อมูล 37 00:01:59,200 --> 00:02:02,100 บริการใช้ Remote Desktop โปรโตคอล RDP ซึ่ง 38 00:02:02,100 --> 00:02:05,590 จะใช้ในกรณีที่คุณต้องการในการเข้าถึงจากระยะไกล คอมพิวเตอร์ของคุณจากคอมพิวเตอร์เครื่องอื่น 39 00:02:05,590 --> 00:02:08,479 XMPP ซึ่งเป็นบ่อย ที่รู้จักกันเป็น Jabber หรือแชท 40 00:02:08,479 --> 00:02:11,160 ดังนั้นนี่คือโปรโตคอล สำหรับการใช้บริการแชท 41 00:02:11,160 --> 00:02:13,310 และมีจำนวนมากหลายอื่น ๆ อีกมากมาย 42 00:02:13,310 --> 00:02:15,900 >> ดังนั้นเวลาที่คุณใช้ทุก บริการบริการ 43 00:02:15,900 --> 00:02:18,930 คาดว่าข้อมูล ที่จะ received-- คำขอ 44 00:02:18,930 --> 00:02:21,010 จะเป็น received-- ใน โดยเฉพาะอย่างยิ่งรูปแบบมาก 45 00:02:21,010 --> 00:02:24,070 และจำเป็นต้องมีการ ข้อมูลส่งกลับมา 46 00:02:24,070 --> 00:02:27,190 ในรูปแบบที่เฉพาะเจาะจงมากเช่นกัน 47 00:02:27,190 --> 00:02:31,750 >> ดังนั้นขอให้กลับไปภาพประกอบของเรา เราต้องการที่จะพูดคุยกับอินเทอร์เน็ต 48 00:02:31,750 --> 00:02:34,810 ดังนั้นเราจึงมีความสุขและเราต้องการ จะไป cats.com ใช่มั้ย? 49 00:02:34,810 --> 00:02:38,550 ดังนั้นถ้าเราเพียงแค่การพูดคุยกับ cats.com, เราอาจจะบอกว่าสิ่งที่ต้องการเดี๋ยวก่อน 50 00:02:38,550 --> 00:02:39,720 ฉันสามารถดูที่หน้าบ้านของคุณ 51 00:02:39,720 --> 00:02:42,320 และอาจจะ cats.com ตอบสนองใช่แน่ใจว่า 52 00:02:42,320 --> 00:02:43,440 นี่คุณไป 53 00:02:43,440 --> 00:02:46,440 เพื่อให้การจัดเรียงของมนุษย์ การถามและคำตอบ 54 00:02:46,440 --> 00:02:47,980 >> อะไรที่มีลักษณะเหมือนใน HTTP? 55 00:02:47,980 --> 00:02:51,340 ดีก็จริงชนิดของการแปล สวยหมดจดเพื่ออะไรเช่นนี้ 56 00:02:51,340 --> 00:02:57,290 เราอาจจะบอกว่า GET / HTTP / 1.1 จากโฮสต์ cats.com 57 00:02:57,290 --> 00:03:03,039 ดังนั้นโดยทั่วไปสิ่งที่ฉันทำที่นี่ก็คือ ขอหน้าเว็บ www.cats.com/ 58 00:03:03,039 --> 00:03:05,330 เรามักจะละเว้นเฉือน ในปัจจุบัน แต่ที่จะเพียงแค่ 59 00:03:05,330 --> 00:03:07,200 หมายถึงหน้าแรกของ cats.com 60 00:03:07,200 --> 00:03:11,910 >> อ้อและโดยวิธีการที่ฉันจะ จะเป็นรุ่นที่ใช้ HTTP 61 00:03:11,910 --> 00:03:14,182 1.1 ในการสื่อสารกับคุณ 62 00:03:14,182 --> 00:03:16,390 นั่นคือการจัดเรียงของคล้ายกับ พูดเช่นโดยวิธีการที่ 63 00:03:16,390 --> 00:03:17,870 ฉันจะได้รับการพูด ในฝรั่งเศสหรือโดยวิธีการที่ 64 00:03:17,870 --> 00:03:19,370 ฉันจะได้รับการพูดภาษาอังกฤษ 65 00:03:19,370 --> 00:03:22,160 นั่นเป็นเพียงรูปแบบของโปรโตคอล 66 00:03:22,160 --> 00:03:25,050 นอกจากนี้ยังเป็น 1.0 ซึ่งเป็น ไม่ได้อีกต่อไปที่ใช้กันทั่วไป 67 00:03:25,050 --> 00:03:30,615 ดังนั้นฉันพูด HTTP 1.1 และ ผมอยาก www.cats.com/ 68 00:03:30,615 --> 00:03:31,710 โปรดรับที่สำหรับฉัน 69 00:03:31,710 --> 00:03:34,610 >> แล้วมีข้อมูลอื่น ๆ too-- จุดจุด, จุดที่นั่น 70 00:03:34,610 --> 00:03:38,234 ซึ่งเป็นข้อมูลเกี่ยวกับ คุณเป็นใครดังนั้น cats.com 71 00:03:38,234 --> 00:03:39,400 จะได้รู้ว่าการที่จะส่ง 72 00:03:39,400 --> 00:03:41,480 แต่เหล่านี้เป็นสอง การเรียงลำดับของส่วนที่สำคัญ 73 00:03:41,480 --> 00:03:44,000 ที่จุดเริ่มต้น ของ HTTP request-- 74 00:03:44,000 --> 00:03:46,770 เช่นเดียวกับเมื่อคุณเริ่ม ตัวอักษรที่คุณบอกว่ารักว่างเปล่า 75 00:03:46,770 --> 00:03:49,710 นี้เป็นอย่างมากในทำนองเดียวกันกับที่ 76 00:03:49,710 --> 00:03:52,370 >> และถ้า cats.com เป็นไป บอกว่าโอ้แน่ใจว่าที่นี่คุณไป 77 00:03:52,370 --> 00:03:55,590 พวกเขาอาจจะตอบสนองเช่น this-- ฉันยังตอบสนอง 78 00:03:55,590 --> 00:03:57,960 ฉันยังพูด HTTP 1.1 79 00:03:57,960 --> 00:04:01,720 คำขอของคุณได้รับการอนุมัติ 200 ตกลง 80 00:04:01,720 --> 00:04:04,709 สิ่งที่คุณกำลังจะ ได้รับคือ HTML แล้ว 81 00:04:04,709 --> 00:04:06,250 จุดจุดจุดบางข้อมูลเพิ่มเติม 82 00:04:06,250 --> 00:04:10,620 และที่ด้านล่างสุดของ คำขอเป็นจริง HTM​​L ให้ 83 00:04:10,620 --> 00:04:16,339 ภาษามาร์กอัปที่ เนื้อหาของหน้าแรกของ cats.com 84 00:04:16,339 --> 00:04:21,227 >> ดังนั้น HTTP / 1.1-- ฉันรับทราบของคุณ ได้รับการยอมรับการร้องขอผ่านทาง HTTP 1.1 85 00:04:21,227 --> 00:04:22,310 คำขอของคุณได้รับการอนุมัติ 86 00:04:22,310 --> 00:04:25,810 ฉันจะให้คุณสิ่งที่คุณต้องการ 200 ตกลง 87 00:04:25,810 --> 00:04:27,440 คุณกำลังจะได้รับ HTML 88 00:04:27,440 --> 00:04:30,450 และแล้วที่นี่เป็น HTML ที่คุณร้องขอ 89 00:04:30,450 --> 00:04:33,930 >> แต่บางครั้งการร้องขอของเราทำไม่ได้ เสมอไปค่อนข้างตามแผน 90 00:04:33,930 --> 00:04:37,100 ฉันสามารถดูหน้า cats.html ของคุณ? 91 00:04:37,100 --> 00:04:40,366 ดีสิ่งที่พวกเขากล่าวว่าถ้าเรา ไม่ได้มีหน้า cats.html ที่ 92 00:04:40,366 --> 00:04:42,740 ซึ่งดูเหมือนว่าชนิดของที่ไม่สมจริง เพราะพวกเขากำลัง cats.com 93 00:04:42,740 --> 00:04:44,400 คุณจะคิดว่าพวกเขาจะมี cats.html 94 00:04:44,400 --> 00:04:45,420 แต่ตกลง 95 00:04:45,420 --> 00:04:48,484 ดังนั้นนี่คือการจัดเรียงของ ปฏิสัมพันธ์ของมนุษย์ธรรมดา 96 00:04:48,484 --> 00:04:49,650 ตอนนี้เราได้มีกับ cats.com 97 00:04:49,650 --> 00:04:51,060 อย่างไรที่แปล? 98 00:04:51,060 --> 00:04:52,726 >> นี้อาจจะเป็นสิ่งที่คุ้นเคยกับคุณ 99 00:04:52,726 --> 00:04:55,690 คำขอของเรามองตรงเดียวกัน ยกเว้นแทนการรับเฉือน 100 00:04:55,690 --> 00:04:58,110 ตอนนี้เราได้รับ cats.html 101 00:04:58,110 --> 00:05:01,810 ดังนั้นตอนนี้สิ่งที่เป็นพื้นทั้งหมดนี้ ไม่ว่าจะเป็นคำขอจะโปรดให้ฉัน 102 00:05:01,810 --> 00:05:05,620 www.cats.com/cats.html 103 00:05:05,620 --> 00:05:08,700 ดังนั้นโฮสต์และกลาง ส่วนหนึ่งของที่บรรทัดบนสุด 104 00:05:08,700 --> 00:05:14,632 มีแสดงให้เห็นได้อย่างแม่นยำ สิ่งที่หน้าฉันขอ 105 00:05:14,632 --> 00:05:17,590 แต่ cats.com ในกรณีนี้ไม่ได้ไป เพื่อให้สามารถตอบสนองเชิงบวก 106 00:05:17,590 --> 00:05:19,089 พวกเขาไม่ได้รู้ว่าเรากำลังพูดถึง 107 00:05:19,089 --> 00:05:25,170 และเพื่อให้เป็นสิ่งที่คุณอาจมี เห็น HTTP before-- 1.1 404 ไม่พบ 108 00:05:25,170 --> 00:05:27,180 ฉันไม่สามารถหาสิ่งที่ คุณกำลังถามหา 109 00:05:27,180 --> 00:05:30,460 โดยวิธีการที่ฉันจะให้คุณ กลับ HTML บางและมักจะว่า HTML 110 00:05:30,460 --> 00:05:32,351 เนื้อหาบางหน้า 404 111 00:05:32,351 --> 00:05:34,100 และในกรณีของ cats.com ก็อาจ 112 00:05:34,100 --> 00:05:37,720 บางแมวน่ารักในตะกร้าด้วย เศร้า 404 ใบหน้าข้างๆ 113 00:05:37,720 --> 00:05:40,920 เพราะคุณกำลังจะได้รับ เศร้าเมื่อคุณไม่ได้รับหน้า 114 00:05:40,920 --> 00:05:43,040 ที่คุณมองหา 115 00:05:43,040 --> 00:05:48,520 >> ที่ชนิดของพื้นฐานของสิ่งที่ โปรโตคอลการร้องขอโปรโตคอล HTTP 116 00:05:48,520 --> 00:05:49,180 ดูเหมือน. 117 00:05:49,180 --> 00:05:52,640 พวกเขากำลังจริงๆคล้ายกับวิธีการที่เรา จะทำให้การทำงานร่วมกันที่คล้ายกัน 118 00:05:52,640 --> 00:05:55,460 ในการประชุมของมนุษย์เพียง ขอบางสิ่งบางอย่าง 119 00:05:55,460 --> 00:05:58,250 และได้รับมันกลับมาหรือเขียน ตัวอักษรและคาดหวังว่าการตอบสนอง 120 00:05:58,250 --> 00:06:00,380 จดหมายในรูปแบบเฉพาะ 121 00:06:00,380 --> 00:06:03,910 นั่นเป็นสิ่งที่สวยมาก HTTP เป็นเพียง canonicalizing 122 00:06:03,910 --> 00:06:10,190 สำหรับอุปกรณ์ทั้งหมดที่ต้องการที่จะเข้าถึง หน้าเว็บการถ่ายโอนไฮเปอร์ 123 00:06:10,190 --> 00:06:15,110 >> ดังนั้นสายของรูปแบบที่นี้ เป้าหมายคำขอวิธีรุ่น HTTP, 124 00:06:15,110 --> 00:06:17,100 เรียกว่าสายการร้องขอ HTTP 125 00:06:17,100 --> 00:06:23,740 ก็มักจะเป็นสิ่งแรกที่เป็น ส่งเป็นส่วนหนึ่งของการร้องขอ HTTP 126 00:06:23,740 --> 00:06:26,180 หรือถ้าคุณขอ HTTP 127 00:06:26,180 --> 00:06:29,970 มันเรียงลำดับของชอบที่ผมกล่าวว่า รักว่างเปล่าที่ด้านบนจดหมายของคุณ 128 00:06:29,970 --> 00:06:32,880 พวกเขารู้ว่าคุณ การเขียนจดหมาย 129 00:06:32,880 --> 00:06:34,796 ดังนั้นนี่คือที่คล้ายกันมาก ที่จะบอกว่าฉันรู้ว่า 130 00:06:34,796 --> 00:06:37,670 ที่พวกเขากำลังทำร้องขอ HTTP และนี่คือรูปแบบโดยเฉพาะอย่างยิ่ง 131 00:06:37,670 --> 00:06:39,090 พวกเขากำลังถามหา 132 00:06:39,090 --> 00:06:43,810 >> รุ่น HTTP น่าจะเป็น มักจะเป็น HTTP / 1/1 133 00:06:43,810 --> 00:06:46,670 1.0 นอกจากนี้ยังมีอยู่ แต่ไม่ได้ จริงๆใช้อีกต่อไป 134 00:06:46,670 --> 00:06:49,200 สำหรับวัตถุประสงค์ของการ CS50, แถมอาจจะเป็นเสมอ 135 00:06:49,200 --> 00:06:51,540 สิ่งที่คุณกำลังจะได้รับ ใช้เมื่อคุณจริง 136 00:06:51,540 --> 00:06:54,250 ทำให้การร้องขอ HTTP โดยตรง 137 00:06:54,250 --> 00:06:57,720 แต่โพสต์เป็นตัวเลือกที่ว่าเราอีก ไม่ได้ไปพูดคุยเกี่ยวกับในขณะนี้ 138 00:06:57,720 --> 00:07:02,980 และจากนั้นก็ขอเป็นเป้าหมาย สิ่งที่หน้าบนเซิร์ฟเวอร์โฮสต์ 139 00:07:02,980 --> 00:07:05,812 คุณต้องการที่จะได้รับ 140 00:07:05,812 --> 00:07:08,020 ที่ผมกล่าวว่าชื่อโฮสต์ เป็นเส้นที่แยกจากกันมักจะ 141 00:07:08,020 --> 00:07:10,350 บรรทัดที่สองของการร้องขอโดยรวม 142 00:07:10,350 --> 00:07:13,660 และเพื่อให้การดำเนินการร่วมกันเป็นเจ้าภาพ ชื่อและที่เป้าหมายการร้องขอ 143 00:07:13,660 --> 00:07:16,070 ระบุเฉพาะเจาะจง ทรัพยากรถูกขอ 144 00:07:16,070 --> 00:07:20,986 404 ในตัวอย่างของเราสองที่ผ่านมาผม ถามอีกครั้งสำหรับ www.cats.com, 145 00:07:20,986 --> 00:07:22,940 cats.com เป็นเจ้าภาพ 146 00:07:22,940 --> 00:07:26,300 และเป็นไปตามคำขอของฉัน ผมบอกว่า /cats.html 147 00:07:26,300 --> 00:07:27,790 นั่นคือเป้าหมายคำขอของฉัน 148 00:07:27,790 --> 00:07:31,200 ดังนั้นโดยรวมผมก็ขอ เนื้อหาหรือทรัพยากรที่อยู่ 149 00:07:31,200 --> 00:07:36,410 ที่ www.cats.com/cats.html 150 00:07:36,410 --> 00:07:38,870 >> และจากนั้นก็ขึ้นอยู่กับว่า ทรัพยากรที่มีอยู่ 151 00:07:38,870 --> 00:07:42,160 และไม่ว่าเซิร์ฟเวอร์สามารถส่งมอบ ทรัพยากรตามของลูกค้า 152 00:07:42,160 --> 00:07:46,760 ขอคุณอาจได้รับ รหัสสถานะต่างๆกลับ 153 00:07:46,760 --> 00:07:50,280 บางส่วนของรหัสสถานะเหล่านี้ที่คุณเคยเห็น เพราะพวกเขาเป็นส่วนหนึ่งของการตอบสนอง 154 00:07:50,280 --> 00:07:53,580 บางส่วนของพวกเขา 200 ตกลงเป็น อาจจะเงียบสวย 155 00:07:53,580 --> 00:07:55,650 คุณอาจไม่เคยเห็น หน้าตอบสนองต่อ 200 ตกลง 156 00:07:55,650 --> 00:07:56,890 คุณเพียงแค่ได้รับหน้า 157 00:07:56,890 --> 00:08:01,260 มันไม่เหมือน 404 ข้อผิดพลาด ซึ่งมักจะสวยใส 158 00:08:01,260 --> 00:08:03,850 คุณจะเห็นว่ามันพูดว่า 404 159 00:08:03,850 --> 00:08:06,880 >> ดังนั้นเรามาพูดคุยเกี่ยวกับสิ่งที่บางคน รหัสสถานะของผู้ที่อาจจะมี 160 00:08:06,880 --> 00:08:09,660 อีกครั้งเมื่อเซิร์ฟเวอร์ เราตอบสนองต่อการที่พวกเขากำลัง 161 00:08:09,660 --> 00:08:12,120 จะตอบสนองสถานะ HTTP รุ่น 162 00:08:12,120 --> 00:08:14,020 โดยปกติ HTTP / 1.1 163 00:08:14,020 --> 00:08:17,410 อะไรคือรหัสสถานะเหล่านี้จะเป็นอย่างไร 164 00:08:17,410 --> 00:08:18,890 ดีเราอาจได้รับความสำเร็จ 165 00:08:18,890 --> 00:08:23,617 ดังนั้นในหมวดหมู่ความสำเร็จของเรา อาจได้รับรหัส 200 ที่มีข้อความตกลง 166 00:08:23,617 --> 00:08:24,450 สิ่งนี้หมายความว่า? 167 00:08:24,450 --> 00:08:25,491 ดีทุกอย่างเป็นสิ่งที่ดี 168 00:08:25,491 --> 00:08:26,721 คุณทำคำขอที่ถูกต้อง 169 00:08:26,721 --> 00:08:27,720 นี่คือการตอบสนองที่ถูกต้องคือ 170 00:08:27,720 --> 00:08:30,060 ผมสามารถที่จะส่งมอบ สิ่งที่คุณต้องการ 171 00:08:30,060 --> 00:08:33,080 >> บางครั้งคุณอาจได้รับสิ่งอื่น ๆ ที่คุณจะได้แจ้งให้ทราบทันที 172 00:08:33,080 --> 00:08:35,140 แต่ความล้มเหลวบ้าง 173 00:08:35,140 --> 00:08:36,422 พวกเขากำลังเรียกว่าการเปลี่ยนเส้นทาง 174 00:08:36,422 --> 00:08:37,630 มีสองคนทั่วไปที่นี่ 175 00:08:37,630 --> 00:08:41,520 301 Permanently-- ย้าย สิ่งนี้โดยทั่วไปหมายถึง 176 00:08:41,520 --> 00:08:43,559 คือหน้าที่อยู่ในขณะนี้ในสถานที่ใหม่ 177 00:08:43,559 --> 00:08:44,920 มันจะอาศัยอยู่ที่นั่นตลอดไป 178 00:08:44,920 --> 00:08:47,150 และเบราว์เซอร์ส่วนใหญ่จะ เปลี่ยนเส้นทางโดยอัตโนมัติคุณ 179 00:08:47,150 --> 00:08:49,860 ดังนั้นคุณจะไม่เคยเห็นจริงๆ 301 อย่างใดอย่างหนึ่งถ้าคุณ 180 00:08:49,860 --> 00:08:52,210 ใช้จริงๆออกจากวันที่ เบราว์เซอร์อาจจะเป็น 181 00:08:52,210 --> 00:08:57,660 เพราะการตอบสนองที่ 301 เป็นส่วนหนึ่งของ จุดจุดจุดของการตอบสนอง 301 182 00:08:57,660 --> 00:08:59,577 นอกจากนี้ยังจะบอกคุณที่หน้าใหม่เป็น 183 00:08:59,577 --> 00:09:01,660 และเพื่อให้เบราว์เซอร์ส่วนใหญ่จะ เพียงแค่นำคุณมี 184 00:09:01,660 --> 00:09:03,570 สมมติว่าคุณต้องการไปที่นั่น 185 00:09:03,570 --> 00:09:05,440 >> บางครั้งคุณยังจะได้รับ 302 พบ 186 00:09:05,440 --> 00:09:07,850 และคนที่คุณจริงนี้ ยังอาจจะเห็นเป็นครั้งคราว 187 00:09:07,850 --> 00:09:09,720 บางครั้งหน้าย้ายชั่วคราว 188 00:09:09,720 --> 00:09:13,570 ดังนั้นจึงจะไม่ได้รับการสร้างขึ้นใน ขอบอกเบราว์เซอร์ 189 00:09:13,570 --> 00:09:16,740 อย่างถาวรเปลี่ยนเวลาใด ๆ มันเห็นคำขอที่คุณ 190 00:09:16,740 --> 00:09:18,255 ทำให้จะเปลี่ยนเป็นอย่างอื่น 191 00:09:18,255 --> 00:09:21,210 ดังนั้นคุณอาจเห็น 302 พบซึ่งโดยทั่วไป 192 00:09:21,210 --> 00:09:22,710 บอกว่าหน้านี้อาศัยอยู่ที่อื่น 193 00:09:22,710 --> 00:09:24,418 แต่มันก็ไม่ได้ไป อาศัยอยู่ที่นั่นตลอดไป 194 00:09:24,418 --> 00:09:29,052 มันอาจจะไปในที่สุด กลับไปที่คุณคิดว่ามันเป็น 195 00:09:29,052 --> 00:09:31,780 >> แล้วคุณจะได้รับสิ่งที่ เช่นข้อผิดพลาดของลูกค้า 196 00:09:31,780 --> 00:09:34,012 ดังนั้นเหล่านี้เป็นคนที่คุณได้ อาจจะเห็นในขณะนี้ 197 00:09:34,012 --> 00:09:35,970 คุณอาจจะยังไม่ได้เห็น หรือ 200s 300s ที่ 198 00:09:35,970 --> 00:09:37,370 แต่คุณอาจจะ คุ้นเคยกับ 400s 199 00:09:37,370 --> 00:09:40,130 และนั่นคือสิ่งที่เราจะพูดคุย เกี่ยวกับในสอง 500s เช่นกัน 200 00:09:40,130 --> 00:09:42,580 >> คุณอาจเห็น 401 ไม่ได้รับอนุญาต 201 00:09:42,580 --> 00:09:45,100 นี้มักจะหมายความว่าคุณ พยายามที่จะเข้าถึงหน้า 202 00:09:45,100 --> 00:09:46,230 แต่คุณยังไม่ได้เข้าสู่ระบบ 203 00:09:46,230 --> 00:09:50,500 ดังนั้นคุณลองไปบาง หรือสิ่งที่โปรไฟล์บน Facebook 204 00:09:50,500 --> 00:09:53,106 หรือคุณพยายามและการเข้าถึง some-- คุณอยู่ในที่ทำงาน 205 00:09:53,106 --> 00:09:56,619 คุณกำลังพยายามที่จะเข้าถึงบางสิ่งบางอย่าง บนอินเทอร์เน็ตที่ทำงานของคุณ 206 00:09:56,619 --> 00:09:57,660 แต่คุณไม่ได้เข้าสู่ 207 00:09:57,660 --> 00:09:58,740 คุณไม่สามารถดูหน้า 208 00:09:58,740 --> 00:10:01,770 คุณอาจจะได้รับ 401 ไม่ได้รับอนุญาต ซึ่งหมายความว่าเราอาจจะ 209 00:10:01,770 --> 00:10:06,590 จะสามารถที่จะตอบสนองคำขอนี้ แต่แรกที่คุณต้องเข้าสู่ระบบจะทำเช่นนั้น 210 00:10:06,590 --> 00:10:09,590 >> ในทางกลับกันคุณอาจได้รับ 403 พระราชวังต้องห้ามซึ่งเป็นมันไม่ได้จริงๆ 211 00:10:09,590 --> 00:10:11,490 ไม่ว่าคุณกำลังเข้าสู่ระบบหรือไม่ 212 00:10:11,490 --> 00:10:13,020 คำขอนี้ไม่ได้รับอนุญาต 213 00:10:13,020 --> 00:10:15,320 ทรัพยากรที่มีอยู่บนเซิร์ฟเวอร์ 214 00:10:15,320 --> 00:10:17,817 แต่คุณจะไม่อนุญาตให้เข้าใช้งานได้ 215 00:10:17,817 --> 00:10:20,900 ซึ่งมักจะเป็นไฟล์ภายในที่ อาศัยอยู่บนเซิร์ฟเวอร์ด้วยเหตุผลต่างๆ 216 00:10:20,900 --> 00:10:23,860 แต่ไม่ได้มีเจตนาที่จะเป็น เข้าถึงได้จากโลกภายนอก 217 00:10:23,860 --> 00:10:25,030 และเพื่อให้พวกเขาเป็นสิ่งต้องห้าม 218 00:10:25,030 --> 00:10:27,120 พวกเขาอาศัยอยู่ที่นั่น 219 00:10:27,120 --> 00:10:28,440 ผมไม่ได้บอกว่าฉันไม่สามารถหาได้ 220 00:10:28,440 --> 00:10:30,030 แต่ฉันบอกว่าฉันไม่สามารถให้มันอยู่กับคุณ 221 00:10:30,030 --> 00:10:32,071 และมันไม่สำคัญว่าถ้า คุณเข้าสู่ระบบหรือไม่ 222 00:10:32,071 --> 00:10:35,479 และแล้วแน่นอน ที่พบบ่อยมาก 404 ไม่พบ 223 00:10:35,479 --> 00:10:37,020 ไฟล์ที่ไม่ได้อยู่บนเซิร์ฟเวอร์ 224 00:10:37,020 --> 00:10:40,200 ฉันต้องการที่จะตอบสนอง คำขอของคุณ แต่ฉันไม่สามารถ 225 00:10:40,200 --> 00:10:43,390 >> นอกจากนี้คุณยังเห็นบางครั้งเซิร์ฟเวอร์ ข้อผิดพลาดที่พบมากที่สุดโดยทั่วไป 226 00:10:43,390 --> 00:10:46,990 เป็นข้อผิดพลาดเซิร์ฟเวอร์ภายใน 500 ซึ่ง ไม่จริงบอกอะไร 227 00:10:46,990 --> 00:10:50,200 ที่เกี่ยวกับสิ่งที่ได้ไปผิด 228 00:10:50,200 --> 00:10:53,290 แต่มันไม่จริงที่คุณทำ ผิดพลาดในการตามคำขอของคุณ 229 00:10:53,290 --> 00:10:58,200 เป็นจริงเซิร์ฟเวอร์ล้มเหลว เพื่อส่งมอบตามคำขออย่างใด 230 00:10:58,200 --> 00:11:00,040 ดังนั้น 500 คือการตอบสนองทั่วไป 231 00:11:00,040 --> 00:11:03,190 >> นอกจากนี้คุณยังจะเห็นบางสิ่งบางอย่าง เช่นบริการสามารถใช้งานได้ 232 00:11:03,190 --> 00:11:05,720 ซึ่งผมเชื่อว่าเป็นรหัส 503 233 00:11:05,720 --> 00:11:07,882 และถ้าเกตเวย์ Timeout-- คุณเคยมีหน้าเพียง 234 00:11:07,882 --> 00:11:09,590 นั่งโหลดที่นั่นและ โหลดและโหลด 235 00:11:09,590 --> 00:11:12,715 และคุณไม่เคยรู้ว่ามันเป็นไปได้ โหลดและแล้วในที่สุดมันก็ says-- 236 00:11:12,715 --> 00:11:13,650 เพียงแค่ให้ขึ้น 237 00:11:13,650 --> 00:11:15,460 นั่นเป็นเกตเวย์ 504 หมดเวลา 238 00:11:15,460 --> 00:11:17,600 เซิร์ฟเวอร์ต้องการที่จะ ดำเนินการตามคำขอของคุณ 239 00:11:17,600 --> 00:11:19,930 แต่สิ่งที่ผิดพลาด ใน side-- เซิร์ฟเวอร์ 240 00:11:19,930 --> 00:11:24,452 ไม่ได้อยู่ใน side-- ของคุณไป ทำให้เกิดการที่จะมีปัญหา 241 00:11:24,452 --> 00:11:27,410 ตอนนี้เราจะจบเรื่องที่นี่ แต่สิ่งที่ฉันจริงจะทำในขณะนี้ 242 00:11:27,410 --> 00:11:29,368 คือผมกำลังจะไปเปิด เบราว์เซอร์ของฉันและแสดงให้คุณเห็น 243 00:11:29,368 --> 00:11:32,250 วิธีที่คุณอาจจะสามารถมองเห็น บางส่วนของรหัสสถานะเหล่านี้ 244 00:11:32,250 --> 00:11:34,580 แม้ว่าคุณจะไม่ได้เห็นพวกเขาโดยทั่วไป 245 00:11:34,580 --> 00:11:39,090 และเรากำลังจะทำว่าด้วยการ ดูที่เครื่องมือสำหรับนักพัฒนาบางส่วน 246 00:11:39,090 --> 00:11:42,050 >> สิ่งที่ถูกต้องดังนั้นที่นี่ฉัน ขณะนี้อยู่ในหน้าต่างเบราว์เซอร์ 247 00:11:42,050 --> 00:11:45,840 และฉันต้องการที่จะเรียนรู้นิด ๆ หน่อย ๆ เพิ่มเติมเกี่ยวกับการร้องขอ HTTP เหล่านี้ 248 00:11:45,840 --> 00:11:49,060 ฉัน know-- แน่นอนเรารู้ว่าถ้าได้อย่างไร หน้า goes-- เมื่อสิ่งที่ผิดพลาด 249 00:11:49,060 --> 00:11:49,630 เราได้รับ 404 250 00:11:49,630 --> 00:11:50,465 เราได้เห็นว่า 251 00:11:50,465 --> 00:11:51,840 เราไม่จำเป็นต้องแสดงให้เห็นถึงว่า 252 00:11:51,840 --> 00:11:53,048 แต่สิ่งที่บางคนอื่น ๆ ? 253 00:11:53,048 --> 00:11:56,850 และวิธีที่เราจะได้เห็น การร้องขอเหล่านี้ในการดำเนินการ? 254 00:11:56,850 --> 00:11:59,990 >> ดังนั้นสิ่งแรกที่ผมกำลังจะไป ทำคือการเปิดเครื่องมือสำหรับนักพัฒนา 255 00:11:59,990 --> 00:12:02,580 ดังนั้นเครื่องมือสำหรับนักพัฒนาที่ถูกสร้างขึ้น ลงในเบราว์เซอร์ที่ทันสมัย​​ที่สุด 256 00:12:02,580 --> 00:12:06,020 และช่วยให้เราสามารถมองเห็นสิ่งที่ ที่เราทำไม่เป็นอย่างอื่น 257 00:12:06,020 --> 00:12:10,580 see-- การเรียงลำดับของข้อมูลบางอย่างเป็นพิเศษ ถูกส่งภายใต้เว็บของเรา 258 00:12:10,580 --> 00:12:11,500 การร้องขอ 259 00:12:11,500 --> 00:12:12,790 ฉันใช้ Google Chrome ที่นี่ 260 00:12:12,790 --> 00:12:16,900 และเพื่อเปิดเครื่องมือสำหรับนักพัฒนา ใน Chrome คุณเพียงแค่กด F-12 261 00:12:16,900 --> 00:12:18,729 และก็จะเปิด มันขึ้นอยู่ด้านข้าง 262 00:12:18,729 --> 00:12:21,770 เมื่อฉันพิมพ์คำขอที่ฉันจะซูมเข้า เพื่อให้เราสามารถมองเห็นสิ่งที่เกิดขึ้นที่นี่ 263 00:12:21,770 --> 00:12:28,530 แต่สิ่งที่ฉันจะทำอย่างไรในเบราว์เซอร์ บาร์ is-- และฉันจะซูมในกว่า here-- 264 00:12:28,530 --> 00:12:32,427 เราจะทำขอให้ www.google.com 265 00:12:32,427 --> 00:12:34,260 เราได้ทั้งหมดอาจจะทำ คำขอก่อนหน้านี้ 266 00:12:34,260 --> 00:12:35,400 ฉันจะกด Enter 267 00:12:35,400 --> 00:12:41,920 268 00:12:41,920 --> 00:12:46,400 >> ตอนนี้ที่นี่ในการพัฒนาของฉัน เครื่องมือฉันได้เลือกแท็บเครือข่าย 269 00:12:46,400 --> 00:12:48,010 และคุณสังเกตเห็นสิ่งต่างๆมากมายที่นี่ 270 00:12:48,010 --> 00:12:51,732 ดู these-- 200 ตกลง 200 ตกลงบางอย่าง ของรหัสสถานะเหล่านี้ขึ้นมา 271 00:12:51,732 --> 00:12:53,356 ผมไม่ทราบว่าทำไมฉันได้รับ 302 พบ 272 00:12:53,356 --> 00:12:54,860 ผมไม่ทราบผมจะเห็นว่า 273 00:12:54,860 --> 00:12:58,192 แต่โดยทั่วไปสังเกตเห็นว่าสวย มากในแง่ของ Google request-- ของฉัน 274 00:12:58,192 --> 00:13:00,150 ฉันทำที่ง่ายมาก ขอให้ Google หน้า 275 00:13:00,150 --> 00:13:02,890 และในกระบวนการของ การส่งมอบการร้องขอของฉัน 276 00:13:02,890 --> 00:13:05,670 Google ได้ทำให้เห็นได้ชัดมาก คำขออื่น ๆ ในนามของฉัน 277 00:13:05,670 --> 00:13:11,990 >> แต่ผมได้ทำคำขอได้รับสำหรับของ Google หน้าและฉันได้รับจำนวนมาก 200 OKs 278 00:13:11,990 --> 00:13:14,830 ฉันไม่เห็น 200 OK บน หน้าจอของฉัน แต่ฉันได้รับ 279 00:13:14,830 --> 00:13:17,170 จำนวนมากของการร้องขอที่ได้รับการทำ 280 00:13:17,170 --> 00:13:19,550 หนึ่งที่ฉันรัก แน่ใจว่าจะไปทำงาน 281 00:13:19,550 --> 00:13:21,920 is-- สำหรับบรรดาของคุณที่ จริงๆเก่าโรงเรียน 282 00:13:21,920 --> 00:13:26,012 คุณจะได้รู้ว่า Facebook เป็น ไม่เคยที่ Facebook.com 283 00:13:26,012 --> 00:13:29,780 ในวันแรกของมันเป็น ที่ wwww.thefacebook.com 284 00:13:29,780 --> 00:13:33,560 เห็นได้ชัดว่าพวกเขาไม่สามารถได้รับการเข้าถึง เพื่อ Facebook.com สำหรับค่อนข้างสักครู่ 285 00:13:33,560 --> 00:13:35,870 >> และเพื่อให้สิ่งที่ฉันคาดหวังว่า ที่นี่คือการได้รับข้อมูล 286 00:13:35,870 --> 00:13:37,315 และเราจะดูว่านี้ออกจากกระทะ 287 00:13:37,315 --> 00:13:39,190 สิ่งที่ฉันคาดหวังว่าที่นี่ คือการได้รับข้อมูล 288 00:13:39,190 --> 00:13:43,980 ว่า Facebook ได้ย้ายอย่างถาวร จากการ thefacebook.com Facebook.com 289 00:13:43,980 --> 00:13:46,830 ดังนั้นฉันคาดหวังว่าที่ใดที่หนึ่ง ใกล้ด้านบนของการร้องขอของฉัน 290 00:13:46,830 --> 00:13:50,730 มากกว่าในเครื่องมือสำหรับนักพัฒนาของฉัน ที่จะได้รับการแจ้งเตือน 301 291 00:13:50,730 --> 00:13:52,580 ว่า Facebook ได้ย้ายอย่างถาวร 292 00:13:52,580 --> 00:13:59,070 อีกครั้งผมจะไม่เห็น 301 บนหน้าจอเบราว์เซอร์ 293 00:13:59,070 --> 00:14:01,380 และเนื่องจากมันเป็น 301 มันเป็นย้ายถาวร 294 00:14:01,380 --> 00:14:03,500 เบราว์เซอร์ของฉันเป็นที่ มันเป็นเบราว์เซอร์ที่ทันสมัย 295 00:14:03,500 --> 00:14:06,110 อาจจะเปลี่ยนเส้นทาง ฉันไปอยู่แล้ว Facebook.com 296 00:14:06,110 --> 00:14:07,260 แต่เรามาดูสิ่งที่เกิดขึ้น 297 00:14:07,260 --> 00:14:09,340 >> และตอนนี้ผมกำลังจะไป ไป thefacebook.com 298 00:14:09,340 --> 00:14:11,370 และครับมีมันเป็นสิทธิที่ด้านบน 299 00:14:11,370 --> 00:14:13,390 มันเดินออกไป แต่มันก็มี 300 00:14:13,390 --> 00:14:14,820 ผมขอเลื่อนขึ้นที่นี่ 301 00:14:14,820 --> 00:14:18,004 302 00:14:18,004 --> 00:14:18,920 ที่นี่ที่ด้านบน 303 00:14:18,920 --> 00:14:23,080 ฉันทำขอให้ thefacebook.com ที่ และฉันได้รับการตอบสนอง 304 00:14:23,080 --> 00:14:25,410 ที่หน้านี้ได้ย้ายอย่างถาวร 305 00:14:25,410 --> 00:14:27,770 และแล้ว 307 นี่คือ เปลี่ยนเส้นทางภายใน 306 00:14:27,770 --> 00:14:30,680 ดังนั้นนี่คือสิ่งที่มีจริง ย้ายฉันไปที่อื่น ๆ อีกมากมาย 307 00:14:30,680 --> 00:14:33,330 คุ้นเคย www.facebook.com 308 00:14:33,330 --> 00:14:38,480 >> ดังนั้นการตอบสนองของรหัสเหล่านี้จะยังคง เกิดขึ้นแม้ว่าเราจะไม่เห็นพวกเขา 309 00:14:38,480 --> 00:14:40,710 ผมไม่ได้ไป แสดงให้เห็นถึง 401, 403, 404, 310 00:14:40,710 --> 00:14:43,090 เพราะคุณอาจจะเคยเห็น ผู้ที่จุดต่างๆ 311 00:14:43,090 --> 00:14:45,740 และ 500 ผมก็จะเป็น ชนิด of-- เราจะได้รับโชคดี 312 00:14:45,740 --> 00:14:50,380 ถ้ามี 500 เพราะเราไม่ทราบว่า เซิร์ฟเวอร์อยู่ในขณะนี้ลงที่ใดก็ได้ 313 00:14:50,380 --> 00:14:53,060 แต่รหัสเหล่านี้ทำ อยู่และมีวิธี 314 00:14:53,060 --> 00:14:58,610 ในการเข้าถึงพวกเขาได้ถ้าเราทำไม่ได้ เห็นพวกเขาโดยตรงในระบบของเรา 315 00:14:58,610 --> 00:14:59,530 ฉันลอยด์ดั๊ก 316 00:14:59,530 --> 00:15:01,570 นี่คือ CS50 317 00:15:01,570 --> 00:15:03,557