SPEAKER: Poďme sa baviť o ďalšie protocol-- Hypertext Transfer Protokol, alebo HTTP. Takže sme hovorili o IP a TCP v predošlých videí. A to sú protokoly že diktovať, ako informácie sa pohybuje od stroja k stroju a program od programu alebo služby do prevádzky cez internet, prostredníctvom Táto sieť routerov a strojov. Ale to zvyčajne nie je celý snímku, je to tak? Zvyčajne, keď sme sa poslať informácie, program itself-- keď dáta dostal, povedzme, napríklad, v e-mailu cez TCP port 25 alebo jeho webové stránky žiadosť cez port 80, tam je zvyčajne systém pravidiel existuje spracovať to, čo som práve dostal. A HTTP je príklad práve takéto protokolu. HTTP je jediný protokol aplikačnej vrstvy že budeme hovoriť. Ale to je ďalšia sada pravidiel diktovať, ako informácie majú odovzdávať a spracovávané prostredníctvom internetu. Najmä, HTTP určuje, ako presne jeden musí požiadať o webové stránky a presne, ako server, stroj ktorý je hostiteľom webovej stránky, dodáva, že informácie späť ku klientom. Takže tento protokol nie je vlastne nič robiť s tým, ako informácie sa pohybuje z A do bodu B. Je to naozaj systém pravidiel for-- je to v podstate pravidlá angažovanosť pre prácu s webovú stránku, podobne ako keď niekto vlny svoju ruku na vás, ste mal zamávať späť. To je niečo ako konvenčné človek protokol. HTTP protokol len hovorí, ak Ak chcete požiadať o web stránky, uistite sa, že je formát vzhľad ako tohle-- Niečo ako formátovanie obchodný list, napríklad. A odpoveď bude podobne prichádzajú podľa tohto protokolu. K dispozícii sú ďalšie aplikačnej vrstvy protokoly že my nebudeme hovoriť o tom, v videí. Ale títo zahŕňajú veci ako File Transfer Protocol, Simple Mail Transfer Protocol pre odosielanie e-mailov, distribúcia dát Servis, Remote Desktop Protokol, RDP, ktorý sa používa, ak chcete vzdialený prístup váš počítač z iného počítača, XMPP, čo je často známy ako Jabber, alebo chatu, tak toto je protokol pre používanie služieb chatu. A existuje mnoho, mnoho, mnoho ďalších. Takže zakaždým, keď používate služba, služba očakáva informácie , Ktoré majú byť received-- žiadosť byť received-- v veľmi zvláštne formát a je povinný vráti informácie späť vo veľmi konkrétnom formáte rovnako. Takže poďme späť k nášmu ilustrácie z nás chcel prehovoriť k internetu. Takže sme šťastní, a chceme ísť do cats.com, že jo? Takže keď sme sa rozprávali na cats.com, mohli by sme povedať niečo ako hej, Vidím svoju domovskú stránku? A cats.com bude pravdepodobne reagovať, jo, určite. Nech sa páči. Tak to je človek druh z ask-a-odpoveď. Čo to vyzerať v HTTP? No, je to vlastne druh prekladá docela čisto na niečo také. Mohli by sme povedať, GET / HTTP / 1.1 z hostiteľského cats.com. Takže v podstate to, čo robím, je tu žiada webové stránky www.cats.com/~~pobj. Zvyčajne sme vynechať lomítko v dnešnej dobe, že by ale rovnako znamenať cats.com domovskú stránku. Jo, a mimochodom, ja idem že používate verziu protokolu HTTP 1.1 s vami komunikovať. To je druh analogické hovoriť, rovnako ako, mimochodom, Budem hovoriť vo francúzštine, alebo len tak mimochodom, Ja budem hovoriť v angličtine. To je len formát protokolu. Je to tiež 1,0, čo je nie bežne používať. Takže som hovoril protokolu HTTP 1.1, a Rád by som www.cats.com/~~dobj. Prosím, že pre mňa. A potom je tu ďalšie informácie, too-- bodka, bodka, bodka tam, čo je informácia o kto ste tak cats.com by vedieť, kam poslať. Ale to sú dva druh kritických častí na samom začiatku z HTTP request-- rovnako ako keď zahájite písmeno hovoríš, drahá, prázdny. To je veľmi podobný v duchu na to. A ak cats.com bude hovoria, oh, iste, tu to máte. Môžu reagovať ako tohle-- Som tiež reagovať. Tiež hovorím protokolu HTTP 1.1. Vaša žiadosť schválená, 200 OK. Čo ste asi prijímať je HTML a potom dot, dot, dot nejaké ďalšie informácie. A na samom dne požiadavka je vlastne HTML, značkovací jazyk sa Obsah cats.com domovskej stránky. Takže HTTP / 1.1-- Beriem na vedomie Váš žiadosť bola prijatá prostredníctvom protokolu HTTP 1.1. Vaša požiadavka bol schválený. Môžem vám to, čo chcete, 200 OK. Chystáte sa prijímať HTML. A potom tu je HTML, ktoré ste žiadali. Ale niekedy naše požiadavky nemajú vždy ísť úplne podľa plánu. Môžem vidieť váš cats.html stránku? No, čo keď hovoria, my nemajú stránky cats.html, čo sa zdá byť trochu nereálne preto, že sú cats.com. Človek by si myslel, že bude mať cats.html. Ale na tlačidlo OK. Tak toto je trochu z konvenčné ľudskej interakcie Teraz sme mali s cats.com. Ako to, že preložiť? To by mohlo byť niečo, čo poznáte. Náš požiadavka vyzeral presne rovnaký, s výnimkou toho, ako sa dostať lomky sme teraz dostáva cats.html. Takže čo teraz v podstate celý tento Požiadavka hovorí sa, prosím daj mi www.cats.com/cats.html. Takže hostiteľom a stredu súčasťou tohto hornom riadku tam presne uvedené, čo strana žiadam. Cats.com v tomto prípade, ale nebude aby bol schopný reagovať pozitívne. Nevedia, že hovoríme o. A tak to je niečo, čo môže mať Videl before-- HTTP 1.1 404 Not Found. Nemohol som nájsť to, čo si sa pýtal na. Mimochodom, budem vám späť časť HTML, a zvyčajne, že HTML je obsah niektorých 404 stránky. A v prípade cats.com, je to asi niektoré roztomilé mačky v koši s smutná 404 tvár vedľa nich, pretože ste bude smutné, keď sa nechcete dostať stránku ktoré ste hľadali. Je to niečo ako základy, čo je to protokol, požiadavky protokolu HTTP vyzerať ako. Sú to naozaj podobné, ako by podobné interakcie v púhych ľudských dohovoroch žiadať o niečo a dostať ju späť alebo zápisu písmeno a očakáva odpoveď List v určitom formáte. To je celkom veľa, čo HTTP je len canonicalizing pre všetky zariadenia, ktoré chcú prístup webové stránky, hypertextové prevody. Tak rad forme, toho metóda požiadavke cieľovej HTTP verzie, sa nazýva požiadavke HTTP linku. Je to obvykle prvá vec, ktorá je prenášané ako súčasť požiadavke HTTP alebo ak sa pýtate pre HTTP. Je to niečo ako, ako som povedal, povedal milý, prázdny hore Vášho listu. Vedia, že si písanie im list. Tak to je veľmi podobné sa hovorí, ja viem, že robíte požiadavka HTTP a to je zvláštne formát oni žiadajú. Verzia HTTP je pravdepodobne vždy bude HTTP / 1/1. 1,0 tiež existuje, ale nie je naozaj používať. Na účely CS50, GET je pravdepodobne vždy čo ste bude použitie, keď ste vlastne predkladanie žiadostí o priame HTTP. Ale POST je ďalšia možnosť, že sme nebude hovoriť o práve teraz. A potom request-cieľ čo stránky na serveri hostiteľa chcete sa dostať. Ako som povedal, že názov hostiteľa je samostatný riadok, zvyčajne druhý riadok celkovej požiadavky. A tak dohromady, hostiteľa meno a cieľová žiadosť špecifikovať konkrétny zdroj žiada. V našom príklade 404 pred druhým, I pýtal znovu www.cats.com, cats.com bytia hostiteľ. A v mojom riadku požiadavke, Povedal som /cats.html. To bol môj cieľ žiadosť. Takže celkovo som sa pýtal pre obsah alebo zdroj umiestnený na www.cats.com/cats.html~~pobj. A potom sa na základe toho, či prostriedok existuje a či server môže priniesť zdroj na základe klienta Požiadavku, môžete dostať Rôzne Stavové kódy späť. Niektoré z týchto stavových kódov, ktoré ste videli pretože sú súčasťou odpovede. Niektoré z nich, 200 OK, sú asi dosť tichý. Vy ste pravdepodobne nikdy nevidel stránka reagovať 200 OK. Proste si stránku. Nie je to ako chybu 404, čo je obvykle celkom jasné. Tie zvyčajne vidieť, že sa hovorí, že 404. Tak poďme hovoriť o tom, čo niektorí z týchto stavových kódov by mohol byť. Opäť platí, že keď server reaguje na nás, že sú bude reagovať HTTP stav verzie. Zvyčajne HTTP / 1.1. Aké sú tieto kódy stavu bude? No, mohli by sme získať úspech. Takže v kategórii úspechu, my mohol dostať kód 200 s textom OK. Čo to znamená? No, všetko je dobré. Urobil si platnú žiadosť. Tu je platná odpoveď. Bol som schopný dodať presne to, čo ste chceli. Niekedy sa môžete dostať iné veci že nebudete všimnete hneď ale sú trochu zlyhanie. Sú to tzv presmerovanie. Tam sú dva obyčajné tu. 301 Moved Permanently-- čo to v podstate znamená, je stránka je teraz na novom mieste. To bude žiť navždy. A väčšina prehliadačov automaticky presmeruje. Takže ste nikdy naozaj vidieť 301, a to buď, ak nie ste s použitím skutočne out-of-date prehliadač, prípadne pretože odpoveď 301 je súčasťou bodka, bodka, bodka odpovede 301. Tiež vám povie, kde je nová stránka je. A tak väčšina prehliadačov Len presmerovať vás tam, za predpokladu, že chcete ísť tam. Niekedy budete tiež získať 302 Found. A to ten, ktorý vlastne Možno ešte vidieť občas. Niekedy stránok dočasne presunúť. Takže to nebude byť postavený do žiadosť hovorí prehliadač Pre trvalú zmenu kedykoľvek to vidí požiadavku, aby vám aby ju zmeniť na niečo iné. Takže môžete vidieť 302 Nájdené, ktorý v podstate hovorí, že táto strana býva niekde inde. Ale je to nebude žiť tam navždy. To bude nakoniec asi ísť späť tam, kde si myslíte, že to je. Potom budete robiť veci ako chyby klienta. Tak to sú tie, ktoré ste pravdepodobne videli, teraz. Pravdepodobne ste ešte nevideli 200S alebo ich 300S, ale budete pravdepodobne oboznámený s 400S. A to je to, čo budeme hovoriť asi v druhej, 500s rovnako. Tie by mohli vidieť 401 neoprávnený. Zvyčajne to znamená, že ste pokuse o prístup na stránku, ale ešte nie je prihlásený. Tak si vyskúšať a ísť do nejakej profilu alebo niečo na Facebooku alebo pri pokuse a prístup some-- ste v práci. Snažíte sa niečo prístup na svoju prácu v internete, ale nie ste prihlásený. Nemôžeš vidieť stránky. Tie by mohli získať 401 neautorizované, čo znamená, že sme pravdepodobne bude schopný uspokojiť túto požiadavku, ale najprv sa musíte prihlásiť, aby tak urobili. Naopak, môžete dostať 403 Forbidden, čo je to naozaj nie je jedno, či ste prihlásení alebo nie. Táto požiadavka nie je povolené. Prostriedok na serveri existuje. Ale nie ste oprávnení na prístup k nim. To je zvyčajne vnútorné súbory, ktoré žiť na serveri z rôznych dôvodov ale nie sú zamýšľané ako prístupné od vonkajšieho sveta, a tak oni sú zakázané. Žijú tam. Nehovorím, že nemôžem nájsť. Ale ja hovorím, nemôžem ho dať. A to v prípade, nevadí ste prihlásení alebo nie. A potom samozrejme, veľmi časté 404 Not Found. Súbor neexistuje na serveri. Rád by som, aby spĺňali vaša žiadosť, ale nejde to. Môžete tiež niekedy vidieť servera Chyby, najčastejšie všeobecne je 500 Internal Server Error, ktorý nie je v skutočnosti ti niečo vôbec o tom, čo sa pokazilo. Ale nie je to vlastne robíš chyba vo vašej žiadosti. Je to vlastne server zlyhanie dodať na vyžiadanie nejako. Takže 500 je všeobecná odpoveď. Uvidíte tiež niečo ako Služba nie je k dispozícii, ktoré podľa môjho názoru, je kód 503. A brána Timeout-- pokiaľ ste niekedy mali stránku práve sedieť a načítanie načítanie a načítanie a nikdy neviete, či to bude zaťaženie a nakoniec to jednoducho says-- jednoducho vzdá. To je 504 brány Časový limit. Server chcel vykonať svoju žiadosť, ale niečo pokazilo na side-- servera nie na vašej side-- do spôsobiť, že byť problém. Teraz, mohli by sme skončiť príbeh tu, ale to, čo som vlastne robiť teraz Je Idem otvoriť môj prehliadač a ukázať vám, ako by ste mali byť schopní vidieť niektoré z týchto stavových kódov aj keď nemáte zvyčajne vidieť. A budeme robiť, že tým, že Pozrite sa na niektoré vývojárskych nástrojov. Dobre Tak som tu teraz v mojom okne prehliadača. A chcem sa naučiť trochu Viac informácií o týchto HTTP požiadaviek. Ako môžem víš-- určite vieme, v prípade, že strana goes-- keď sa niečo pokazí, dostaneme 404. Všetci sme videli, že. Nepotrebujeme, aby ukazujú, že. Ale to, čo sú niektoré tie ostatné? A ako by sme vidieť Tieto požiadavky v akcii? Takže prvá vec, ktorú budem urobiť, je otvoriť nástroje pre vývojárov. Takže Vývojárske nástroje sú postavené do väčšiny moderných prehliadačov a umožní nám vidieť veci že robíme inak see-- nejaké extra informácie druh prenášané pod našom webe Žiadosti. Ja používam tu Google Chrome. A k otvoreniu nástroje pre vývojárov v Chrome, stačí hit F-12, a bude to otvoriť it up na boku. Raz som zadajte požiadavku, budem priblížiť takže môžete vidieť, čo sa tu deje. Ale to, čo budem robiť vo svojom prehliadači bar je-- a ja priblížiť viac ako here-- Urobím požiadavka na www.google.com. Všetci sme pravdepodobne vyrobený táto žiadosť predtým. Budem stlačte Enter. A teraz, tu v mojom Developer Nástroje, som zvolil na kartu Sieť. A zistíte, veľa vecí tu. Pozrite sa na these-- 200 OK, OK 200, niektorí z týchto stavových kódov blíži. Neviem, prečo som stále 302 Found. Neuvedomil som si, že by som vidieť, že jeden. Ale v podstate si všimnúť, že celkom veľa, pokiaľ ide o moje request-- Google Urobil som veľmi jednoduchý Žiadosť o stránku Google. A v procese dodávanie moju žiadosť, Google zrejme urobil veľa ďalších žiadostí mojím menom. Ale ja som podal žiadosť get s Googlom strana a ja som stále veľa 200 OKS. Nevidím 200 OK na displej, ale ja začínam mnoho požiadaviek, ktoré boli vykonané. Ešte jeden, že som celkom istí, že bude fungovať je-- pre tých z vás, ktorí sú naozaj starej školy, aby ste vedeli, že Facebook bol nie vždy na Facebook.com. Vo svojich začiatkoch bolo na wwww.thefacebook.com. Oni zrejme nemohli získať prístup na Facebook.com za peknú chvíľu trvať. A tak to, čo som očakával, Tu je získať informácie. A uvidíme, či to panvy von. Čo čakám tu je získať informácie že Facebook sa presťahovala natrvalo od thefacebook.com na Facebook.com. Takže som očakával niekde blízko vrcholu svojich požiadaviek viac ako v mojich Developer Tools dostávať upozornenia 301 že Facebook sa presťahoval natrvalo. Opäť platí, že nebudem vidieť 301 Na obrazovke prehliadača. A pretože je to o 301, je to trvalý ťah. Môj prehliadač, je, že je to moderné prehliadače, sa pravdepodobne bude presmerovanie aby som Facebook.com tak ako tak. Ale uvidíme, čo sa stane. A teraz budem prejsť na thefacebook.com. A jo, tu to je priamo na vrchole. Išlo to preč, ale bolo to tam. Dovoľte mi, aby som prejdite sem. Práve tu hore. Urobil som žiadosť thefacebook.com, a ja začínam odpoveď že táto stránka bola natrvalo presťahoval. A potom je tu 307 interné presmerovanie. A tak to je to, čo má vlastne sťahoval ma k oveľa povedomý www.facebook.com. Takže tieto kódy odpovedí urobiť ešte sa stalo, aj keď je nevidíme. Nebudem sa ilustrujú 401, 403, 404, pretože ste pravdepodobne videli tých, na rôznych miestach. A 500, ja by som jednoducho byť druh of-- by sme mať šťastie ak dostal 500, pretože nevieme, čo servery sú kdekoľvek v súčasnej dobe dole. Ale tieto kódy robiť existujú, a tam je cesta prístup k nim, aj keď to neurobíme vidieť na vlastné oči v našich systémoch. Som Doug Lloyd. To je CS50.