Előadó: Beszéljünk egy másik protocol-- a Hypertext Transfer Protokoll, illetve a HTTP. Szóval beszéltünk IP és a TCP korábbi videók. És ezek protokollok amelyek előírják, hogyan információk mozog-gépre, és programonként vagy szolgáltatás a szolgáltatás az interneten keresztül, keresztül ez a hálózat a router és a gépek. De ez általában nem A teljes képet, ugye? Általában, ha küldünk információ, a program itself--, amennyiben az adatok kapott, mondjuk, például, emailben TCP port 25 vagy weboldal kérést porton keresztül 80, ott általában egy szabályrendszer van feldolgozni azt, amit most kaptam. És a HTTP egy példa éppen egy ilyen protokollt. HTTP az egyetlen alkalmazási réteg protokoll hogy fogunk beszélni. De ez egy másik A szabályok diktálja, hogy hogyan információt kell továbbítani és feldolgozott az interneten keresztül. Közelebbről, a HTTP meghatározza, hogy pontosan hogyan Egy kérelmet kell benyújtania a egy weboldalt, és pontosan hogyan egy szerver, egy gép hogy a házigazdák weboldalakat, szállít az információkat vissza az ügyfeleknek. Tehát ez a protokoll nem valójában semmit köze van, hogy információkat mozog a pont- pont B. Ez tényleg A szabályrendszer for-- ez alapvetően szabályai elkötelezettség a munka egy weboldalt, hasonlóan ahhoz, amikor valaki hullámok a kezét rád, kéne intett vissza. Ez egyfajta hagyományos emberi protokollt. HTTP protokoll csak azt mondja, ha szeretne kérni a web oldal, győződjön meg róla formátumban néz ki mint this-- fajta, mint a formázás Egy üzleti levél, például. És a válasz hasonlóképpen gyere szerint ezt a protokollt. Vannak más alkalmazási réteg protokollok hogy mi nem fogunk beszélni a videókat. De ezek a dolgok, mint A File Transfer Protocol, Simple Mail Transfer Protocol for e-mail küldése, a Data Distribution Service, Remote Desktop Jegyzőkönyv RDP, amely használjuk, ha azt szeretné, hogy távolról hozzáférést A számítógép egy másik számítógépről, XMPP, amely gyakran néven Jabber vagy chat, így ez a protokoll A csevegés használatáról szolgáltatásokat. És sok-sok-sok más. Így minden alkalommal, amit használ egy szolgáltatás, a szolgáltatás vár információk kell received-- kérés hogy received-- egy nagyon különleges formátum és köteles vissza információkat vissza egy nagyon különleges formában is. Szóval menjünk vissza a illusztráció A velünk akar beszélni az interneten. Tehát mi vagyunk boldogok, és azt akarjuk, menni cats.com, ugye? Tehát, ha csak beszélgetünk, hogy cats.com, talán mond valamit, mint a hé, Lehet látni a honlapon? És cats.com valószínűleg válaszolni, igen, persze. Tessék. Szóval ez egy emberi sorrend A kérdezz-felelek. Mit jelent, hogy néz ki, mint a HTTP? Nos, ez valójában milyen fordítja elég tisztán, hogy valami ilyesmi. Azt mondhatjuk, GET / HTTP / 1.1 gazda cats.com. Tehát alapvetően mit csinálok itt kérve a weboldal www.cats.com/. Mi általában kihagyja a perjel manapság, de az csak jelenti cats.com honlapján. Ja, és mellesleg, megyek hogy a HTTP verzió 1.1 kommunikálni veled. Ez a fajta analóg mondván, mint egyébként, Megyek beszélni francia, vagy az úton, Én leszek beszél angolul. Ez csak a méret a protokoll. Ez is 1.0, ami Nem általánosan használt többé. Tehát beszélek HTTP 1.1, és a Szeretném www.cats.com/. Kérjük, hogy ezt nekem. És akkor ott van egyéb információk, too-- a pont, pont, pont ott, amely információkat aki van olyan cats.com tudni fogja, hol elküldeni. De ez a két egyfajta kritikus részeit a legelején A HTTP request-- mint amikor elkezd egy írni azt mondod, kedves, üres. Ez nagyon hasonló szellemben, hogy az. És ha cats.com fog azt mondják, ó, persze, tessék. Lehet, hogy válaszoljon, mint this-- Én is válaszol. Azt is beszélik HTTP 1.1. Az Ön kérelmet jóváhagyják, 200 OK. Mit fogsz megkapja a HTML majd dot, pont, pont egy kis plusz információt. És legalján a kérelmet valójában a HTML, A jelölőnyelv, a tartalmát cats.com honlapján. Tehát HTTP / 1.1-- Tudomásul veszem meg kérést elfogadta HTTP-n keresztül 1.1. Ön kérésére hagyták jóvá. Tudok adni neked, amit akarsz, 200 OK. Te arról, hogy megkapja a HTML. És akkor itt van a HTML, amit kért. De néha a kérésünk nem mindig megy elég a terv szerint. Láthatnám az cats.html oldalon? Nos, mi van, ha azt mondják, mi nincs cats.html oldal, amely úgy tűnik, egyfajta irreális mert ők cats.com. Azt hihetnénk, hogy ők lennének cats.html. De az OK gombra. Tehát ez a fajta a hagyományos emberi kapcsolatok amit most már a cats.com. Ez hogy lefordítani? Ez lehet valami ismerős. Kérésünkre nézett pontosan ugyanaz, kivéve ahelyett, hogy perjel mi most kezd cats.html. Szóval most mi alapvetően az egész kérés mondás kérek www.cats.com/cats.html. Így a fogadó és a középső része, hogy a felső sorban ott pontosan fel kell tüntetni milyen oldal kérek. De cats.com ebben az esetben nem fog hogy képes pozitívan reagálni. Nem tudják, mi beszélünk. És így ez az, amit lehet, hogy láttam before-- HTTP 1.1 404 Not Found. Én nem találja, amit Ön kértek. By the way, fogok adni vissza néhány HTML és általában az, hogy a HTML a tartalma néhány 404 oldal. És abban az esetben, cats.com, ez talán néhány aranyos macska egy kosárban Szomorú 404 arcát melléjük, mert te lesz szomorú, ha nem kap oldalon hogy kerestél. Ez a fajta az alapjait, amit a protokollt, a HTTP protokoll kérések hasonló. Ők tényleg hasonlít hogyan lenne egy hasonló interakciót mindössze emberi konvenciók kér valamit és kapok vissza, vagy írásban a írni és várta a választ írni egy bizonyos formátumban. Ez elég sok, amit HTTP csak canonicalizing az összes eszköz, hogy akarunk érni weboldalak, hipertext transzferek. Tehát egy sor formájában, ezt a módszer kérésére cél HTTP verzió, nevezzük egy HTTP kérés sorban. Ez általában az első dolog, ami részeként továbbított HTTP-kérelem vagy ha kérdezel HTTP. Ez a fajta, mint, ahogy mondtam, mondván Kedves, üres a tetején a levelet. Tudják, hogy te írás őket írni. Tehát ez nagyon hasonlít hogy azt mondja, tudom, hogy ők így egy HTTP kérés és ez a sajátos formátum ők kérnek. HTTP verzió valószínűleg Mindig lesz HTTP / 1/1. 1.0 is létezik, de nem igazán használható már. Céljából CS50, GET valószínűleg mindig mit fogsz lenni használja, ha te tényleg így közvetlen HTTP kérések. De POST egy másik lehetőség, hogy mi vagyunk Nem fog beszélni most. És akkor request-cél hogy melyik oldal a gazda szerver szeretne kapni. Mint mondtam, hogy a fogadó nevét egy külön sorban, általában A második sor a teljes kérelmet. És így együtt, a fogadó nevét és a kérelem cél adjon meg egy konkrét erőforrás keresik. A mi 404 Például egy második ezelőtt kérdezte ismét www.cats.com, cats.com hogy a házigazda. És a kérésem sorban, Azt mondta /cats.html. Ez volt a kérésem cél. Tehát összességében kértem a tartalmát, vagy az erőforrás található A www.cats.com/cats.html. És akkor az alapján, hogy Az erőforrás létezik és hogy a szerver nem lehet megvalósítani, Az erőforrás alapján az ügyfél kérés, akkor lehet, hogy Különböző státusz kódok vissza. Néhány ilyen státusz kódok láttad mert ők része a választ. Néhányan közülük, 200 OK, vannak Valószínűleg elég csendes. Ön valószínűleg soha nem láttam Oldal reagálni 200 OK. Te csak kap az oldalon. Nem olyan, mint egy 404-es hiba, ami általában elég egyértelmű. Ön általában látni, hogy azt mondja, 404. Szóval beszéljünk arról, amit néhány e státusz kódok lehetnek. Ismét, ha a szerver reagál ránk, ők fognak reagálni HTTP verzió állapotát. Általában a HTTP / 1.1. Mik ezek állapotát kódok lesz? Nos, lehet, hogy a siker. Tehát a siker kategóriában, mi lehet, hogy kód: 200 A szöveget az OK gombra. Mit is jelent ez? Nos, minden jó. Ön tett egy érvényes kérelmet. Itt egy érvényes választ. Azt tudta szállítani pontosan mit akart. Néha lehet, hogy más dolgok hogy nem veszi észre azonnal, de némileg hibák. Ők az úgynevezett átirányítás. Van két közös is van. 301 áthelyezve Permanently-- mi ez a lényegében azt jelenti, az oldal most egy új helyre. Ez lesz az ott élő örökké. És a legtöbb böngésző automatikusan átirányítja Önt. Így nem igazán látni 301-es, vagy, ha te egy igazán out-of-date böngésző, esetleg mert a 301 válasz része A dot, pont, pont a 301 választ. Azt is megtudhatja, hol az új oldal. És így a legtöbb böngésző Csak átirányítani oda, feltételezve, hogy szeretne menni. Néha akkor is kap 302 találat. És ez valóban Lehet még látni néha. Néha oldalak mozog átmenetileg. Szóval ez nem lesz beépítve a kérelem mondja a böngésző Ha tartósan módosítani bármikor látja a kérést, hogy hogy a változás, hogy valami mást. Szóval lehet, hogy lásd 302 Talált, amelyek alapvetően azt mondja, ez az oldal él valahol máshol. De ez nem fog ott élnek örökké. Előbb-utóbb valószínűleg menni vissza, ahol úgy gondolja, hogy ez. Akkor kapsz dolgokat például a kliens hibák. Tehát ezek azok, amit Nyilván mindenki látott már. Valószínűleg még nem láttam A 200s vagy 300s, de akkor valószínűleg ismeri a 400s. És ez az, amit fogunk beszélni körülbelül egy második, 500S is. Lehet, hogy lásd 401 Jogosulatlan. Általában ez azt jelenti, te megpróbál hozzáférni egy oldalt, de nem vagy bejelentkezve. Szóval megpróbálja menni néhány profil vagy valami a Facebook-on vagy megpróbálja hozzáférést some-- te a munkát. Megpróbálod elérni valamit a mű internet, de te nem vagy bejelentkezve. Nem lehet látni az oldalon. Lehet, hogy egy 401 engedély nélküli, ami azt jelenti, valószínűleg képes lesz kielégíteni ezt a kérést, de először meg kell lépnie erre. Ezzel szemben, akkor lehet, hogy 403 Tiltott, ami nem igazán számít, ha bejelentkezve, vagy nem. Ez a kérés nem engedélyezett. Az erőforrás létezik a kiszolgálón. De akkor nem szabad hozzáférni. Ez általában a belső fájlok él a szerver különböző okok miatt de nem célja, hogy érhető el a külvilágtól, és így tilos. Ők ott élnek. Nem azt mondom, én nem találom. De mondok én nem adhatok neked. És ez nem számít, ha Ön bejelentkezett-e vagy sem. És persze, a nagyon gyakori 404 Not Found. A fájl nem található meg a szerveren. Azt szeretnénk kielégíteni Ön kérésének, de nem tehetem. Azt is néha látni szerveren hibák, a leggyakoribb általában hogy 500 Internal Server Error, amely valójában nem mond semmit egyáltalán a mi ment rosszul. De ez valójában nem csinálsz egy hiba a kérését. Ez valójában a kiszolgáló elromlana hogy teljesítse a kérést valahogy. Tehát 500 az általános válasz. Azt is látni valamit mint a szolgáltatás nem érhető el, ami véleményem szerint kód 503. És Gateway Timeout-- ha Volt valaha egy oldalt csak üljön ott a be- és rakodási és rakodási és sosem tudhatod, hogy ez lesz a terheléssel, majd végül csak says-- Csak adja fel. Ez egy 504 Gateway Timeout. A szerver akart végrehajtani a kérést, de valami elromlott a kiszolgálón side-- Nem a side-- hogy okoz, hogy, hogy a probléma. Most is a végén a történet itt, de amit én valójában most tenni A fogom nyitni böngészőm, és megmutatom hogyan lehet látni Néhány ilyen státusz kódok akkor is, ha általában nem látjuk őket. És fogunk csinálni, hogy azáltal, hogy egy pillantást néhány fejlesztői eszközöket. Rendben Szóval itt vagyok most már az én böngészőablakban. És azt akarom, hogy tanulni egy kicsit További információ ezekről a HTTP kérések. Hogyan tudom-- biztosan tudjuk, hogy ha egy Oldal goes--, ha valami elromlik, kapunk egy 404. Mindannyian láttuk, hogy. Nem kell, hogy bemutassa ezt. De mi van néhány más is? És hogyan látjuk E kérelmek akcióban? Tehát az első dolog fogok tennünk, hogy megnyitjuk Fejlesztői eszközök. Tehát Developer Tools épülnek a legtöbb modern böngésző és lehetővé teszi számunkra, hogy lássa a dolgokat amit mi nem különben see-- néhány extra információt a fajta továbbított alatta web kérelmeket. Én a Google Chrome itt. És a nyitott Fejlesztői eszközök Chrome, akkor csak nyomd F-12, és ez meg fog nyitni fel az oldalán. Egyszer írja a kérést, én nagyítás így láthatjuk, hogy mi folyik itt. De mit fogok csinálni a böngészőben bár is-- és én nagyítás alatt here-- Teszek egy kérést www.google.com. Mindannyian valószínűleg történt ezt a kérést, mielőtt. Megyek az Enter leütése. Most, itt az én Fejlesztő Szerszámok, én kitaláltam a Hálózat fülre. És azt veszi észre, egy csomó dolog van. Nézd meg these-- 200 OK, 200 OK, néhány Ezen állapot kódokat jön. Nem tudom, hogy miért kapok 302 Talált. Nem vettem észre, én azt látom, hogy az egyik. De alapvetően észre, hogy elég sok, tekintve a Google request-- Csináltam egy nagyon egyszerű kérelem Google egyik oldalon. És a folyamat nyilvánított kérésemet, A Google úgy tűnik, egy csomó Más kérelmeket a nevemben. De Csináltam egy GET kérelem Google oldal, és kapok egy csomó 200 OKS. Nem látok 200 OK- én képernyőn, de kapok egy csomó kéri, hogy a tettek. Még egy, hogy csinos vagyok arról fog dolgozni is-- azok számára, akik nagyon old-school, Ön is tudja, hogy a Facebook volt Nem mindig a Facebook.com. A korai napokban volt A wwww.thefacebook.com. Úgy tűnik, nem kap hozzáférést a Facebook.com elég egy darabig. És akkor mi van várok Itt van, hogy információt. És majd meglátjuk, hogy ez a serpenyők ki. Mit várok itt az, hogy információkat hogy a Facebook költözött véglegesen re thefacebook.com a Facebook.com. Szóval várom valahol tetején a kérésemet mint az én Developer Tools hogy egy 301 bejelentés hogy a Facebook költözött véglegesen. Ismét nem fogom látni 301 a böngészőben képernyőn. És mivel ez egy 301, ez egy állandó mozgásban. Saját böngésző, az, hogy Ez egy modern böngésző, valószínűleg fog átirányítani nekem Facebook.com egyébként. De lássuk, mi történik. És most megyek megy thefacebook.com. És igen, ott van rögtön a csúcsra. Úgy ment el, de nem volt ott. Hadd lépjünk fel ide. Itt vagyok a csúcson. Csináltam egy kérést thefacebook.com, és kapok választ hogy ez az oldal költözött véglegesen. És akkor itt 307 Egy belső átirányítás. És így ez az, amit ténylegesen költözött el a sokkal ismerős www.facebook.com. Tehát ezek a választ kódok nem mindig történne, akkor is, ha nem látjuk őket. Én nem fogok illusztrálására 401, 403, 404, mert akkor már valószínűleg látott azok különböző pontjain. És 500, én csak lehet természetbeni of-- mi lennék szerencsés ha van egy 500 mert nem tudjuk, hogy mi szerverek jelenleg le sehova. De ezek a kódok nem létezik, és van egy módja eléréséhez, még ha mi nem látni őket első kézből rendszerünkben. Én Doug Lloyd. Ez CS50.