Говорник: Ајде да зборуваме за друг protocol-- на хипертекст трансфер Протокол, или HTTP. Па ние разговаравме за ИП и TCP во претходната видео клипови. И оние кои се протоколи кои диктираат како информации се движи од машина на машина и од програмата за програмата или услуга за услуги преку интернет, преку оваа мрежата на рутери и машини. Но, тоа е обично не се целата слика, нели? Обично кога ги испраќаме информации, на програмата itself-- кога податоците се примени, да речеме, на пример, во е-мејл преку TCP порта 25 или барање веб-страница преку порт 80, има обично систем од правила таму за обработка на она што јас сум само што добив. И HTTP е пример на токму таков модел на друг протокол. HTTP е само апликација слој протокол дека ние ќе треба да се зборува. Но, тоа е уште еден сет правила диктираат како информации е да се пренесе и се обработуваат преку интернет. Особено, HTTP специфицира како точно треба да се направи барање за веб-страница и како точно сервер, машина кој е домаќин на веб-страници, обезбедува дека информациите се врати на клиентите. Па овој протокол не всушност, ништо друго врска со тоа колку информации се движи од точка А до точката Б. Тоа е навистина системот на правила for-- тоа е во основа на правилата на ангажманот за работа со веб страница, сличен кога некој бранови својата рака во тебе, што би требало да се бранува назад. Тоа е еден вид на конвенционални човечки протокол. HTTP протоколот само вели, ако сакате да го побарате на веб страница, осигурајте се дека вашиот изглед формат како this-- вид на како форматирање бизнис писмо, на пример. И одговорот ќе слично се во согласност со овој протокол. Постојат и други примена слој протоколи дека ние нема да се опции за видео клипови. Но, овие вклучуваат работи како Протоколот за пренос на датотеки, Едноставна Протокол за пренос на пошта испраќање на пораки, на дистрибуција на податоци Сервис, преку Remote Desktop Протокол, RDP, која се користат и ако сакате да се далечински пристап вашиот компјутер од друг компјутер, XMPP, кој е често познат како Jabber или разговор, така што ова е протокол за користење на разговор услуги. И ги има многу, многу, многу други. Така што секој пат кога ќе го користите сервис, услуга очекува информации што треба да се received-- барање да биде received-- во многу посебен формат и е потребно да се врати информации назад во многу посебен формат, како и. Значи, да се вратиме на нашата илустрација од нас сакаат да разговараат со интернет. Па ние сме среќни, а ние сакаме да одат на cats.com, нели? Значи, ако ние сме само зборува за cats.com, може да се каже нешто како еј, можам да се види вашиот Главна страница? И веројатно ќе cats.com одговори, да, секако. Еве ти. Па тоа е човечки вид на прашајте и одговори. Што значи дека изгледа во HTTP? Па, тоа всушност вид на превод прилично чисто да нешто како ова. Би можеле да речеме ГЕТ / 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 но во овој случај не се случува за да може да одговорат позитивно. Тие не знаат што ние зборуваме за. И така ова е нешто што може да има види before-- HTTP 1.1 404 Не е пронајдено. Не можев да го најдете тоа што што го бараат. Патем, јас ќе одам да ви даде назад некои HTML, како и обично дека HTML е содржината на некои 404 страница. И во случај на cats.com, тоа е веројатно некои слатки мачките во кошница со тажен 404 лице веднаш до нив, затоа што ви се случува да биде тажно кога вие не добиете страница кои што го барате. Тоа е вид на основите на она што протокол, барањата HTTP протоколот изгледа како. Тие се навистина слично на тоа како ние ќе се направи слични интеракција во само човечките конвенции барајќи нешто и го добива назад или пишување писмо и Очекуваме одговор писмо во одреден формат. Тоа е доста тоа што HTTP е само canonicalizing за сите уреди кои сакате да пристапите веб страни, хипертекст трансфер. Па линија на формата, на овој метод барање целна HTTP верзија, се нарекува HTTP барање линија. Тоа е обично првата работа што е пренесени како дел од барањето за HTTP или ако се прашуваат за HTTP. Тоа е вид на како, како што реков, велејќи: Почитувани, празно во горниот вашето писмо. Тие знаат дека ти си ги пишувам писмо. Значи ова е многу слично да кажат: Знам дека тие се прави барањето за HTTP и ова е особено формат тие се прашуваат за. HTTP верзија е веројатно секогаш ќе биде HTTP / 1/1. 1.0, исто така, постои, но не е навистина се користи веќе. За целите на CS50, ГЕТ е веројатно секогаш што ви се случува да се биде користење кога сте всушност правејќи директна HTTP барања. Но пост е уште една опција, дека ние сме не се случува да се зборува за тоа во моментов. А потоа барање-цел е она страница на серверот на домаќинот вие би сакале да се добие. Како што реков, дека името на компјутерот е посебно напојување, обично втората линија на целокупната барање. И така се земени заедно, на домаќинот име и цел барање наведете конкретни се бара извор. Во нашиот пример 404 пред една секунда, бараше повторно за www.cats.com, cats.com биде домаќин. И по мое барање линија, Реков /cats.html. Тоа беше моето барање цел. Па севкупниот прашував за содржината и ресурси наоѓа во www.cats.com/cats.html. А потоа врз основа на тоа дали постои ресурсот и дали серверот може да донесе ресурси во согласност со клиент барање, може да добие разни државни кодови назад. Некои од овие кодови сте виделе бидејќи тие се дел од одговорот. Некои од нив, 200 во ред, се веројатно прилично тивок. Сте веројатно никогаш не видел страница 200 одговори на OK. Можете само да добиете на страницата. Тоа не е како 404 грешка, кој обично е прилично јасна. Што обично се види дека тоа вели 404. Значи, да се зборува за она што некои на оние кодови може да биде. Повторно, кога на серверот реагира на нас, тие се ќе одговори статус Верзија за HTTP. Обично HTTP / 1.1. Што се овие кодови ќе биде? Па, ние би можеле да се биде успехот. Така во категоријата на успех, ние може да добијат код 200 со текст ОК. Што значи ова? Па, сè е добро. Ти направи валидна барање. Тука е валиден одговор. Јас бев во можност да испорача токму она што го сакаше. Понекогаш може да се добијат и други работи дека нема да забележите веднаш но се малку неуспеси. Тие се наречени пренасочувања. Станува збор за два заеднички оние тука. 301 Преместен Permanently-- што е ова во основа значи е страната, сега е на некое друго место. Тоа ќе живеат таму засекогаш. И повеќето пребарувачи ќе автоматски пренасочува вас. Значи никогаш нема да навистина да се види 301, или, освен ако не сте користење на навистина надвор од датум пребарувач, можеби, бидејќи одговорот 301 е дел од дот, точка, точка на одговорот 301. Таа, исто така ви кажува каде новата страница е. И така повеќето пребарувачи ќе само да ви се пренасочува таму, претпоставувајќи дека сакам да одам таму. Понекогаш исто така, ќе добие 302 пронајден. И ова всушност сте еден се уште може да се види повремено. Понекогаш се движат страници привремено. Па тоа не се случува да бидат вградени во барањето кажува на прелистувачот трајно да се промени во секое време што го гледа на барањето да се направи да ја промените да нешто друго. Па може да се види 302 Најде, што во основа вели оваа страница живее некаде на друго место. Но, тоа не се случува да се живеат таму засекогаш. Тоа на крајот ќе веројатно оди назад од каде што мислам дека е. Потоа ќе добиете нешта како грешки клиентот. Значи овие се оние што си веројатно виделе, сега. Најверојатно не сте го виделе на 200S или 300s, но ти си веројатно запознаени со 400s. И тоа е она што ние ќе зборуваме за во вториот, Фиат 500., како и. Може да се види 401 Неовластено. Обично тоа значи дека сте се обидуваат да пристапите на страница, но не сте најавени. Па да се обиде и да одат на некои профил или нешто на Фејсбук или ќе се обидат и пристап some-- сте на работа. Што се обидувате да пристапите нешто за својата работа на интернет, но вие не сте најавени. Не можете да видите на страната. Може да добие 401 неовластено, која значи веројатно ќе бидат во можност да ги задоволи ова барање, но прво треба да се логирате за да го стори тоа. Спротивно на тоа, може да добие 403 Забрането, што е тоа навистина не е важно дали сте најавени или не. Ова барање не е дозволено. Постои ресурсот на серверот. Но, не е дозволено да се дојде до неа. Ова е обично внатрешниот датотеки што живеат на серверот од разни причини но не се наменети да бидат пристапи и од надворешниот свет, и така тие се забранети. Тие живеат таму. Не велам дека не можам да го најдам. Но, сакам да кажам дека не можам да го даде за вас. И тоа не е важно дали сте најавени или не. А потоа, се разбира, многу честа 404 Не е пронајдено. На датотека не постои на серверот. Јас би сакал да ги задоволат Вашето барање, но не можам. Можете, исто така понекогаш се види сервер грешки, најчестиот генерално да се биде 500 Внатрешна грешка на серверот, што всушност не ви кажам ништо на сите за тоа што не е во ред. Но тоа не е, всушност, ќе се прават грешка во вашето барање. Тоа е всушност на серверот не успеа да дава на барање на некој начин. Значи 500 е општиот одговор. Вие исто така ќе се види нешто како Сервисот е недостапен, што верувам дека е кодот 503. И Портали Timeout-- ако Дали некогаш сте имале страница само седат таму утовар и утовар и утовар и никогаш не се знае, ако тоа се случува да оптоварување и потоа на крајот тоа само says-- само се откажува. Тоа е 504 Портал Истек на време. Серверот сака да извршување на вашето барање, но нешто не беше во ред на серверот side-- не на вашиот side-- да предизвика тоа да биде проблем. Сега, ние би можеле да се стави крај на приказната тука, но она што јас всушност се случува да се направи сега е јас ќе одам да се отвори мојот интернет пребарувач и ќе покаже како може да бидете во можност да се види некои од овие кодови дури и ако не се генерално ги гледаат. И ние ќе треба да го направите тоа со преземање еден поглед на некои алатки за развој. Сите права па тука сум сега во мојот прозорец на прелистувачот. И сакам да научат малку повеќе за овие HTTP барања. Како можам да know-- сигурно знаеме ако страница goes-- кога нешто тргне наопаку, ние се добие 404. Сите сме виделе тоа. Не ни се потребни за да се илустрира тоа. Но, она што се некои други лица? И тоа како ќе ги гледаме овие барања во акција? Па првото нешто што јас ќе одам да направите е да се отвори развојни алатки. Па развојни алатки се изградени во повеќето современи прелистувачи и ни овозможи да ги гледам работите дека ние не се направи поинаку see-- некои дополнителни информации во вид на Се емитуваат под нашата веб- барања. Јас сум со користење на Google Chrome тука. И да се отвори Алатки за програмери во Хром, само кликнете на F-12, и тоа се случува да се отвори тоа на страната. Откако сум тип на барањето, ќе зумирате па ние може да се види она што се случува овде. Но, она што јас ќе одам да го направи во мојот интернет пребарувач бар is-- а јас ќе зумирате над here-- Јас ќе се направи барање за www.google.com. Сите сме најверојатно направени ова барање пред. Одам да притиснете Enter. Сега, овде во мојата програмери Алатки, сум ја избрал јазичето мрежа. И ќе забележите многу работи овде. Погледнете these-- 200 OK, 200 Добро, некои од овие кодови доаѓа. Јас не знам зошто јас сум добивање на 302 Резултати. Јас не се сетив дека ќе се види дека еден. Но во основа се забележи дека доста многу, во однос на мојот Google request-- Направив многу едноставна барање за страница на Google. И во процесот на доставување на мое барање, 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.