ALTAVEU: Parlem d'una altra protocol-- la transferència d'hipertext Protocol, o HTTP. Així que hem parlat d'IP i TCP en els vídeos anteriors. I aquests són els protocols que dicten com la informació es mou de màquina a màquina i de programa a programa o servei per donar servei a través d'Internet, a través de aquesta xarxa de routers i màquines. Però que en general no és tota la imatge, oi? En general, quan enviem informació, el programa itself-- quan les dades són rebuda, diguem, per exemple, en el correu electrònic a través del port TCP 25 o un pàgina web petició a través del port 80, en general hi ha un sistema de regles que hi ha per processar el que acabo de rebre. I HTTP és un exemple de només un protocol d'aquest tipus. HTTP és l'únic protocol de capa d'aplicació que anem a parlar. Però és un altre conjunt normes que dicten com de la informació serà transmesa i processada a través d'Internet. En particular, HTTP especifica exactament com cal fer una sol·licitud de una pàgina web i exactament com un servidor, una màquina que allotja pàgines web, Aquesta informació es donar suport als clients. Així que aquest protocol no en realitat tenen res a veure amb com la informació es mou des del punt A al punt B. És realment el sistema de regles para-- és bàsicament la normativa de compromís per treballar amb una pàgina web, similar a quan algú onades sort en vostè, se suposa que l'ona de tornada. Això és una mena de Protocol humana convencional. Protocol HTTP només diu, si desitja sol·licitar un web pàgina, assegureu-vos que les seves mirades de format així- tipus de format com una carta de negocis, per exemple. I la resposta serà similar arribat acord amb aquest protocol. Hi ha una altra protocols de capa d'aplicació que nosaltres no anem a parlar en els vídeos. Però aquestes són coses com el Protocol de transferència d'arxius, Simple Mail Transfer Protocol per l'enviament de correus electrònics, la distribució de dades Servei, Escriptori remot Protocol, RDP, que s'utilitza si vol accedir de manera remota el seu equip des d'un altre equip, XMPP, que és amb freqüència conegut com Jabber o el xat, pel que aquest és el protocol per a l'ús dels serveis de xat. I n'hi ha molts, molts, molts altres. Així que cada vegada que vostè està utilitzant un servei, el servei està a l'espera d'informació per ser received-- una sol·licitud ser received-- en una format en particular molt i és necessari per retornar informació de nou en un format molt particular també. Així que anem a tornar a la nostra il·lustració de nosaltres voler parlar amb internet. Així que estem contents i volem anar a cats.com, oi? Així que si només estem parlant amb cats.com, podríem dir alguna cosa com a bo, puc veure la teva pàgina d'inici? I cats.com probablement ho farà respondre, sí, és clar. Aquí tens. Així que això és una espècie humana de preguntar i respostes. Què és el que s'assemblen a HTTP? Bé, en realitat una mica tradueix bastant neta a alguna cosa com això. Podríem dir GET / HTTP / 1.1 des cats.com amfitrió. Així que bàsicament el que estic fent aquí és demanant la pàgina web www.cats.com/. En general, ometem la barra avui dia, però que ho faria només significa la pàgina web de cats.com. Ah, i per cert, em vaig per ser utilitzant la versió HTTP 1.1 per comunicar-se amb vostè. En certa manera és anàleg a dient, com, per cert, Vaig a estar parlant en francès, o per cert, Jo vaig a estar parlant en anglès. Això és només el format del protocol. També és 1,0, que és no s'utilitza comunament més. Així que estic parlant HTTP 1.1, i M'agradaria www.cats.com/. Si us plau, poseu-vos això per mi. I després hi ha l'altra informació, també- el punt, punt, punt allà, que és informació sobre que ets tan cats.com sabria on enviar-lo. Però aquests són els dos tipus de parts crítiques en el començament d'un HTTP request-- de la mateixa manera que quan s'inicia un carta que dius, estimat, en blanc. Això és molt similar en esperit a això. I si cats.com va a diu, oh, sí, aquí tens. Ells podrien respondre com esto-- També estic responent. També parlo d'HTTP 1.1. La seva sol·licitud és aprovada, 200 OK. El que vostè està a punt de rebre és HTML i després dot, dot, dot alguna informació addicional. I a la part inferior de la sol·licitud és en realitat l'HTML, el llenguatge de marques, la el contingut de la pàgina principal del cats.com. Així HTTP / 1.1- Reconec la seva sol·licitud va ser acceptada a través d'HTTP 1.1. Es va aprovar la seva sol·licitud. Puc donar-te el que vols, 200 OK. Estàs a punt de rebre HTML. I llavors aquí hi ha la HTML que vostè va sol·licitar. Però de vegades les nostres peticions no ho fan sempre van molt d'acord al pla. Puc veure la seva pàgina cats.html? Bé, i si ells diuen, que no tenen una pàgina cats.html, que sembla tipus d'irreal perquè són cats.com. Un pensaria que tindrien cats.html. Però a D'acord. Així que això és una mena de la interacció humana convencional ara hem tingut amb cats.com. Com es tradueix? Això podria ser una cosa familiar per a vostè. La nostra petició era exactament la mateixa, excepte que en lloc d'obtenir slash ara estem arribant cats.html. Així que ara el que bàsicament això tota sol·licitud està dient és si us plau Deme www.cats.com/cats.html. Així que l'amfitrió i el medi part d'aquesta línia superior no indiquen amb precisió el que la pàgina que estic demanant. Però cats.com en aquest cas no es va per ser capaç de respondre de manera positiva. Ells no saben que estem parlant. I així que això és una cosa que vostè pot ser que tingui vist abans-- HTTP 1.1 404 Not Found. No vaig poder trobar el que que estava demanant. Per cert, vaig a donar-li tornar una mica d'HTML, i en general que l'HTML és el contingut d'alguna pàgina 404. I en el cas de cats.com, és probablement alguns gats bonics en una cistella amb 1 404 cara trista al costat d'ells, perquè tu seràs trist quan no rep la pàgina que estaves buscant. Això és cosa de la bàsic del que és un protocol, les sol·licituds de protocol HTTP sembla. Són molt similar a la forma en què faria una interacció similar en les convencions simplement humans demanar alguna cosa i recuperar-lo o escriure una lletra i esperant una resposta lletra en un format particular. Això és més o menys el HTTP és només canonicalizing per a tots els dispositius que desitgin accés pàgines web, les transferències d'hipertext. Així que una línia de la forma, el present Mètode versió petició HTTP de destinació, s'anomena una línia de petició HTTP. En general és la primera cosa que és transmesa com a part d'una petició HTTP o si vostè està demanant HTTP. És una cosa així com, com he dit, dient: estimada, espai en blanc a la part superior de la seva carta. Ells saben que ets escriure una carta. Així que això és molt similar a dir, ho sé que estan fent una petició HTTP i aquest és el format particular que estan demanant. Versió HTTP és probablement sempre serà HTTP / 1.1. 1.0 també existeix, però no és molt utilitzat ja. Per als propòsits d'CS50, GET és probablement sempre el que serà utilitzant, quan en realitat estàs fer peticions HTTP directes. Però POST és una altra opció que estem No anem a parlar en aquest moment. I després de sol·licitud-objectiu el que la pàgina al servidor de l'amfitrió que li agradaria aconseguir. Com ja he dit, que el nom d'amfitrió és una línia separada, generalment la segona línia de la sol·licitud en general. I així, en conjunt, l'amfitrió nom i l'objectiu petició especificar una específica es busca de recursos. En el nostre exemple 404 fa un segon, estava demanant de nou per www.cats.com, cats.com ser l'amfitrió. I en la meva línia de petició, Vaig dir /cats.html. Aquest era el meu objectiu petició. Així que en general m'estava demanant la continguts o el recurs es troba en www.cats.com/cats.html. I a continuació, en funció de si el recurs existeix i si el servidor pot lliurar el recurs de conformitat amb el client de Si ho desitja, pot obtenir diversos codis d'estat de l'esquena. Alguns d'aquests codis d'estat que has vist perquè són part de la resposta. Alguns d'ells, 200 OK, són probablement bastant silenciós. Vostè probablement mai ha vist una pàgina respon 200 OK. Vostè acaba d'obtenir la pàgina. No és com un error 404, que sol ser bastant clar. Generalment, vostè veurà que diu 404. Així que anem a parlar del que alguns d'aquests codis d'estat podria ser. Un cop més, quan el servidor respon a nosaltres, que són va respondre estat de la versió d'HTTP. En general, HTTP / 1.1. Quins són aquests codis d'estat que van a ser? Bé, podríem obtenir un èxit. Així que en la categoria d'èxit, podria obtenir el codi 200 amb el text OK. Què vol dir això? Bé, tot és bo. Vostè ha fet una sol·licitud vàlida. Aquí hi ha una resposta vàlida. Vaig tenir l'oportunitat de lliurar exactament el que volia. Algunes vegades vostè pot aconseguir altres coses que no es donarà compte immediatament però són una mica fracassos. Es diuen redireccions. Hi ha dos més comuns aquí. 301 Permanently-- Mogut el que això significa, bàsicament, és la pàgina es troba ara en una nova ubicació. Es va a viure allà per sempre. I la majoria dels navegadors automàticament li redirigir. Pel que vostè mai veu 1 301, o bé, llevat que siguis utilitzant una realitat fora de la data navegador, possiblement, perquè la resposta 301 és part de el punt, punt, punt de la resposta 301. També li diu que la nova pàgina és. I així, la majoria dels navegadors simplement us redirigirà allà, assumint que vostè vol anar-hi. A vegades, també obtindrà 302 trobats. I aquesta realitat encara podria veure de tant en tant. A vegades les pàgines es desplacen temporalment. Per tant, no serà construït en la sol·licitud dient al navegador per canviar permanentment qualsevol moment que considera la sol·licitud que fer per canviar-ho a una altra cosa. Així que vostè pot veure 302 Trobat, que bàsicament diu aquesta pàgina viu en un altre lloc. Però no va a viure allà per sempre. Amb el temps, probablement vagi de nou a on vostè pensa que és. Després li posen les coses com errors de client. Així que aquests són els que he Probablement vist, ara. Vostè probablement no ha vist els 200S o 300S, però és probable que estiguis familiaritzats amb els 400S. I això és el que anem a parlar sobre en un segon, 500s també. És possible que vegi 401 no autoritzat. En general, això significa que ets tractant d'accedir a una pàgina, però no ha entrat. Així que intentar anar a algun perfil o alguna cosa a Facebook o intenta i accés some-- ets a la feina. Vostè està tractant d'accedir a alguna cosa a Internet del seu treball, però vostè no està connectat. No es pot veure la pàgina. Vostè pot obtenir un 401 no autoritzat, que indica que probablement serà capaç de satisfer aquesta petició, però primer has d'entrar per fer-ho. Per contra, podria obtenir 403 Forbidden, que és en realitat no importa si està connectat o no. No es permet aquesta petició. El recurs existeix al servidor. Però no se li permet accedir-hi. Això és en general els arxius interns que viure al servidor, per diverses raons però no es pretén que siguin visitada del món exterior, i pel que està prohibit. Viuen allà. No estic dient que no puc trobar-lo. Però jo dic que no puc donar-t'ho. I no importa si està connectat o no. I després, per descomptat, el molt comú 404 Not Found. L'arxiu no existeix al servidor. Voldria satisfer seva petició, però no puc. També de vegades veus servidor errors, el més comú en general sent 500 Internal Server Error, que en realitat no et diuen res en absolut sobre el que ha anat malament. Però no és en realitat fer un error en la seva sol·licitud. En realitat és el servidor si no per complir amb la sol·licitud d'alguna manera. Així que 500 és la resposta general. També veurà alguna cosa com Servei no disponible, que crec que és el codi 503. I Gateway Timeout-- si Alguna vegada ha tingut una pàgina seure allà la càrrega i càrrega i de càrrega i mai se sap si va a càrrega i després amb el temps s'acaba says-- simplement es dóna per vençut. Aquesta és una, de 504 de temps d'espera. El servidor volia executar la seva sol·licitud, però alguna cosa va sortir malament en el side-- servidor no en la seva side-- a causa que per ser un problema. Ara, podríem acabar la història aquí, però el que de fet vaig a fer ara és que em vaig a obrir meu navegador i li mostren com és possible que pugui veure alguns d'aquests codis d'estat Encara que no té generalment els veu. I nosaltres farem que en prendre Un cop d'ull a algunes eines de desenvolupament. Està bé Així que aquí estic ara a la meva finestra del navegador. I vull aprendre una mica més informació sobre aquestes peticions HTTP. Com puc sé-- certament sabem si un pàgina goes-- quan alguna cosa va malament, obtenim un 404. Tots hem vist això. No necessitem per il·lustrar això. Però ¿quins són alguns altres? I com veuríem aquestes peticions en l'acció? Així que el primer que vaig a fer és obrir Eines de Desenvolupament. Així Eines de Desenvolupament es construeixen en la majoria dels navegadors moderns i ens permeten veure les coses que nosaltres no fem el contrari veure- alguna informació extra classe de sent transmesa sota de la nostra web peticions. Estic usant Google Chrome aquí. I per obrir Eines de Desenvolupament a Chrome, que acaba de colpejar F-12, i que va a obrir cap amunt a la banda. Una vegada que escric la sol·licitud, vaig el zoom perquè puguem veure el que està passant aquí. Però, ¿què faré en el meu navegador Bar és-- i vaig a zoom en més aquí-- Vaig a fer una petició a www.google.com. Tots hem fet, probablement, aquesta sol·licitud abans. Vaig a prémer Enter. Ara, aquí a la meva desenvolupador Eines, he triat la fitxa Xarxa. I t'adones de moltes coses aquí. Mira these-- 200 OK, OK 200, alguns d'aquests codis d'estat pujant. No sé per què estic rebent 302 trobats. No em vaig adonar que veuria aquesta. Però bàsicament notar que molt molt més, en termes de la meva request-- Google Vaig fer una molt simple sol·licitud de la pàgina de Google. I en el procés de el lliurament de la meva comanda, Google aparentment ha fet un munt d'altres peticions en el meu nom. Però he fet una petició GET per a Google de pàgina i que estic rebent una gran quantitat de 200 aprova. No estic veient 200 OK en la pantalla del meu, però m'estic fent una gran quantitat de sol·licituds que s'han fet. Un més que estic bastant Segur que va a treballar és-- per a aquells de vostès que són realment de la vella escola, sapigueu que Facebook era no sempre en Facebook.com. En els seus primers dies era en wwww.thefacebook.com. Pel que sembla, no podien aconseguir l'accés a Facebook.com durant força temps. I així el que estic esperant aquí és obtenir informació. I veurem si això surt bé. El que estic esperant aquí és per obtenir informació que Facebook s'ha mogut de forma permanent des thefacebook.com a Facebook.com. Així que estic esperant en algun lloc prop de la part superior de les meves peticions una altra vegada en els meus Eines de Desenvolupament per obtenir una notificació 301 que Facebook s'ha mogut de forma permanent. Un cop més, no vaig a veure 301 a la pantalla del meu navegador. I perquè és un 301, és un moviment permanent. El meu navegador, sent que és un navegador modern, està probablement va a redirigir em Facebook.com totes maneres. Però anem a veure què passa. I ara vaig a anar a thefacebook.com. I sí, aquí està a la dreta a la part superior. Se'n va anar, però hi era. Permetin-me desplaço fins aquí. Aquí mateix, a la part superior. Vaig fer una sol·licitud per thefacebook.com, i jo estic rebent una resposta que aquesta pàgina s'ha mogut de forma permanent. I llavors aquí és 307 una redirecció interna. I així, això és el que té en realitat em va traslladar a la molt més www.facebook.com familiar. Així que aquests codis de resposta fan encara passar, encara que no els veiem. Jo no vaig a il·lustrar 401, 403, 404, perquè el que has vist aquells en diversos punts. I 500, només vull ser tipus de-- que hauríem sort si té un 500, perquè no sabem el que servidors estan actualment enlloc. Però aquests codis fan existeix, i hi ha una manera de per accedir-hi, fins i tot si no ho fem veure de primera mà en els nostres sistemes. Sóc Doug Lloyd. Això és CS50.