SPEAKER: Puhutaanpa toinen protocol-- Hypertext Transfer Protokolla, tai HTTP. Joten olemme puhuneet IP ja TCP aiemmissa videoita. Ja ne ovat protokollia jotka sanelevat miten tiedot siirtyy laitekohtaisia ​​ja ohjelmakohtaisesti tai palvelun palvelun Internetin kautta, kautta tämä verkosto reitittimet ja koneita. Mutta se ei yleensä koko kuva, eikö? Yleensä kun lähetämme tiedot, ohjelma itself-- kun tiedot on sai vaikkapa esimerkiksi, email TCP-portin 25 tai Web-sivun pyyntö kautta portin 80, siellä on yleensä järjestelmän sääntöjen siellä käsitellä mitä olen juuri saanut. Ja HTTP on esimerkki juuri tällaisen protokolla. HTTP on ainoa hakemus protokolla että me aiomme puhua. Mutta se on toinen joukko Sääntöjen sanelee miten tiedot on lähetettävä ja käsitellään internetin kautta. Erityisesti, HTTP- määrittelee kuinka täytyy tehdä pyynnön web-sivun ja kuinka palvelin, kone joka isännöi web-sivuja, toimittaa nämä tiedot takaisin asiakkaille. Joten tämä pöytäkirja ei oikeastaan ​​mitään se, miten tietoa siirtyy kohta paikkaan B. Se on todella järjestelmän sääntöjen for-- se on periaatteessa säännöt sitoutuminen työskentelyyn sivun, samanlainen kun joku aallot kätensä sinua, sinun pitäisi aalto takaisin. Se on eräänlainen tavanomainen ihmisen protokolla. HTTP-protokollaa vain sanoo, jos haluat pyytää web sivu, varmista, että muoto näyttää kuten this-- tavallaan kuin muotoilua liikekirje, esimerkiksi. Ja vastaus samalla tulevat tämän protokollan mukaisesti. On olemassa muita hakemus protokollat että emme aio puhua videoina. Mutta nämä ovat asioita, kuten File Transfer Protocol, Simple Mail Transfer Protocol varten lähettää sähköposteja, Data Distribution Palvelu, Remote Desktop Protokolla, RDP, joka käytetään, jos haluat etäkäyttää tietokoneesi toiseen tietokoneeseen, XMPP, joka on usein tunnetaan Jabber tai chat, joten tämä on protokolla käyttää chat-palvelut. Ja on monia, monia, monia muita. Niin joka kerta käytät palvelu, palvelu odottaa tietoa on received-- pyynnön olla received-- vuonna hyvin tietyssä muodossa ja tarvitaan palata tiedot takaisin erittäin tietyssä muodossa samoin. Joten mennään takaisin meidän kuva meistä haluavat puhua internetissä. Joten olemme tyytyväisiä, ja haluamme mennä cats.com, eikö? Joten jos me vain puhu cats.com, voisimme sanoa jotain hei, voin nähdä oman kotisivun? Ja cats.com luultavasti vastata, joo, varmasti. Ole hyvä. Niin, että ihmisen eräänlainen ASK-ja-vastaus. Mitä se näyttää HTTP? No, se oikeastaan ​​eräänlainen kääntää melko siististi ja jotain tällaista. Voisimme sanoa GET / HTTP / 1.1 isäntävälitteisistä cats.com. Joten periaatteessa mitä teen tässä pyytää sivun www.cats.com/. Meillä on tapana jättää slash nykyään, mutta se olisi vain tarkoittaa cats.com kotisivu. Niin, ja muuten, aion olla HTTP versio 1.1 kommunikoida kanssasi. Se on eräänlainen analoginen sanoi, kuten, muuten, Aion puhua ranskaksi, tai muuten, Aion olla puhuu Englanti. Se on vain muoto pöytäkirjan. Se on myös 1,0, mikä on ei yleisesti käytetty enää. Joten Minä puhun HTTP 1.1, ja Haluaisin www.cats.com/. Ota sen minulle. Ja sitten on muita tietoja, too-- piste, piste, piste siellä, joka on tietoa kuka olet niin cats.com tietäisi mihin lähettää sitä. Mutta nämä ovat ne kaksi eräänlainen kriittisten osien aivan alussa HTTP request-- aivan kuten kun aloitat kirjainta sanoa, rakas, tyhjä. Tämä on hyvin samankaltainen hengeltään että. Ja jos cats.com on menossa sanoa, oh, varmasti, tässä mennään. He saattavat vastata kuten this-- Olen myös vastaamisen. Puhun myös HTTP 1.1. Pyyntösi on hyväksytty, 200 OK. Mitä olet aikeissa vastaanottaa on HTML ja sitten piste, piste, piste joitakin lisätietoja. Ja aivan pohjassa pyyntö on todella HTML, markup language, sisältöä cats.com kotisivulla. Joten HTTP / 1.1-- myönnän teidän Pyyntö hyväksyttiin HTTP 1.1. Pyyntö hyväksyttiin. Voin antaa sinulle mitä haluat, 200 OK. Olet vastaanottamaan HTML. Ja sitten tässä on HTML, että olet pyytänyt. Mutta joskus meidän pyyntöjä ei aina mene aivan suunnitelmien mukaan. Saisinko cats.html sivu? No, mitä jos he sanovat, me ei ole cats.html sivu, joka näyttää millaisia ​​epärealistisia koska he cats.com. Luulisi heillä olisi cats.html. Mutta OK. Joten tämä on tavallaan tavanomainen inhimillinen vuorovaikutus olemme nyt ollut kanssa cats.com. Miten se kääntää? Tämä saattaa olla jotain tutulta. Meidän pyyntö näytti täsmälleen sama, paitsi sen sijaan saada slash olemme nyt saada cats.html. Mitä nyt periaatteessa tämän koko pyyntö sanoo ei anna minulle www.cats.com/cats.html. Niin isäntä ja keskimmäinen osa sitä ylärivillä siellä ilmoitettava täsmällisesti mitä sivu Pyydän. Mutta cats.com tässä tapauksessa ei tule pystyä vastata myönteisesti. He eivät tiedä, me puhumme. Ja niin tämä on jotain saatat olla nähnyt before-- HTTP 1.1 404 Not Found. En löytänyt mitä te pyysitte. Muuten, aion antaa sinulle takaisin joitakin HTML, ja yleensä se HTML on sisältöä noin 404 sivun. Ja kun kyseessä on cats.com, se on luultavasti söpöjä kissoja kori surullinen 404 kasvot niiden vieressä, koska aiot olla surullinen, kun et saa sivu että etsit. Sellainen perusasiat mitä protokolla, HTTP-protokollaa pyynnöt näyttää. He todella samanlainen miten me tekisi samanlainen vuorovaikutus vain ihmisen yleissopimusten pyytää jotain ja saada se takaisin tai kirjallisesti kirjain ja odottaa vastausta kirje tietyssä muodossa. Se on aika paljon, mitä HTTP on juuri canonicalizing kaikille laitteille, jotka haluavat pääsyn verkkosivuja, hyperteksti siirrot. Joten rivi muodon, tämä menetelmä pyyntö tavoite HTTP-versio, kutsutaan HTTP-pyynnön linja. Se on yleensä ensimmäinen asia, joka on lähetetään osana HTTP-pyynnön tai jos olet pyytänyt HTTP. Se on tavallaan kuin, kuten sanoin, sanomalla rakas, tyhjä yläosassa kirjeen. He tietävät, että olet kirjoittaa ne kirjeen. Joten tämä on hyvin samankaltainen sanomaan, tiedän että he tekeminen HTTP-pyynnön ja tämä on tietyssä muodossa he pyytävät. HTTP-versio on luultavasti aina olemaan HTTP / 1/1. 1.0 myös on olemassa, mutta ei ole todella enää käyttää. Varten CS50, GET on luultavasti aina mitä aiot olla käyttäen, kun olet todella suoraa HTTP-pyyntöjä. Mutta POST on toinen vaihtoehto, että olemme aio puhua juuri nyt. Ja sitten pyyntö-tavoite on mitä sivu isännän palvelimelle haluaisit saada. Kuten sanoin, että palvelimen nimi on erillinen linja, yleensä toisella rivillä koko pyynnön. Ja niin yhdessä, isäntä nimi ja pyynnön kohde määrittää tietyn resurssi etsitään. Meidän 404 esimerkissä toinen sitten, minä pyysi uudelleen www.cats.com, cats.com on isäntä. Ja minun pyynnöstä linja, Sanoin /cats.html. Se oli pyyntöni tavoite. Joten kaiken kaikkiaan olin pyytänyt sisältö tai resurssi sijaitsee klo www.cats.com/cats.html. Ja sitten sen perusteella, resurssi olemassa ja onko palvelin voi toimittaa resurssin mukaisesti asiakkaan pyynnöstä, saatat saada eri tilakoodeja takaisin. Jotkut näistä tilakoodien olet nähnyt koska he ovat osa vastausta. Jotkut heistä, 200 OK, ovat luultavasti melko hiljainen. Olet luultavasti koskaan nähnyt sivu vastaa 200 OK. Sinä vain saada sivu. Se ei ole kuin 404 virhe, joka on yleensä melko selvä. Voit yleensä nähdä, että se sanoo 404. Joten puhutaanpa mitä jotkut Näiden tilakoodien voisi olla. Jälleen, kun palvelin vastaa meille, he aikoo vastata HTTP-versiota tila. Yleensä HTTP / 1.1. Mitä nämä tilakoodien olemaan? No, voisimme saada menestystä. Joten menestys luokkaan, me saattaa saada koodi 200 tekstin OK. Mitä tämä tarkoittaa? No, kaikki on hyvää. Teit voimassa pyynnön. Tässä pätevä vastaus. Pystyin toimittamaan juuri sitä mitä halusin. Joskus saatat saada muita asioita että et huomaa heti mutta ovat hieman epäonnistumisia. Niitä kutsutaan uudelleenohjaus. On kaksi yhteistä kuin täällä. 301 Siirretty Permanently-- mitä tämä tarkoittaa periaatteessa sitä on sivu on nyt uuteen paikkaan. Se elää siellä ikuisesti. Ja useimmat selaimet automaattisesti ohjata sinut. Joten et koskaan todella nähdä 301, joko, ellet käyttämällä todella out-of-date selaimen, mahdollisesti, koska 301 vastaus on osa piste, piste, piste on 301 vastausta. Se myös kertoo, mistä uusi sivu on. Ja niin useimmat selaimet vain ohjata sinut siellä, olettaen, että haluat mennä sinne. Joskus voit myös saada 302 löytynyt. Ja tämä todella voi vielä nähdä satunnaisesti. Joskus sivut siirtää tilapäisesti. Joten se ei tule rakennettu pyyntö kertoo selaimen muuttaa pysyvästi tahansa se näkee pyynnön, että te tehdä muuttaa sen joksikin muuksi. Joten saatat nähdä 302 Löydetty, joka pohjimmiltaan sanoo tämä sivu elää jossain muualla. Mutta se ei aio asua siellä ikuisesti. Lopulta se todennäköisesti mennä takaisin jos luulet se on. Sitten saat asiat kuten asiakas virheitä. Nämä ovat siis niitä olet varmasti nähnyt, nyt. Olet luultavasti ole nähnyt 200S tai 300S, mutta olet luultavasti perehtynyt 400s. Ja sitähän me jutellaan noin toisessa, 500s samoin. Saatat nähdä 401 luvaton. Yleensä tämä tarkoittaa olet yrittää käyttää sivun, mutta et ole kirjautunut sisään. Joten yrität mennä joitakin profiili tai jotain Facebookissa tai yrität pääsy some-- olet töissä. Yrität käyttää jotain työhösi internet, mutta et ole kirjautunut sisään. Et voi nähdä sivua. Saatat saada 401 luvatonta, mikä tarkoittaa, että luultavasti pystyy täyttämään tämän pyynnön, mutta ensin sinun täytyy kirjautua sisään tehdä niin. Toisaalta, saatat saada 403 Kielletty, mikä se ei ole oikeastaan väliä, jos olet kirjautunut sisään vai ei. Tämä pyyntö ei ole sallittua. Resurssi olemassa palvelimella. Mutta et saa käyttää sitä. Tämä on yleensä sisäinen tiedostot elää palvelimelle eri syistä mutta ei ole tarkoitus olla pääsee ulkomaailmaan, ja niin ne ovat kiellettyjä. He elävät siellä. En sano, en löydä sitä. Mutta sanon etten voi antaa sen sinulle. Ja sillä ei ole väliä, jos olet kirjautunut sisään vai ei. Ja sitten tietysti, hyvin yleinen 404 Not Found. Tiedosto ei löydy palvelimelta. Haluan tyydyttää pyyntö, mutta en voi. Voit myös joskus nähdä palvelin virheet, yleisin yleisesti on 500 Internal Server Error, joka ei oikeastaan ​​kerro mitään lainkaan siitä mikä on mennyt pieleen. Mutta se ei ole oikeastaan ​​Teetkö virhe toiveesi. Se on oikeastaan ​​palvelin ei ole toimittaa pyynnöstä jotenkin. Joten 500 on yleinen vastaus. Näet myös jotain kuten Palvelu ei ole käytettävissä, joka on mielestäni koodi 503. Ja Gateway Timeout-- jos Oletko koskaan ollut sivu vain istua siellä lastaus ja lastaus ja lastaus ja eihän sitä koskaan tiedä, jos se aikoo kuormitus ja sitten lopulta se vain says-- vain luopuu. Se 504 Gateway Timeout. Palvelin halusi suorittaa oman pyynnön, mutta jokin meni pieleen palvelimelle side-- ei teidän side-- kohteeseen aiheuttaa sen, että on ongelma. Nyt, voisimme lopettaa tarina, mutta mitä olen todella aikoo tehdä nyt on Aion avata selaimeni ja näyttää miten voit ehkä nähdä Jotkut näistä tilakoodien vaikka et yleensä näe niitä. Ja aiomme tehdä niin ottamalla tarkastelemme joitakin kehitystyökalut. Selvä Joten tässä olen nyt minun selainikkunassa. Ja haluan oppia hieman Lisätietoja näistä HTTP-pyyntöjä. Miten know-- varmasti tiedämme, sivu goes-- kun jotain menee pieleen, saamme 404. Olemme kaikki nähneet, että. Meidän ei tarvitse osoittavat, että. Mutta mitkä ovat toisilla? Ja miten näemme nämä pyynnöt toiminnassa? Joten ensimmäinen asia, aion do on avata Developer Tools. Joten Developer Tools on rakennettu useimpiin nykyaikaiset selaimet ja antaa meille mahdollisuuden nähdä asiat että emme muuten see-- joitakin lisätietoja eräänlainen lähetetään alla www pyyntöjä. Käytän Google Chrome täällä. Ja avata kehitystyökalut Chrome, voit painaa F-12, ja se tulee avata sen puolella. Kun kirjoitan pyynnöstä, minä suurentaa jotta voimme nähdä, mitä täällä tapahtuu. Mutta mitä aion tehdä minun selaimessa baari is-- ja minä suurentaa yli here-- Teen pyynnön www.google.com. Olemme kaikki luultavasti tehty tämä pyyntö ennen. Aion paina Enter. Nyt täällä minun Developer Työkalut, olen valinnut Verkko-välilehti. Ja huomaat monia asioita täällä. Katsokaa these-- 200 OK, 200 OK, jotkut näiden tilakoodien tulossa. En tiedä miksi Saan 302 Found. En tajunnut näkisin, että yksi. Mutta pohjimmiltaan huomata, että aika paljon, mitä Google request-- Tein hyvin yksinkertainen pyyntö Googlen sivulla. Ja prosessi tuottaa pyyntöni, Google on ilmeisesti tehnyt paljon Muiden pyyntöjen puolestani. Mutta olen tehnyt GET pyynnön Googlen sivu ja Saan paljon 200 OKS. En näe 200 OK näytössä, mutta Saan paljon pyyntöjä, jotka on tehty. Yksi lisää, että olen aika Muista on menossa töihin is-- niille teistä, jotka ovat todella vanhan koulun, ehkä tiedätte, että Facebook oli ei aina Facebook.com. Alkuaikoina se oli klo wwww.thefacebook.com. He ilmeisesti ei pääse on Facebook.com melko vähän aikaa. Ja niin mitä odotan tässä saada tietoa. Ja näemme, jos tämä astiat pois. Mitä Odotan täällä on saada tietoa että Facebook on muuttanut pysyvästi alkaen thefacebook.com ja Facebook.com. Joten Odotan jonnekin lähellä alkuun minun pyyntöjä yli minun Developer Tools saada 301 ilmoitus että Facebook on muuttanut pysyvästi. Jälleen, en näe 301 minun selainnäytössä. Ja koska se on 301, se on pysyvä siirto. Selaimessa, on se, että se on moderni selain, on todennäköisesti aio suunnata minut Facebook.com muutenkin. Mutta katsotaanpa, mitä tapahtuu. Ja nyt aion Siirry thefacebook.com. Ja juu, siinä se on oikeassa yläreunassa. Se meni pois, mutta se oli siellä. Saanen siirry tänne. Täällä huipulla. Tein pyynnön thefacebook.com, ja Saan vastaus että tämä sivu on siirretty pysyvästi. Ja sitten 307 tässä sisäinen uudelleenohjaus. Ja niin tämä on mitä on todella muutti minua paljon enemmän tuttu www.facebook.com. Joten nämä vastauskoodit tehdä vielä tapahtua, vaikka emme näe niitä. En aio havainnollistavat 401, 403, 404, koska olet luultavasti nähnyt ne eri kohdissa. Ja 500, haluan vain olla jollaisia ​​of-- olimme onnekas jos sai 500, koska emme tiedä mitä palvelimet ovat tällä hetkellä minnekään. Mutta nämä säännöt eivät olemassa, ja on tapa käyttää niitä vaikka emme nähdä niitä omakohtaisesti meidän järjestelmissä. Olen Doug Lloyd. Tämä on CS50.