>> المتحدث: دعونا نتحدث عن آخر protocol-- نقل النص التشعبي
بروتوكول، أو HTTP.
لذلك تحدثنا عن IP وTCP في أشرطة الفيديو السابقة.
وتلك هي بروتوكولات التي تملي كيف المعلومات
التحركات من آلة إلى آلة و من برنامج لآخر أو خدمة
لخدمة عبر الإنترنت، عبر هذه الشبكة من أجهزة التوجيه والآلات.
>> ولكن هذا عادة لا الصورة بأكملها، أليس كذلك؟
عادة عندما نرسل المعلومات، وبرنامج
itself-- عندما تكون البيانات وردت، مثلا، على سبيل المثال،
في البريد الإلكتروني عبر منفذ TCP 25 أو طلب صفحة ويب عبر المنفذ 80،
هناك عادة نظام من القواعد هناك لمعالجة ما كنت تلقيت للتو.
وHTTP مثال من مثل هذا البروتوكول.
>> HTTP هو فقط بروتوكول طبقة التطبيقات
أننا ذاهبون للحديث عنها.
ولكن من مجموعة أخرى قواعد إملاء كيف
المعلومات إلى أن ينتقل ومعالجتها عن طريق الإنترنت.
على وجه الخصوص، HTTP يحدد بالضبط كيف
يجب على المرء أن يقدم طلبا ل صفحة على شبكة الإنترنت، وبالضبط كيف
خادم، آلة الذي يستضيف صفحات الويب،
يسلم تلك المعلومات دعم للعملاء.
>> لذلك هذا البروتوكول لا لديك أي شيء في الواقع
يتعلق بكيفية المعلومات ينتقل من النقطة (أ)
إلى النقطة B. انها حقا نظام القواعد
for-- انها في الاساس قواعد مشاركة للعمل مع صفحة ويب،
على غرار عندما شخص موجات ايديهم في لكم،
كنت من المفترض أن موجة الظهر.
هذا هو نوع من بروتوكول البشري التقليدي.
بروتوكول HTTP يقول فقط، إذا تريد طلب شبكة الإنترنت
الصفحة، تأكد يبدو الشكل الخاص بك مثل this-- نوع من مثل التنسيق
بريد إلكتروني الأعمال، على سبيل المثال.
وسوف الرد بالمثل تأتي وفقا لهذا البروتوكول.
هناك أخرى بروتوكولات طبقة التطبيقات
اننا لن الحديث عنها في أشرطة الفيديو.
ولكن هذه تشمل أشياء مثل بروتوكول نقل الملفات،
بروتوكول نقل البريد البسيط ل إرسال رسائل البريد الإلكتروني، وتوزيع البيانات
الخدمة، سطح المكتب البعيد بروتوكول RDP، التي
يستخدم إذا كنت ترغب في الوصول عن بعد جهاز الكمبيوتر الخاص بك من كمبيوتر آخر،
XMPP، وهو في كثير من الأحيان المعروفة باسم جابر أو الدردشة،
لذلك هذا هو البروتوكول لاستخدام خدمات الدردشة.
وهناك الكثير والكثير والكثير غيرها.
>> هكذا في كل مرة كنت تستخدم الخدمة، وخدمة
وتتوقع المعلومات أن received-- طلب
أن تكون received-- في شكل خاص جدا
ومطلوب ل العودة المعلومات مرة أخرى
في شكل خاص جدا كذلك.
>> لذلك دعونا نعود إلى التوضيح لدينا من منا يريد أن يتحدث إلى شبكة الإنترنت.
لذلك نحن سعداء، ونحن نريد للذهاب إلى cats.com، أليس كذلك؟
لذلك إذا كنا نتحدث فقط إلى cats.com، يمكننا القول شيء من هذا القبيل مهلا،
أستطيع أن أرى صفحتك الرئيسية؟
وcats.com سوف ربما الرد، نعم، بالتأكيد.
ها أنت ذا.
لذلك هذا هو نوع البشري من يسأل والأجوبة.
>> ماذا يعني أن تبدو وكأنها في HTTP؟
كذلك، فإنه في الواقع نوع من يترجم نظيفة جدا لشيء من هذا القبيل.
يمكننا القول GET / HTTP / 1.1 من cats.com المضيف.
وذلك أساسا ما أفعله هنا هو يسأل عن www.cats.com/ صفحة على شبكة الإنترنت.
نحن عادة تجاهل مائل في الوقت الحاضر، ولكن هذا من شأنه فقط
يعني زيارة cats.com ل.
>> أوه، وبالمناسبة، أنا ذاهب أن يكون باستخدام الإصدار HTTP
1.1 إلى التواصل معك.
هذا نوعا من مماثلة ل قال: مثل، بالمناسبة،
انا ذاهب الى أن أتكلم في الفرنسية، أو بالمناسبة،
أنا ذاهب لتكون الناطقة باللغة الإنجليزية.
هذا مجرد شكل من البروتوكول.
كما انها 1.0، وهو لا تستخدم عادة بعد الآن.
لذلك أنا أتحدث HTTP 1.1 و أود www.cats.com/.
يرجى الحصول على ذلك بالنسبة لي.
>> وبعد ذلك هناك معلومات أخرى، too-- النقطة، نقطة، نقطة هناك،
التي هي المعلومات حول من أنت حتى cats.com
من شأنه أن نعرف إلى أين إرسالها.
ولكن هذه هي اثنين نوع من الأجزاء الهامة
في البداية من HTTP request--
تماما مثل عند بدء تشغيل الرسالة تقول، يا عزيزي، لم تحدد.
وهذا مشابه جدا في روح لذلك.
>> وإذا cats.com هو الذهاب الى أقول، يا، بالتأكيد، وهنا تذهب.
أنها قد ترد مثل this-- أنا الاستجابة أيضا.
وأتكلم أيضا HTTP 1.1.
تمت الموافقة على طلبك، 200 OK.
ما كنت على وشك تستلم HTML ومن ثم
نقطة، نقطة، نقطة بعض المعلومات الإضافية.
وعلى الجزء السفلي جدا من طلب هو في الواقع HTML،
اللغة الترميزية، و محتوى موقع cats.com ل.
>> حتى HTTP / 1.1-- أعترف بك تم قبول طلب عبر HTTP 1.1.
وقد تمت الموافقة على طلبك.
وأستطيع أن أعطي لكم ما تريدون، 200 OK.
كنت على وشك أن تلقي HTML.
ثم ها هي HTML التي طلبتها.
>> لكن في بعض الأحيان طلباتنا لا دائما الذهاب تماما وفقا للخطة الموضوعة.
يمكنني رؤية الصفحة cats.html الخاصة بك؟
حسنا، ماذا لو يقولون نحن لم يكن لديك صفحة cats.html،
الذي يبدو نوع من غير واقعي لأنهم cats.com.
كنت أعتقد سيكون لديهم cats.html.
لكن موافق.
لذلك هذا هو نوع من التفاعل البشري التقليدي
لقد كان ونحن الآن مع cats.com.
كيف تترجم؟
>> قد يكون هذا شيء مألوف لك.
طلبنا بدا بالضبط نفس، باستثناء بدلا من الحصول مائل
نحن الآن الحصول على cats.html.
وحتى الآن أساسا ما هذا كله طلب يقول هو الرجاء اعطائي
www.cats.com/cats.html.
لذلك المضيف والمتوسطة جزء من هذا الخط الأعلى
هناك تشير بدقة ما الصفحة أطلبه.
ولكن cats.com في هذه الحالة لن لتكون قادرة على الاستجابة.
انهم لا يعرفون أننا نتحدث عنه.
وحتى هذا شيء قد يكون لديك شهدت HTTP before-- 1.1 404 لم يتم العثور على.
لم استطع العثور على ما كنت تسأل عنه.
بالمناسبة، أنا ذاهب الى ان نعطيكم يعود بعض HTML، وعادة ما HTML
هو مضمون ما يقرب من 404 صفحة.
وفي حالة cats.com، هو على الأرجح
بعض القطط لطيف في سلة مع حزين 404 وجه بجانبها،
لأنك ستكون حزين عندما كنت لا تحصل على الصفحة
الذي كنت تبحث عنه.
>> هذا النوع من أساسيات ما بروتوكول، وطلبات بروتوكول HTTP
تبدو وكأنها.
انهم حقا مماثل لكيفية من شأنه أن يجعل التفاعل مماثلة
في الاتفاقيات فقط الإنسان يسأل عن شيء
والحصول على إعادته أو كتابة الرسالة وتتوقع استجابة
حرف في شكل خاص.
هذا الى حد كبير ما HTTP هو مجرد canonicalizing
لجميع الأجهزة التي ترغب في الوصول إليها صفحات الويب، ونقل النص التشعبي.
>> حتى خط النموذج، هذا طريقة إصدار طلب HTTP الهدف،
ويسمى خط طلب HTTP.
انها عادة ما تكون أول شيء هو تنتقل كجزء من طلب HTTP
أو إذا كنت طالبا للHTTP.
انها نوع من أحب، كما قلت، قائلا عزيزي، لم تحدد في أعلى الرسالة.
وهم يعرفون أنك كتابتها بريد إلكتروني.
لذلك هذا هو مشابه جدا لقوله، وأنا أعلم
انهم إجراء طلب HTTP وهذا هو شكل خاص
انهم يطلبون.
>> نسخة HTTP هو على الارجح دائما ما يكون HTTP / 1/1.
1.0 موجود أيضا ولكن ليس تستخدم حقا بعد الآن.
لأغراض CS50، GET هو على الارجح دائما
ما كنت على وشك أن باستخدام عندما كنت فعلا
تقديم طلبات HTTP مباشرة.
ولكن المنصب هو خيار آخر أننا لن نتحدث عن الوقت الحالي.
ثم طلب-الهدف ما الصفحة على الخادم المضيف
كنت ترغب في الحصول عليها.
كما قلت، أن اسم المضيف هو خط مستقل، وعادة
السطر الثاني من الطلب الكلي.
وهكذا أخذت معا، المضيف الاسم والهدف الطلب
تحديد محددة الموارد المطلوبة.
لدينا في 404 سبيل المثال قبل الثانية، وأنا كان يسأل مرة أخرى لwww.cats.com،
cats.com كونها البلد المضيف.
وفي خط بلدي الطلب، قلت /cats.html.
كان هذا الطلب هدفي.
عموما حتى كنت طالبا لل محتويات أو الموارد الموجودة
في www.cats.com/cats.html.
>> وتقوم بعد ذلك على ما إذا كان وجود الموارد
وعما إذا كان يمكن أن يحقق الخادم مورد عملا العميل
طلب، قد تحصل رموز الحالة مختلفة الظهر.
بعض من هذه الرموز الحالة التي رأيت لأنهم جزء من الاستجابة.
بعض منهم، 200 OK، هي ربما الصمت جدا.
ربما كنت لم أر قط صفحة تستجيب 200 OK.
كنت مجرد الحصول على الصفحة.
انها ليست مثل خطأ 404، التي عادة ما تكون واضحة جدا.
كنت عادة ما نرى أنه يقول 404.
>> لذلك دعونا نتحدث عن بعض ما هذه رموز الحالة قد يكون.
مرة أخرى، عندما يكون الخادم يستجيب لنا، وانهم
الذهاب للرد HTTP وضع الإصدار.
عادة HTTP / 1.1.
ما هي رموز الحالة هذه ستكون؟
حسنا، نحن قد تحصل على النجاح.
وذلك في فئة النجاح، ونحن قد تحصل على رمز 200 مع OK النص.
ماذا يعني هذا؟
حسنا، كل شيء جيد.
يمكنك تقديم طلب صالح.
وهنا استجابة صحيحة.
وكنت قادرا على تقديم بالضبط ما تريد.
>> أحيانا قد تحصل أمور أخرى أنك لن تلاحظ على الفور
ولكنها إلى حد ما فشل.
انهم يسمى إعادة توجيه.
هناك اثنين من تلك الشائعة هنا.
301 Permanently-- منقول ما هذا يعني أساسا
هي الصفحة هي الآن في مكان جديد.
وسوف تعيش هناك إلى الأبد.
ومعظم المتصفحات إعادة توجيه تلقائيا.
لذلك عليك أن لا ترى حقا 301، أما، إلا إذا كنت
باستخدام حقا خارج التاريخ متصفح، ربما،
لأن الاستجابة 301 جزء من النقطة، نقطة، نقطة للاستجابة 301.
كما يخبرك فيها في الصفحة الجديدة.
وهكذا فإن معظم المتصفحات مجرد توجيه كنت هناك،
على افتراض أن كنت ترغب في الذهاب إلى هناك.
>> في بعض الأحيان عليك أيضا الحصول على 302 وجدت.
وهذا واحد كنت في الواقع قد لا تزال ترى في بعض الأحيان.
أحيانا صفحات تتحرك بشكل مؤقت.
لذلك لن يكون في صلب طلب إخبار المتصفح
لتغيير أي وقت بشكل دائم فإنه يرى أن أطلب منكم أن
جعل تغييره إلى شيء آخر.
لذلك قد ترى 302 وجدت، والتي في الأساس
يقول تعيش هذه الصفحة في مكان آخر.
ولكنه لن تعيش هناك إلى الأبد.
انها في نهاية المطاف ربما يذهب العودة إلى حيث كنت أعتقد أنه هو.
>> ثم عليك الحصول على الأشياء مثل أخطاء العميل.
لذلك هذه هي تلك التي قمت ربما ينظر الآن.
وربما كنت لم أر و200S أو 300S،
ولكن ربما كنت دراية 400S.
وهذا ما سنتحدث حول في الثانية، 500S كذلك.
>> قد تشاهد 401.
عادة هذا يعني أنك في محاولة للوصول إلى صفحة،
ولكنك لم تقم بتسجيل الدخول.
لذلك حاولت والذهاب الى بعض ملف أو شيء من هذا في الفيسبوك
أو حاولت وصول some-- كنت في العمل.
كنت في محاولة للوصول إلى شيء على الانترنت العمل الخاص بك،
ولكن كنت لم تقم بتسجيل الدخول.
لا يمكنك مشاهدة الصفحة.
قد تحصل على 401، وهو ما يعني أننا ربما
سوف تكون قادرة على تلبية هذا الطلب، ولكن تحتاج أولا لتسجيل الدخول إلى القيام بذلك.
>> على العكس، قد تحصل على 403 ممنوع، والذي هو في الحقيقة لا
يهم إذا كنت مسجلا أم لا.
لا يسمح هذا الطلب.
وجود المورد على الملقم.
ولكن لا يسمح لك للوصول إليه.
هذا هو عادة الملفات الداخلية التي العيش على الخادم لأسباب مختلفة
ولكن لا يقصد به أن يكون الوصول إليها من العالم الخارجي،
وحتى أنهم ممنوعون.
وهم يعيشون هناك.
أنا لا أقول أنا لا يمكن العثور عليه.
ولكن أنا أقول لا أستطيع أن تعطيه لك.
وأنه لا يهم إذا قمت بتسجيل الدخول أم لا.
ثم بطبيعة الحال، شائعة جدا 404 لم يتم العثور على.
عدم وجود الملف على الخادم.
وأود أن ترضي طلبك، ولكن لا أستطيع.
>> أنت أيضا في بعض الأحيان نرى الخادم الأخطاء الأكثر شيوعا عموما
يجري 500 خطأ خادم داخلي، التي لا أقول لك شيئا في الواقع
في كل شيء عن ما حدث من أخطاء.
ولكنها ليست في الواقع جعل لكم خطأ في طلبك.
انها في الواقع خادم فشل لتقديم على طلب بطريقة أو بأخرى.
حتى 500 هو الاستجابة العامة.
>> كما سترى شيئا مثل الخدمة غير متوفرة،
والتي أعتقد هو رمز 503.
وTimeout-- بوابة إذا سبق لك صفحة فقط
الجلوس هناك وتحميل التحميل والتحميل
وأنت لا تعرف ما اذا كان الذهاب الى تحميل ثم في نهاية المطاف says-- فقط
فقط يتخلى.
هذا هو مهلة بوابة 504.
أراد الخادم ل تنفيذ طلبك،
ولكن ما حدث من خطأ على side-- الخادم
ليس على side-- ل يسبب هذا مشكلة.
الآن، ونحن يمكن أن تنتهي القصة هنا، ولكن ما أنا فعلا تنوي القيام به الآن
وانا ذاهب لفتح متصفحي وتظهر لك
كيف يمكن أن تكون قادرا على رؤية بعض من هذه الرموز الوضع
حتى لو كنت لا ترى عادة لهم.
ونحن في طريقنا للقيام بذلك عن طريق أخذ لنلقي نظرة على بعض أدوات المطورين.
>> كل الحق حتى هنا أنا الآن في نافذة المتصفح.
وأريد أن أتعلم قليلا المزيد عن هذه الطلبات HTTP.
كيف يمكنني know-- بالتأكيد نحن نعرف ما إذا كان الصفحة goes-- عندما يكون هناك شيء يذهب على نحو خاطئ،
نحصل على 404.
لقد رأينا كل ذلك.
نحن لسنا بحاجة لتوضيح ذلك.
ولكن ما هي بعض القضايا الأخرى؟
وكيف نرى هذه الطلبات في العمل؟
>> أول شيء لذلك أنا ذاهب ل القيام به هو فتح أدوات المطور.
حتى يتم بناء أدوات المطور في معظم المتصفحات الحديثة
وتسمح لنا أن نرى الأشياء ما نقوم به ليس إلا
see-- نوعا معلومات إضافية من بثها على شبكة الانترنت تحت
الطلبات.
أنا باستخدام جوجل كروم هنا.
وفتح أدوات المطور في كروم، كنت مجرد ضرب F-12،
وانه سيكون لفتح هذا الامر على الجانب.
مرة واحدة وأنا اكتب هذا الطلب، سوف تكبير حتى نتمكن من معرفة ما يحدث هنا.
ولكن ما أنا ذاهب الى القيام به في متصفحي منع is-- وسوف التكبير في أكثر من here--
سأقدم طلبا إلى www.google.com.
لدينا جميعا وربما قدم هذا الطلب من قبل.
انا ذاهب الى هاهنا.
>> الآن، أكثر من هنا في بلدي المطور أدوات، لقد اختار علامة التبويب الشبكة.
وستلاحظ الكثير من الأشياء هنا.
ننظر these-- 200 OK، 200 OK، بعض هذه رموز الحالة المقبلة.
أنا لا أعرف لماذا أنا الحصول على 302 وجدت.
لم أكن أدرك أنني كنت أرى أن واحد.
ولكن لاحظ أن الأساس جدا من ذلك بكثير، من حيث request-- Google الخاص بي
أدليت به بسيط جدا طلب لصفحة غوغل.
وفي عملية تقديم طلبي،
غوغل على ما يبدو الكثير من طلبات أخرى نيابة عني.
>> ولكن لقد قدمت طلب الحصول على جوجل الصفحة وانني اتلقى الكثير من 200 أكس.
أنا لا نرى 200 OK على شاشة بلدي، ولكن انني اتلقى
الكثير من الطلبات التي تم إجراؤها.
واحد أكثر من أنا جميلة تأكد من الذهاب إلى العمل
is-- لأولئك منكم الذين حقا المدرسة القديمة،
تعلمون أن الفيسبوك كان ليس دائما في Facebook.com.
كان في أيامه الأولى في wwww.thefacebook.com.
يبدو أنهم لا يمكن الوصول إلى Facebook.com لحظة تماما.
>> وذلك ما أتوقع هنا هو الحصول على المعلومات.
وسنرى ما إذا كان هذا الأحواض.
ما أتوقع هنا هو الحصول على المعلومات
أن الفيسبوك انتقلت بشكل دائم من thefacebook.com إلى Facebook.com.
لذلك أتوقع في مكان ما بالقرب من أعلى طلباتي
أكثر في بلدي أدوات المطور للحصول على إشعار 301
أن الفيسبوك قد انتقلت بشكل دائم.
مرة أخرى، وأنا لا أرى 301 على الشاشة متصفحي.
وبسبب انها 301، انها خطوة دائم.
متصفحي، ويجري ذلك انها متصفح حديث،
من المحتمل ان إعادة توجيه لي أن Facebook.com على أي حال.
ولكن دعونا نرى ما سيحدث.
>> والآن أنا ذاهب ل انتقل إلى thefacebook.com.
ونعم، هناك هو الحق في الأعلى.
أنه ذهب بعيدا، ولكن كان هناك.
اسمحوا لي أن انتقل لأعلى هنا.
هنا في الأعلى.
لقد تقدمت بطلب لthefacebook.com، وأنا الحصول على رد
أن هذه الصفحة قد تم نقله نهائيا.
ثم هنا هو 307 لإعادة توجيه داخلي.
وهكذا وهذا هو في الواقع ما انتقلت لي إلى أكثر من ذلك بكثير
www.facebook.com مألوفة.
>> لذلك فان هذه الرموز استجابة تفعل ما زال يحدث، حتى لو كنا لا نراهم.
أنا لا أذهب إلى توضيح 401، 403، 404،
لربما كنت قد رأيت تلك في نقاط مختلفة.
و 500، وسأكون فقط نوع of-- كنا محظوظا
إذا حصلت على 500 لأننا لا نعرف ما الملقمات حاليا أسفل في أي مكان.
ولكن هذه الرموز تفعل موجودة، وهناك طريقة
للوصول إليها حتى إذا لم نفعل ذلك نراهم مباشرة على أنظمتنا.
أنا دوغ ويد.
هذا هو CS50.