>> KONUŞMACI: en başka hakkında konuşalım Köprü Transferi protocol--
Protokol, veya HTTP.
Bu yüzden IP konuştuk ve daha önceki videolarda TCP.
Ve bu protokoller nasıl bilgi dikte olduğunu
makineden makineye taşınır ve programdan programa veya hizmetten
aracılığıyla, internet üzerinden hizmet yönlendiriciler ve makinelerin bu ağı.
>> Ama bu genellikle değil Sağ Resmin tamamını?
Genellikle biz göndermek Bilgi, program
itself-- veri Örneğin diyelim ki, alınan
TCP bağlantı noktası 25 veya üzeri e-postaya port 80 üzerinden web sayfası isteği,
Orada kurallar sistemi genellikle var Ben sadece aldığım şey işlemek için.
Ve HTTP bir örnektir sadece böyle bir protokol.
>> HTTP sadece uygulama katmanı protokolü
biz hakkında konuşmak için gidiyoruz.
Ama başka bir set nasıl dikte kurallar
Bilgi iletilecek ve internet üzerinden işlenen.
Özellikle, HTTP tam olarak nasıl belirler
biri için bir istek yapmalısınız Bir web sayfası ve tam olarak nasıl
Bir sunucu, bir makine Bu, web sayfalarını barındıran
Bu bilgi sunar müşterilerine geri.
>> Yani bu protokol yok aslında bir şey var
nasıl bilgi ile ilgisi A noktasından hareket
nokta B. Gerçekten var kurallar sistemin
for-- temelde kuralları var Bir web sayfası ile çalışmak için nişan,
ne zaman birine benzer size dalgalar ellerini,
Geri dalga zannediyorsunuz.
Bu bir tür var Geleneksel insan protokol.
HTTP protokolü sadece eğer diyor Eğer bir web istemeyi
sayfa, emin biçim görünüyor yapmak gibi biçimlendirme paha tür gibi
Örneğin bir iş mektubu.
Ve cevap benzer olacak Bu protokole göre geliyor.
Diğer vardır uygulama katmanı protokolleri
biz gitmiyorsun videoları hakkında konuşmak.
Ancak bu gibi şeyleri içerir Dosya Aktarım Protokolü,
Basit Posta Aktarım Protokolü e-posta göndermek, Veri Dağıtım
Servis, Uzak Masaüstü Protokol, RDP, hangi
uzaktan erişim istiyorsanız kullanılır başka bir bilgisayardan bilgisayar,
Sıklıkla XMPP, Jabber veya sohbet olarak bilinen
bu nedenle bu protokol Sohbet servislerini kullanmak için.
Ve çok, çok, pek çok diğerleri vardır.
>> Kullandığınız Yani her zaman Bir servis, hizmet
bilgi bekliyor bir istek received-- edilmesi
Bir in received-- olduğu Çok özel biçimi
ve gerekli olan geri iade bilgileri
çok özel bir biçimde de.
>> Yani bizim resme geri dönelim Bize internete konuşmak isteyen.
Bu yüzden mutluyuz ve biz istiyoruz Doğru, cats.com gitmek için?
Yani biz sadece cats.com konuştuğunuz takdirde, Biz hey gibi bir şey diyebilirsiniz
Ben ana sayfanızı görebilir?
Ve cats.com muhtemelen olacaktır Evet, tabii yanıt verir.
Hadi bakalım.
Yani bir insan bir tür var sormak-cevap.
>> Bu HTTP neye benziyor?
Şey, aslında bir tür çevirir Oldukça temiz böyle bir şey için.
Biz GET / HTTP / 1.1 diyebilirsiniz ev sahibi cats.com dan.
Yani temelde ne ben burada yapıyorum olduğunu web sayfası www.cats.com/~~pobj için soruyorum.
Biz genellikle slash atlarsanız Bugünlerde, ama bu olur sadece
cats.com Web Sitesini anlamına gelir.
>> Oh, ve bu arada, ben gidiyorum HTTP sürümünü kullanıyor olmak
1.1 sizinle iletişim kurmak için.
Bu tür benzer için var Bu arada, gibi, diyerek,
Ben konuşma gidiyorum Fransızca, ya da arada,
Ben İngilizce konuşan olacağım.
Bu protokol sadece biçimi değil.
Bu olduğu, aynı zamanda 1,0 var: Yaygın artık kullanılmamaktadır.
Yani HTTP 1.1 konuşma ve kulüpler Ben www.cats.com/~~dobj istiyorum.
Benim için olsun lütfen.
>> Ve sonra diğer bilgiler, var Nokta, nokta too--, orada nokta
Hangi bilgilerin hakkında Bunu kim cats.com
nereye göndermek bilemez.
Ancak bu ikisi kritik parçaların tür
başında bir HTTP request--
Sadece bir başlattığınızda gibi Söylediğin mektup, canım, boş.
Bu o kadar ruhuna çok benzer.
>> Ve cats.com gidiyor eğer oh, tabii, burada sen gitmek söylüyorlar.
Onlar gibi cevap olabilir bu-- Ben de cevap ediyorum.
Ben de HTTP 1.1 konuşuyoruz.
Talebiniz, 200 OK onaylanmıştır.
Ne üzeresin almak, sonra HTML ve bir
nokta, nokta, bazı ekstra bilgi nokta.
Ve çok altında istek aslında HTML,
işaretleme dili, cats.com Web Sitesini içeriği.
>> Yani HTTP / 1.1-- Ben sizin yanınızdaki kabul istek HTTP 1.1 üzerinden kabul edildi.
Sizin talebiniz kabul edildi.
Ben, ne istediğinizi 200 OK sana verebilirim.
HTML almak üzereyiz.
Ve sonra burada İstediğiniz HTML.
>> Ama bazen bizim istekleri yok her zaman oldukça planına göre gidin.
Ben senin cats.html sayfasını görebilir miyim?
Eh, biz ne söylersek Bir cats.html sayfası yok
hangi tür gerçek dışı görünüyor Onlar cats.com çünkü.
Onlar cats.html olurdu düşünmek istiyorum.
Ama tamam.
Yani bu tür bir Geleneksel insan etkileşimi
Şimdi cats.com ile yaşadım.
Nasıl tercüme mu?
>> Bu size tanıdık bir şey olabilir.
İsteğimiz, tam olarak aynı görünüyordu yerine alma eğik çizgi hariç
Şimdi cats.html alıyoruz.
Temelde Peki şimdi ne tüm bu istek bana verin lütfen söyleyerek olduğunu
www.cats.com/cats.html.
Ev sahibi ve orta Yani Bu üst satırında parçası
tam orada gösteriyor Ne sayfayı Ben soruyorum.
Ama bu durumda cats.com gitmiyor olumlu yanıt edebilmek için.
Onlar biz bahsediyoruz bilmiyorum.
Ve böylece bu aklınıza gelebilecek bir şeydir görülen before-- HTTP 1.1 404 Not Found.
Ne bulamadı Eğer soran bulundu.
Bu arada, sana vereceğim bazı geri HTML ve genellikle HTML olduğunu
Bazı 404 sayfa içeriğidir.
Ve söz konusu cats.com, bu muhtemelen
bir sepet ile bazı sevimli kedi üzgün 404 yüz yanlarında,
olmak için gidiyoruz çünkü üzücü sayfayı alamadım zaman
Eğer bu sizin için aradılar.
>> Bu ne temelleri tür protokol, HTTP protokol istekleri
benzemek.
Onlar biz nasıl gerçekten benzer konum Benzer bir etkileşim yapacak
Sadece insan sözleşmelerde bir şey soran
ve geri alma ya da yazma mektup ve cevap bekliyor
Belirli bir formatta mektup.
Bu hemen hemen ne HTTP sadece standart hale olduğunu
erişmek isteyen tüm cihazlar için web sayfaları, köprü transferleri.
>> Bu yüzden formu bir çizgi, bu yöntem isteği hedef HTTP sürümü,
bir HTTP isteği hattı denir.
Genellikle ilk şey HTTP isteğinin parçası olarak iletilen
veya HTTP için soruyorsun.
Dediğim gibi çeşit söyleyerek, duygu canım, üst mektup da boş.
Onlar olduğunu biliyorum Onlara bir mektup yazma.
Yani bu çok benzer söyleyerek, biliyorum
Onlar bir HTTP isteği yapıyoruz ve bu özel formatı
onlar için soruyorsun.
>> HTTP sürümü muhtemelen Her zaman HTTP / 1/1 olacak.
1.0 de var ama değil Gerçekten artık kullanılmaz.
CS50 amaçları doğrultusunda, GET hep muhtemelen
ne olacaksın Aslında olduğunuzda kullanarak
doğrudan HTTP isteklerini yapma.
Ama POST biz konum başka bir seçeneği olduğunu Şu anda konuşmak için gitmiyorum.
Ve sonra istek hedef ana sunucu hangi sayfa
Eğer almak istiyorum.
Dediğim gibi, o ana bilgisayar adı Ayrı bir çizgi genellikle, bir
Genel istek ikinci satırı.
Ve böylece, birlikte ev sahibi alındığı isim ve istek hedefi
Belirli belirtmek Kaynak aranmaktadır.
Ben, bir saniye önce bizim 404 örnekte www.cats.com tekrar soruyordu,
cats.com ev sahibi olmak.
Ve benim isteği doğrultusunda, I /cats.html bahsedilen.
O benim isteği hedefi oldu.
Yani genel soran oldu içeriği veya bulunduğu bir kaynak
www.cats.com/cats.html~~pobj at.
>> Ve sonra ister dayalı yani öz kaynağın mevcut
ve sunucu teslim olup olmadığını müşterinin uyarınca kaynak
istek, sen alabilirsiniz Geri çeşitli durum kodları.
Eğer gördüm bu durum kodlarından bazılarını Onlar cevap parçası çünkü.
Bazıları, 200 Tamam, vardır Muhtemelen oldukça sessiz.
Muhtemelen hiç görmedim Bir sayfa 200 OK yanıt verir.
Sadece sayfa olsun.
Bir 404 hatası gibi değil, hangi genellikle oldukça açıktır.
Genellikle bu 404 diyor görüyoruz.
>> Yani bazı ne konuşalım Bu durum kodlarının olabilir.
Yine, sunucu Bize cevap, onlar
HTTP sürümü durumunu cevap olacak.
Genellikle HTTP / 1.1.
Olacak bu durum kodları nelerdir?
Peki, biz bir başarı elde edebilirsiniz.
Başarı kategorisinde Yani, biz Metin OK kodu 200 alabilirsiniz.
Bu ne anlama gelir?
Peki, her şey iyidir.
Geçerli bir istekte bulundu.
İşte geçerli bir yanıt var.
Ben teslim başardı tam olarak ne istediğini.
>> Bazen başka şeyler alabilirsiniz hemen fark olmayacak
ama biraz hataları vardır.
Onlar denilen yönlendirmeleri konum.
Burada iki yaygın olanları var.
301 Taşındı Permanently-- Ne bu temelde demektir
sayfa yeni bir konuma şimdi olmasıdır.
Sonsuza kadar orada yaşayacak.
Ve çoğu tarayıcı olacak otomatik olarak yönlendirme.
Yani gerçekten görmek asla ya 301, sen olmadıkça
Gerçekten out-of-tarih kullanarak tarayıcı, büyük olasılıkla,
301 yanıt bir parçası olduğundan nokta, nokta, 301 yanıt nokta.
Yeni sayfa olduğu ayrıca size söyler.
Ve böylece çoğu tarayıcı olacak Sadece orada yönlendirme,
Eğer oraya gitmek istiyorum varsayarak.
>> Bazen de 302 buldum alırsınız.
Ve bu aslında Hala zaman zaman görebilirsiniz.
Bazen sayfalar geçici hareket.
Bu yüzden içine inşa edilecek gitmiyor tarayıcıyı söylüyorum isteği
kalıcı her zaman değiştirmek için bu isteği görür sizi
başka bir şey bunu değiştirmek için yapmak.
Yani 302 görebilirsiniz Ki bu temel olarak, Bulunan
Bu sayfayı başka bir yerde yaşıyor diyor.
Ama gitmiyor sonsuza kadar orada yaşıyor.
Sonunda muhtemelen gidecek geri Sence nerede.
>> Sonra bir şeyler alırsınız İstemci hataları gibi.
Yani bunlar ettik olanlar Muhtemelen şimdi, gördüm.
Muhtemelen görmedim 200'ler ya da 300s,
ama muhtemelen konum 400s aşina.
Ve biz konuşacağız ne Bir saniyede hakkında 500s de.
>> Sen 401 Yetkisiz görebilirsiniz.
Genellikle bu demektir Bir sayfaya erişmeye çalışırken,
ama giriş yapmamışsınız.
Yani denemek ve bazı gitmek profile veya Facebook bir şey
ya da denemek ve erişim some-- iş yerinde konum.
Bir şey erişmeye çalışıyoruz senin eserin internet,
ama giriş değiliz.
Sen sayfayı göremiyorum.
Sen 401 yetkisiz alabilirsiniz, hangi biz muhtemelen anlamına gelir
Bu isteğini yerine getirmek mümkün olacak, ama önce bunu yapmak için oturum açmanız gerekir.
>> Tersine, 403 alabilirsiniz Gerçekten değil hangi, Yasak
Eğer giriş ya da değilseniz önemli.
Bu istek izin verilmiyor.
Kaynak sunucuda var.
Ama bunu erişmek için izin verilmez.
Bu genellikle iç dosyalar olduğunu Çeşitli nedenlerle sunucu üzerinde canlı
ancak olması amaçlanmamıştır dış dünyadan erişilebilir,
ve bu yüzden yasaktır.
Onlar orada yaşıyor.
Ben bunu bulamıyorum demiyorum.
Ama ben sana bunu veremem diyorum.
Ve eğer önemli değil içinde ya da değil günlüğe ediyoruz.
Ve sonra tabii ki, çok yaygın 404 Not Found.
Dosya sunucusu üzerinde yok.
Ben tatmin etmek istiyorum İsteğiniz, ama yapamam.
>> Ayrıca bazen sunucu bakın hataları en yaygın, genel
varlık 500 iç sunucu hatası, hangi Aslında size bir şey söylemez
tüm yanlış gitti ne hakkında.
Ama sen yapma aslında değil İsteğiniz bir hata.
Aslında sunucu başarısız bulunuyor nasılsa istek üzerine teslim etmek.
Yani 500 genel yanıttır.
>> Ayrıca bir şey görürsünüz Hizmet Kullanılamıyor gibi
hangi inanıyorum kodu 503 olduğunu.
Ve Geçidi Timeout-- eğer Hiç bir sayfa vardı sadece
Orada yükleme oturup Yükleme ve yükleme
o gidiyor ve eğer sen asla bilemezsiniz Yük ve sonra sonunda sadece dedi ki--
Sadece vazgeçer.
Bu bir 504 Ağ geçidi zaman aşımı var.
Sunucu istedi İsteğinizi yürütmek,
ama bir şeyler ters gitti Sunucu tarafta-- üzerinde
değil sizin tarafta-- üzerinde Bu bir sorun neden olur.
Şimdi, biz burada hikaye bitebileceğini, ama aslında şimdi yapacağım şey
Ben açacağım olan Benim tarayıcı ve size göstermek
görmek mümkün olabilir nasıl Bu durum kodlarından bazılarını
Hatta genellikle onları görmüyorum eğer.
Ve biz alarak bunu gidiyoruz Bir Bazı geliştirici araçları bakmak.
>> Pekala ben burada So Şimdi benim tarayıcı penceresinde.
Ve ben biraz öğrenmek istiyorum Bu HTTP istekleri hakkında daha fazla bilgi.
Nasıl biz bilmek kesinlikle bilebiliyors-- Bir şeyler yanlış gittiğinde sayfa, goes--
Biz 404 olsun.
Hepimiz görmüştüm.
Biz göstermek gerekmez.
Ama diğer bazı olanları nelerdir?
Ve biz nasıl görmek istiyorsunuz eylem bu istekleri?
>> Ben gidiyorum Yani ilk şey do Geliştirici Araçları açmak olduğunu.
Yani Geliştirici Araçları inşa edilir en modern tarayıcılarda içine
ve bize şeyleri görmek için izin biz başka türlü değil yapmak
Bazı ekstra bilgi tür see-- Bizim web altında iletilen
istekleri.
Burada Google Chrome'u kullanıyorum.
Ve Geliştirici Araçları açmak için Chrome'da, sadece, F-12 hit
ve açmak için gidiyor tarafta o kadar.
Ben isteğini yazın keresinde yakınlaştırmak edeceğiz bu yüzden biz burada ne oluyor görebilirsiniz.
Ama benim tarayıcıda yapacağım şey Bu-- bar ve ben burada-- üzerinde yakınlaştırmak olacak
Ben www.google.com bir istek yapacak.
Hepimiz muhtemelen yaptık daha önce bu isteği.
Ben Enter tuşuna gidiyorum.
>> Şimdi, burada benim Developer üzerinde Araçlar, Ağ sekmesini seçtim.
Ve burada bir sürü şey fark.
These-- 200 OK, 200 OK, bazı bakmak Bu durum kodlarının geliyor.
Ben Bulundu 302 alıyorum neden bilmiyorum.
Ben bu bir görmek istiyorum farkında değildi.
Ama temelde fark oldukça Benim hakkında request-- açısından çok
Ben çok basit yapılmış Google'ın sayfasının isteği.
Ve işleminde benim isteği teslim
Google görünüşte bir çok iş yapmış benim adına diğer istekleri.
>> Ama Google'ın için bir get isteği yaptık sayfa ve ben 200 OKS çok alıyorum.
Ben OK 200 göremiyorum Benim ekran, ama ben alıyorum
yapılmış istekleri çok.
Ben güzel olduğumu Bir daha Emin işe gidiyor
o sizin için bu-- kim Gerçekten eski okul vardır,
Eğer Facebook olduğunu biliyor olabilir her zaman Facebook.com de.
Onun ilk günlerinde oldu wwww.thefacebook.com at.
Onlar görünüşte erişim alınamadı Oldukça kısa bir süre için Facebook.com için.
>> Ve bu yüzden bekliyorum Ne Burada bilgi elde etmektir.
Bu dışarı tava Ve eğer biz göreceğiz.
Ben burada ne bekliyorum bilgi almak için
Facebook kalıcı taşındığını thefacebook.com gelen Facebook.com için.
Yani bir yerde bekliyorum benim istekleri üstüne yakın
üzerinde benim Geliştirici Araçları 301 bildirim almak için
Bu Facebook kalıcı taşındı.
Yine, ben 301 görmeyeceğim Benim tarayıcı ekranında.
Ve bu 301, çünkü kalıcı bir hamle.
Varlık Benim tarayıcı, o, modern bir tarayıcı var
Muhtemelen yönlendirmek için gidiyor Zaten Facebook.com beni.
Ama ne olacağını görelim.
>> Ve şimdi ben gidiyorum thefacebook.com gidin.
Ve evet, orada sağ üst kısmında yer alır.
Bu gittiler, ama yoktu.
Beni burada yukarı edelim.
İşte burada üstünde.
Ben thefacebook.com bir istek yaptı ve ben bir yanıt alıyorum
bu sayfayı kalıcı taşındı.
Ve sonra 307 burada bir dahili yönlendirme.
Ve böylece bu aslında var ne daha bana taşındı
Tanıdık www.facebook.com.
>> Peki bu cevap kodları hala yapmak Onları görmüyorum bile olur.
Yapmayacağım göstermektedir 401, 403, 404,
muhtemelen gördüm çünkü çeşitli noktalarda olanlar.
Ve 500, ben sadece olurdu tür of-- biz şanslı olsun istiyorum
Bir 500 var eğer biz bilmiyoruz çünkü neyi sunucuların her yerde şu anda çöktü.
Fakat bu kodlar yapmak var, ve bir yol vardır
biz yapmak bile onlara erişmek için Bizim sistemlerde ilk elden görmek onları.
Ben Doug Lloyd değilim.
Bu CS50 olduğunu.