[Powered by Google Translate] [Săptămâna 7, Continuare]
[David J. Malan, Universitatea Harvard]
[Acest lucru este CS50.] [CS50.TV]
Bine. Bine ai venit înapoi. Acest lucru este CS50,
și aceasta este sfârșitul săptămânii 7.
Deci unul din aceste lucruri stupide, care merge în jurul valorii de internet
și am slurped sus, și ar trebui să facă acum un pic de sens geeky pentru tine.
Ei bine, a fost amuzant la acest tip decât a fost cu voi.
Vorbind de, ei bine, băieți,
azi e ziua lui Nate.
Pentru a vă da un sentiment de cat de bine Nate și eu sunt
la dezvoltare web bazat pe clasa de luni și se bazează acum pe acest lucru,
M-am gândit trageți în sus pagina lui Nate acasă, dacă nu l-ați văzut încă.
Acest lucru aici, printre altele, lui Nate HTML.
Deci, a se vedea sursă său, dacă doriți să vedeți cum se face acest lucru, și Nate,
daca am putea embarass doar pe scurt, personalul luat ceva
dacă doriți să vă împărtășesc câteva desert cu unele dintre copiii din clasa aici.
Dacă doriți să vină pe jos.
Voi toti aplauda si sunt foarte frumos, dar nimeni nu este așezat oriunde în apropierea Nate,
pentru un motiv oarecare, în această zonă spate.
Asa ca, probabil puteți găsi unii oameni să se bucure de acestea cu.
Happy Birthday, Nate.
>> Hellos suplimentare: Am aratat un cuplu de clipuri de la studenții noștri CS50x.
Dacă doriți să vedeți cine altcineva este în lume
care este în urma de-a lungul, vă puteți îndrepta spre această adresă URL,
în cazul în care Iosif, unul din TFS noastre, a pus împreună un montaj de felul
de toți cei care au fost depunerea de astfel de videoclipuri, printre care Rick Astley.
Și dacă ai parcurge acestea, este într-adevăr destul de inspirație
pentru a vedea diversitatea de țări și orașe din care oamenii sunt de salut.
Deci, dacă doriți să luați o privire la faptul că, care va fi de până până la sfârșitul semestrului.
Astăzi vom continua privirea noastră la Internet, programare web, cum ar fi HTML și,
si am de asemenea, au masa de prânz vine această vineri
dacă doriți, și, în special, nu au făcut acest lucru înainte.
Aceasta tema de vineri va fi ziua de naștere a lui Nate,
așa că, dacă v-ar dori să aibă masa de prânz ziua de nastere cu Nate
și altele, unele dintre prietenii nostri din industrie,
vă rugăm să mergeți la adresa URL respectivă acolo.
Spațiu, ca întotdeauna, este limitată. De asemenea, în cazul în care ați uitat,
dau seama că săptămâna viitoare este termenul limită pentru problema stabilit vânătoare de 4 a lui măturător de stradă,
prin care, după recuperarea tuturor acestor JPEG din card.raw,
tu și colegii tăi secțiune, dacă doriți, puteți încerca fotografierea
cât mai multe dintre oamenii de stiinta din care cardul de memorie cât posibil,
și tu și secțiunea dvs. va castiga un premiu fabulos atunci.
Consultați înapoi la caietul de sarcini PSET 4 ca la ceea ce să-și prezinte și până când.
De asemenea, dacă doriți să aveți mana ta imortalizat
pe site-ul cursului și istoria ei de îmbrăcăminte,
știu că sunteți binevenit acum pentru a începe depunerea modele
pentru acest an T-shirt și jachete și similare.
Vom face tot posibilul pentru a include cât mai multe ca putem,
dar vom avea unii membri ai personalului revizuirea toate desenele
pentru a vă asigura că sunt în conformitate cu caietul de sarcini,
și am alege, apoi, în general, o mână de ele pentru a fi expuse.
Deci, dacă sunteți tipul de construcție, știu doar că cerințele
pentru grafica sunt PNG, cel puțin 200 dpi,
acestea nu trebuie să fie mai mare de 4000 x 4000 pixeli,
și nu mai mult de 10 MB, dar ești binevenit să folosească lucruri cum ar fi
Photoshop sau GIMP sau diverse programe grafice lui,
orice ai avea la dispozitie.
>> De asemenea, pe orizont este proiectul final. Final al proiectului este într-adevăr punctul culminant de 50,
prin care toate misiunile în curs,
E într-adevăr o oportunitate de a face chestia ta.
Și care pot fi pur și simplu de a face ceva pentru a te distra,
aceasta poate fi pentru a rezolva unele probleme presante grupul dvs. de elev are,
pentru unele site-ul nou, un mecanism de colectare a datelor pentru noi.
Acesta poate fi o aplicatie mobila pentru Android, iOS pentru.
Într-adevăr, cerul este limita, și peste următoarele câteva săptămâni,
așa cum am tranziția de la C la aceste limbi de nivel superior, cum ar fi PHP si JavaScript,
veți găsi te din ce în ce familiarizat cu unele tehnici de real-lume,
unele instrumente de lumea reală, și să o completeze,
știu că cursul are o istorie de seminarii,
prin care peste urmatoarele cateva saptamani, o parte din cadrele didactice
și prieteni ai noștri din campus va oferi seminarii optionale
care merge de mai sus și dincolo de ceea ce se face de obicei în secțiunea
să vă prezint lucruri, cum ar fi programarea Android,
să vă prezint lucruri, cum ar fi iOS de programare
sau mai avansate de web-dezvoltare tehnici.
Există o întreagă istorie a acestor deja on-line.
Dacă te duci la cs50.net/seminars, am făcut acest lucru pentru destul de câțiva ani,
și veți vedea că arhivat aici cu PDF-uri și clipuri video și cum ar fi
sunt mai multe videoclipuri zeci de seminarii.
Anul trecut, de exemplu, am avut un seminar privind strălucit interviurile tehnice,
dacă sunteți în căutarea de fapt, pentru a merge off și de a face un stagiu sau full-time concert.
Windows Mobile dezvoltare, Android de dezvoltare, Google Maps,
API, CSS, în curs de dezvoltare pentru BlackBerry, Emacs.
Într-adevăr, sunteți binevenit să aruncăm o privire la oricare dintre aceste seminarii la care vă convine.
Și vom organiza unele noi în acest semestru, de asemenea.
>> Deci, ce este mai departe cu proiectul final?
Ei bine, în primul rând, chiar dacă această dată este oarecum iminentă,
aceasta este de fapt doar o oportunitate de a incepe sa te gandesti despre proiectul final destul de realist.
Știm doar începuturile ceva din ceea ce vom fi în continuare acoperind în curs,
HTML, PHP și cum ar fi, dar esti familiarizați cu toate web,
si am tendinta spre această conversație Web numai pentru că
cei mai mulți oameni sfârșesc prin a face Web-based proiecte finale,
dar că nu este deloc necesară.
Utilizarea C este bine, obiectiv C, Java,
orice altă limbă ar putea ști sau vrei sa stii e destul de bine.
Dar pentru a obține sucuri curge inițial, vom aștepta depunerea unei preproposal
care, pe PDF pe site-ul, care este acum la cs50.net,
și la stânga sus, veți vedea proiectul final
este caietul de sarcini pentru proiectul final,
și acolo sunt detalii privind preproposal și plăcea.
Se reduce destul de mult până la un e-mail la colegi predare
doar pentru a lovi o conversație cu el sau ea despre ceea ce te gândești.
Pe projects.cs50.net este un depozit de idei de la oameni în campus
dacă sunteți luptă pentru a veni cu o idee,
și manual.cs50.net/APIs este un depozit de link-uri către API-uri.
>> Ce, însă, este un API?
Ce este un API? Am spus-o de cel puțin de două ori,
în conformitate cu transcrierile ultimele câteva săptămâni.
Ce-i asta? [Student, neinteligibil]
Bine >>, bine. Deci ceva interfață de programare.
Application Programming Interface, iar acest lucru poate lua mai multe forme,
dar ceea ce reduce într-adevăr acest lucru este în jos pentru a codului
că altcineva HS scris sau date care altcineva le-a colectat
care este pus la dispoziție pentru a vă într-un fel programatic.
Puteți scrie codul în C, PHP, Python, Ruby,
indiferent de limba dvs. de a alege de obicei, este,
si puteti construi intr-un fel pe funcționalitatea altcuiva
sau altcuiva set de date.
De exemplu, dacă mă duc la acest link aici,
și veți vedea o pereche de link-uri pe pagina următoare
prin care avem API-uri proprii CS50, care sunt foarte Harvard-centrice, și apoi terță parte API-uri.
Printre API-urile terță parte sunt lucruri cu adevărat utile
cum ar fi posibilitatea de a trimite oameni la SMS lui,
fiind capabil de a primi mesaje text SMS de la oameni.
Și lucruri de genul asta pe care le-ar putea avea nici o idee cum să te pună în aplicare,
dar, datorită serviciilor, unele, liberă și unele comerciale
puteți construi deasupra celor și să facem ceva de interes pentru tine.
Printre API-uri CS50 sunt aceste lucruri campus-centrice ca
Cursuri de la Harvard, energie, evenimente, produse alimentare, harti, stiri, tweet-uri și a lui proprie, Shuttleboy
și acestea sunt API-uri care arata ceva de genul asta.
>> Lasă-mă să trageți în sus API HarvardFood.
Dacă ați fost vreodată la site-ul HUD lui, probabil ați fost acolo
pentru a vedea doar ceea ce este pentru cina sau pentru a vedea ce ore sunt pentru unele d-hall.
Ei bine, nu e deosebit de usor de navigat,
și așa mai departe ceea ce am făcut a fost în urmă cu ceva timp am scris software-ul,
se întâmplă să fie în PHP, că, de fapt ecranul zgarieturi totalitatea site-ul HUD lui.
Pentru a ecran ceva racla înseamnă a scrie un program într-o limbă cum ar fi PHP
care pretinde a fi un browser, chiar dacă s-ar putea să funcționeze la un prompt de comandă,
care pretinde a fi un browser, se conectează la un site web,
descarcă HTML său, limba în care este scris,
și apoi citește, sau mai exact, acesta analizează
de sus în jos, de la stânga la dreapta.
Și ceea ce am făcut a fost am scris codul nostru în așa fel încât
orice moment am văzut ceva în această HTML care semăna cu ceva pe meniu,
cum ar fi hamburgeri, ne-ar importa atunci că în baza noastră de date proprie.
Și în orice moment am văzut conținutul nutrițional, ne-ar importa în baza noastră de date proprie.
Și ceea ce am făcut a fost levier faptul că HUD site-ul,
chiar dacă ar putea fi un pic de o provocare pentru noi, oamenii, pentru a naviga
sub capota, toate HTML este generată de programele informatice proprii.
Deci, toate de HTML lor, chiar dacă s-ar putea arăta murdar,
la fel ca majoritatea site-urilor de sub capota urmeaza un tipar.
Așa că am petrecut doar câteva ore imaginind că modelul
astfel încât, în final, vom arunca toate HTML murdar,
toate estetica orientat spre caractere aldine și cursive și cum ar fi,
și ceea ce suntem capabili să facă, atunci este faptul că expune aceleași date.
De exemplu, în acest mod.
Așa că am, în conformitate cu documentația de aici,
au informat lumea că, dacă veți solicita un URL
care arata ca aceasta, food.cs50.net / ceva,
și vă oferă anumiți parametri, despre care vom vorbi despre ziua de azi,
cum ar fi data de final ora, data de pornire timp, masă și așa mai departe,
ce serverele noastre se vor întoarce la tine, de exemplu,
este un fișier CSV, virgulă separted valori, cum ar fi un fișier Excel,
conținând totul pentru micul dejun la această dată special, în luna martie a anului trecut
atunci când sa întâmplat să scriu această documentație.
>> Pentru cei familiarizați, CSV nu este formatul de fișier numai.
Există un alt format care e tot mai versatil
numit JSON, JavaScript Object Notation.
Datele pot veni înapoi în acest format.
Deci, aici este livrata acasa, pe care, dacă sunteți arunca cu capul în acest API
sau orice alte CS50 lui sau ceva de acolo de pe Internet,
sau deloc, seama că lumea a început din ce în ce să standardizeze
cum Mașini fi în comunicație.
Noi folosim formate de date standard, cum ar fi CSV sau JSON.
Și ce înseamnă acest lucru pentru tine este ca poti scrie o parte interesantă a unui program de
care vă permite dvs. de utilizator căuta un meniu de mese sala,
care le permite să creați liste de preferinte care le permite sa primiți alerte de text
atunci când masa lor preferata este pe cale de a fi servit în unele d-hall
folosind seturile de date altcuiva și de consolidare pe partea de sus a API-uri lor.
Deci, mai mult pe faptul că, în forma de seminarii și documentația pe care le avem aici on-line.
Deci cei care, atunci, sunt API-uri.
>> Asta ne aduce inapoi la HTML. Rapidă recapitulare.
Ce este HTML?
[Student, neinteligibil] Bun >>. HyperText Markup Language.
Altcineva, ceea ce este Hypertext Markup Language?
HyperText Markup Language.
Bine. Deci HTML, HyperText.
HyperText doar se referă la Web, pentru cea mai mare parte.
Marcaj înseamnă că nu e de fapt un limbaj de programare, HTML.
Nu este o limba pe care o poate exprima logica inch
Ea nu are bucle. Ea nu are condiții.
Ea nu are funcții, per se.
Mai degrabă, el are aceste lucruri numite tag-uri, sau mai corect, elemente.
Și aceste elemente au etichete de început și sfârșit tag-uri,
sau tag-uri deschise și închise tag-uri, și ceea ce înseamnă, în general, acele etichete pentru un browser este,
începe să faci ceva și apoi nu mai faci ceva, deși există excepții de la această.
Uneori e doar "pune un sfârșit de linie aici," de exemplu.
Și am văzut exemple de faptul că altă zi, între orientat spre îndrăzneț,
sfârșiturile de linie, și apoi un cuplu de alte tag-uri.
Deci HTML este limba în care paginile web sunt scrise.
Așa că, dacă mă duc la ceva de genul Google.com
și trageți în sus doar pagina lor de origine,
Reamintim că, dacă faceți clic dreapta sau faceți clic controla
si uita-te la pagina sursă vedere, de obicei,
E o mizerie totală în aceste zile sub capota, dar asta pentru ca
calculatoarele nu le pasă de spatiu alb, astfel încât acest lucru nu trebuie să se uite destul.
Dar dacă am mări părți ale acestuia,
observa că Chrome, doar pentru a fi frumos, are culoarea codificate lucruri.
Într-adevăr, acest lucru este foarte etichetă în primul rând că am văzut într-o pagină web.
Și din nou, HTML 5, cea mai recentă versiune a acestui limbaj,
are acest lucru de la început,
<Doctype html!, Indiferent dacă litere mici sau majuscule,
dar asta e doar un fel de standard care spune, hei lume, vine aici un fișier HTML în versiunea 5.
>> Partea interesantă începe aici. Deci <html, iar apoi s-au doi copii
elementelor HTML ultimul timp.
Care au fost cele două principale copii?
Cap și corp, la fel ca tipul cu tatuajul acum un moment.
Există două porțiuni ale paginii web, cap și corp,
și rechemarea, apoi, că, probabil, pagina de web simplu am putea face arata ca acest lucru.
Și eu am indentate doar pentru a fi un fel de curat si ordonat, cu codul meu,
dar ceea ce este cu adevărat important aici este faptul că există o anumită ierarhie în acest sens.
Și orice etichetă pe care l-am deschis, am închis și că nu există, prin urmare, această simetrie
la toate marcaj pe care l-am creat.
Deci, ultima oară când am început să scriu pagini web pe laptop-ul meu propriu.
Am deschis editare de text, am salvat fișierul ca hello.html,
Am tras apoi fișierul pe browser-ul meu, și voila, am avut o pagina pe Internet.
Acum, nu e destul de caz, am avut o pagină de pe hard-disk,
si am fost literalmente singura persoană din lume care ar vedea că pagina de web într-un browser.
>> Asa ca astazi, vom introduce un server de web reală
și noțiunea de a servi de fapt, conținut de pe Internet
și modul în care aceasta începe să se potrivească toate împreună.
Deci, se dovedește că în tot acest timp în aparatul CS50
ați avut un server de web de pe calculatorul dumneavoastră.
Ne-am, în echitate, doar folosit pentru gedit, pentru zăngănit, pentru GDB și cum ar fi,
dar, de asemenea, instalate de catre noi pentru tine în aparatul este un server de web,
și că serverul de web se întâmplă să fie liber, o sursă deschisă,
una dintre cele mai populare din lume, numit Apache.
Numele său este mult mai tehnic HTTPd, d fiind de daemon aici,
care este un cuvânt tehnic pentru un server.
Deci, instalat în aparatul CS50 este un server de web, și ce înseamnă asta?
Ei bine, un server web este, conceptual, unele server de pe Internet, care servește de conținut web.
Când a fost întrebat de un fișier, scuipa HTML care compune acel fișier, și voila.
Tu vezi pagina unele site-ul acasă.
Dar un server este, mai exact, o bucată de software.
Ea nu trebuie să fie pe o mașină fizică, el trebuie doar să fie o bucată de software care rulează.
Deci, aparatul CS50, desigur, este o bucată de software
chiar dacă e un fel de a pretinde să fie o mașină.
Se pretinde a fi un calculator în interiorul unui calculator,
dar asta înseamnă doar că aparatul poate funcționa cu siguranță, lucruri cum ar fi servere de web.
Se poate rula de fapt, servere de e-mail.
Am putea rula un server de mesagerie instantanee, în aparatul dacă am fi vrut,
și într-adevăr, noi nu rulați un alt tip de server, cunoscut ca un server de baze de date, MySQL.
Dar mai multe despre asta săptămâna viitoare.
Acest lucru înseamnă că eu pot vizita, de fapt pagini web
interiorul aparatului meu folosind un browser interiorul aparatului
sau chiar pe laptop-ul meu propriu, Mac-ul meu sau PC-ul meu.
Deci, ce înseamnă? Se pare că de fiecare dată când rulați un calculator Linux,
porecla sa este "gazda locală."
Ea nu are un nume de domeniu pentru că nu am cumpărat un nume de domeniu
pentru ceva de genul aparatul, astfel încât numele său implicit este gazda locală.
>> Dar, în scopul de a obține aparatul pentru a începe difuzarea pagini web,
noi trebuie să le creați mai întâi.
Deci, hai să facem asta. Lasă-mă să merg într-o fereastră terminal de aici
și observați că sunt la mine tipic John Harvard promptă.
Lasă-mă să mergeți mai departe și de tip LS, și vom vedea unele lucruri familiare din acest semestru,
desktop, download-uri, dropbox și așa mai departe,
dar acum vom începe de cotitură atenția noastră pentru un cuplu.
Pe mai multe servere de web Linux e un folder denumit publice html,
dar am de gând să săriți că unul de acum și să se concentreze pe acest vhosts,.
Oricine știe ce este un vhost este?
Doar jargonul prost pentru gazdă virtuală,
și ce înseamnă acest lucru este faptul că pe un server tipic
puteți găzdui site-uri web, de fapt mai multe.
Puteți cumpăra un nume de domeniu cum ar fi foo.com, și îl puteți găzdui pe un server.
Dar puteți cumpăra, de asemenea, bar.com și găzduirea pe același server.
Motivul fiind, browsere sunt destul de inteligent pentru a informa serverul
atunci când un utilizator se solicită unele pagini web, ce nume de domeniu utilizatorul dorește pagina pentru.
Deci, ce e frumos despre acest lucru este nu aveți nevoie de un singur server fizic
sau un aparat CS50 pentru fiecare site-ul ar putea să doriți să creați.
Puteți folosi același server și de a dezvolta o sută de site-uri diferite.
Și într-adevăr, dacă sunteți o persoană care încearcă să înceapă un site web,
fie pentru distractie sau pentru mediul de afaceri, de obicei, vei merge pe internet,
și veți plăti cineva zece dolari pe lună, o sută de dolari pe lună
pentru a găzdui site-ul dvs. pentru tine.
Și modul în care funcționează este ca ei se încarcă alte persoane
zece dolari pe lună sau o sută de dolari pe lună
pentru a găzdui site-uri altor oameni de pe serverul lor aceeași.
Motivul pentru care se poate face acest lucru este din cauza acestei caracteristică numită bhosts,
dar mai mult pe faptul că atunci când vine vorba de timp pentru proiectele finale.
>> Pentru moment, să se arunca cu capul doar acolo. Deci vhosts cd, si daca am de tip LS acum,
observa că există un folder denumit acolo local host.
Asta pentru că, în mod implicit, cifrele aparat
ai vreodată de gând să ruleze un site web pe un aparat.
Acest lucru nu este cu adevărat lumea reală, nu este un server de web din lumea reala.
Așa că lasă-mă să intru în gazdă locală, iar acum vom vedea acolo
un director ultima numit HTML.
Deci e un pic profundă, ierarhia, dar dacă și atunci când
vă decideți să înceapă în curs de dezvoltare site-uri multiple în următoarele luni sau ani n,
acest tip de structura directorului tinde să fie de ajutor.
Acum hai să mergem în HTML ca tocmai am făcut-o,
E de tip, și nimic nu este acolo.
Deci, acum să mergem mai departe și de a face acest lucru. Lasă-mă să deschid Chrome
interiorul aparatului, și lasă-mă să merg la http://localhost.
Deci, literalmente nume pentru aparatul meu, introduceți, și mă indicele de /.
Acest lucru nu este cu adevărat mi arate ceva de interes,
dar se pare că ceea ce vedem este că dosar, HTML.
Nu e nimic în interiorul acel folder, chiar acum,
astfel încât în ​​loc, ce am de gând să trebuie să faci este să creați mai întâi un fișier.
Creați un fișier HTML cum am făcut-o luni, dar de data aceasta a pus în interiorul aparatului.
Pentru cei dintre voi care încearcă să urmeze, împreună cu laptop-uri acum,
lasa-ma sa fac o parte care va fi acoperit în PSET web-based,
dar în scopul de a obține acest să lucreze pentru prima dată,
ai de gând să trebuie să rulați această comandă: sudo httpd start de serviciu.
Și aceasta, din nou, va fi repetat în ultima PSET,
dar dacă vă jucați de-a lungul acasa acum, server web
este oprit în aparat, și asta e, astfel încât să nu submina RAM
și memorie pentru 7 saptamani din semestrul atunci când nu avem nevoie de ea.
Deci, aveți nevoie pentru a rula această comandă o dată, și veți obține o putere de genul asta.
Apoi, ar trebui să fie în măsură să se joace de-a lungul aici.
Acum hai să mergem înapoi în acest dosar.
Acest folder este gol, asa ca lasa-mi să încep crearea unui fișier,
gedit hello.html.
>> Bine. Gedit este deschis, ca de obicei. Lasă-mă să fac doctype, html,
html, lasă-mă să meargă înainte de mine și începe închiderea Tag-urile mele în avans.
Acum am capul. Lasă-mă să mergeți mai departe și închideți cap,
permiteți-mi să fac acum titlul paginii, salut lume ca data trecută,
Titlul aproape, lasă-mă să fac acum un corp.
În aici, voi spune salut, lume, cu unele exclams
pentru a face clar că este un șir diferit.
Închideți corp, iar acum să-mi merge mai departe și să depună salva.
Lasă-mă să mă întorc la fereastră terminalul meu, și dacă aș tip LS,
Eu ar trebui, probabil, a se vedea hello.html. Si eu fac.
Deci, acum să ne întoarcem la browser-ul meu, faceți clic pe reîncărca,
și puteți vedea într-adevăr, suntem în interiorul acestui folder HTML.
Nu văd o pagină web încă; aceasta este Apache, serverul de web,
Doar arată-mi lista de conținutul acestui director.
La fel ca Mac OS sau Windows ar face de obicei pe cont propriu hard disc.
Deci, dacă vreau să văd această pagină web, pot click pe acest link mic aici, hello.html,
și, într-adevăr, asta e ceea ce mă așteptam să văd.
Acum, din nou, aceasta nu este o adresă URL pe care oricare dintre voi poate vizita chiar acum,
deoarece pentru tine, gazdă locală, în cazul în care aveți un laptop aici,
se referă la instanță proprie a aparatului.
Acest lucru este pe aparat mea personală,
dar acest lucru este un fel de prost pentru mine de a avea, pentru a avea
un utilizator ca mine faceți clic pe hello.html pentru a vedea de fapt, conținutul acestei pagini.
Se pare că serverele web ca Apache sa aveți un fișier implicit pentru orice server de web.
Observați aici avem hello.html.
Care e comanda in Linux pentru a redenumi un fișier?
>> MV, pentru a muta. Așa că lasă-mă să fac asta,
și lasă-mă să redenumiți hello.html index.html.
Lasă-mă să tastați E pentru a confirma ca acum a fost redenumit.
Acum, acest lucru este de gând să - dacă mă întorc la local host,
observa acum că eu văd în mod automat că pagina de web.
Acest lucru este identic pentru a-mi face de fapt / index.html,
dar mai frumos lucru acum este faptul că serverul de web a imaginind,
oh și, dacă aveți un fișier care, prin convenții umane, este numit index.html,
lasă-mă să arată utilizatorului că dosarul implicit
, mai degrabă decât o anumită listă de directoare, care prost nu este deloc user-friendly.
Într-adevăr, cele mai multe site-uri web pe care le vizitați pe Internet nu au o listă de fișiere să faceți clic pe,
ele arată doar te conținut. Deci asta e modul în care putem face acest lucru, index.html.
Deci, asta este tot distracție și bună, dar aceasta este o pagina web destul de simplu.
Lasă-mă să mergeți mai departe și să deschidă index.html în vhosts mele,
Gazdele locale, directorul html, și hai să adăugați ceva de interes mai mare.
Deci, nu e hello world; să spunem în loc "Acesta este CS50, Harvard College. . . "
Deci, la începutul Catalog de cursul de un anumit fel acolo.
Acum, dacă mă reîncărca, eu ar trebui să vedeți acest lucru în pagina mea de pornire.
Bine, și eu nu văd asta, dar să presupunem că doresc să enumăr acum ceva mai mult conținut în acest fișier.
Am putea merge în jos aici și să spun, nici unul premise,
deși unii dintre voi sunt ca, probabil, "Ha, ha, ha, nici premise."
Dar - în mod oficial. Deci reîncărca, iar acum avem aceeași capriciu pe care am văzut ultima oară.
Dar de ce este asta? A fost o soluție simplă.
De ce este această pagină rupt?
[Student, neinteligibil] >> Da, am rezolvat asta înainte
în mod explicit de către browser-ul spune "pune un sfârșit de linie aici."
Și asta pentru că, din nou, a unui browser doar de gând să facă
în mod explicit ceea ce limbajul de marcare se spune să facă,
astfel încât chiar dacă s-ar fi lovit introduceți o dată sau de două ori sau chiar de zece ori,
se va combina ca toate intr-un singur spațiu, doar prin convenție.
Deci, daca vrei cu adevarat un sfârșit de linie, va trebui să utilizați tag-ul BR,
și acum notificare, cum ar fi luni, am pus în interiorul / din această etichetă,
doar pentru că aceasta pur și simplu nu se simt bine
pentru a începe un sfârșit de linie opri apoi cu nimic în între.
>> Deci, convenția în format HTML este de a deschide și închide o etichetă simultan.
Ca o paranteza, veți vedea o mulțime de site-uri web în cărți, nu fac asta.
Este corect să facă sau să nu-l facem, dar ne-ar argumenta
faptul că design-înțelept și stilistic, aceasta este doar mai bine
pentru că atunci fiecare tag-ul este atât de deschis și închis într-un fel.
Deci, acum să salvați și reîncărcați. Du-te înapoi la browser-ul, bine.
Acum facem unele progrese, dar nu e destul.
Să mergem mai departe și să începeți să tastați în unele organism mai mult de text.
Deci, haideți să spunem, "O rapidă maro vulpe sare peste un caine lenes."
Și acum să-mi copiați și lipiți doar de citeva ori
astfel încât să avem un paragraf de text.
Lasă-mă să mă întorc aici. Deci nu se uită foarte bine.
Eu nu am un sfârșit de linie, asa ca e bine,
dar acum, odată ce suntem a ajunge la punctul de a avea o pagina web
care are o mulțime de conținut și nu doar linii simple pentru a demonstra HTML,
putem începe să ne gândim la aceste lucruri ca punctele reale.
Și putem începe să structureze pagina noastra de web un pic mai curat.
Și într-adevăr, ce pot să fac este să meargă până aici interiorul tag-corpul meu,
și știi ce, dacă "Aceasta este CS50. . . " demarks într-adevăr începutul unui paragraf,
bine, hai să etichetați ca atare.
Lasă-mă să liniuță textul, doar prin convenție, permiteți-mi să spun
faptul că acest alineat se termină aici,
și apoi, mai degrabă decât face acest lucru sfârșit de linie, permiteți-mi să spun
că această aparține acolo și ca un nou alineat,
și voi doar repede liniuță de platesti doar toate chestiile astea.
>> Deci, acum avem un paragraf indentat acolo,
iar acum marcajul nostru este incepand de a obține un pic mai mult
semantic în concordanță cu ceea ce încercăm să facem.
Avem un paragraf, asa ca hai sa o numim un paragraf cu tag-ul p.
Avem un al doilea paragraf, asa ca hai sa o numim un paragraf cu tag-ul p.
Și acum, ce browser-ul va face de obicei
este la fel ca într-o carte în limba engleză sau un eseu,
în cazul în care veți vedea de obicei, unele sfârșituri de linie între punctele.
Browsere va face asta pentru tine automat.
Deci acum avem două puncte și putem continua acest lucru.
Dar, desigur, pe Internet, atunci când aveți organelor de text
nu e de obicei doar Blobs uriașe de text.
Momentan nu sunt de multe ori hyperlink-uri acolo.
Deci, dacă vrem să, de exemplu, includ unele link-uri acolo,
Presupun că ceea ce ar putea fi de interes pentru orice pagina web creez aici este -
lasă-mă să merg la Google.com,
și lasă-mă caute pentru o scurtă maro vulpe.
Du-te la imagini Google, și, cum despre - asta e drăguț.
Vom merge cu asta. Deci, aici avem o scurtă sărituri maro vulpe pe un caine lenes.
Deci, ce am de gând să fac aici, doar de dragul de a demonstrației,
se presupune că această imagine a fost pe serverul meu,
și am fost crearea acestor imagini.
Ceea ce am făcut a fost doar să faceți clic dreapta sau controlează click pe imagine,
și ceea ce veți vedea în cele mai multe browsere este un mic meniu -
nu mai faci asta - un mic meniu care vă permite să alegeți Copy link location sau URL-ul copie.
Așa că lasă-mă să mă întorc acum la HTML meu, și să presupunem că eu doresc
pentru a hyperlink la această altă pagină web.
>> Care a fost tag-ul solicitat pentru asta?
[Student, neinteligibil] >> Da. Deci, a href de trimitere hiper.
Lasă-mă să merg mai departe și lipiți care inch
E un URL destul de lunga, asa ca lasa-ma zoom înapoi.
Paranteze inchide, asa observa acum am luat-o aici
pentru că URL-ul sa întâmplat să fie destul de lung.
Lasă-mă să defilați aici până la sfârșitul anului rapidă maro vulpe,
și apoi să-mi închideți acest tag cu </ a,
în cazul în care am închis doar numele etichetei.
Acum, lasă-mă să merg mai departe și salvați fișierul respectiv, reîncărca pagina web,
și acum, în mod implicit, care va fi subliniate în albastru, pentru mine,
dar, într-adevăr, am posibilitatea să faceți clic pe această acum și voila. Nu e acea imagine.
Și nu avea să fie o imagine, ar putea fi legate de
la unele site-ul aleatorii de pe Internet.
Aș putea face acest lucru, de exemplu, cu CS50, deci un exemplu aici ultima.
"Acest lucru este CS50" s-ar putea face sens pentru a merge o, href =
http://www.cs50.net, citat de aproape, ancora aproape.
Deci, acum că e un URL mai scurte, și de data aceasta nu vom face legătura cu o imagine.
Suntem în loc de gând să legați la altă pagină.
Acum, avem o imagine aici.
Mă simt ca și cum putem face un pic mai bine decât legarea la o imagine.
Ce se întâmplă dacă vrem să-l cuprindă, de fapt, în pagina noastra de web proprie?
>> Ei bine, ce pot să fac aici este, mai degrabă decât link către acest grafic,
permiteți-mi să taie în locul URL-ul, și vom scăpa de faptul că hyperlink și curat asta.
Și vom merge în jos aici și a scăpa de acest lucru.
Noi nu prea au nevoie de toate aceste Exemple de acum, asa ca lasa-mi scurteze pagina un pic.
Și apoi în jos să-mi aici, merge mai departe într-un nou alineat,
spun că nu doriți ca textul acum, vreau o imagine a cărei sursă va fi acea adresă URL.
O imagine, cum ar fi un sfârșit de linie, este fie acolo sau nu este.
Așa că lasă-mă să închidă imediat că tag-ul.
Lasă-mă să merg mai departe acum și închide punctul că eu sunt în interior,
și, dacă totul merge bine cu Bună ziua, lume, dacă aș reîncărca acum,
Eu, într-adevăr, a se vedea chiar din interiorul paginii mele de web proprii, o imagine.
Deci acum avem o etichetă imagine, o etichetă ancoră și cum ar fi,
și pentru o bună măsură, lasă-mă să fac un lucru care este de multe ori neglijat
pe site-uri web aceste zile: Să furnizeze un text descriptiv pentru această imagine
pentru oamenii care sunt pe un dispozitiv mobil
și, prin urmare, nu ar putea fi capabil de a descărca această imagine foarte repede,
pentru oamenii care sunt orbi și nu ar putea fi capabil de a vedea imaginea
dar acestea ar putea avea un cititor de ecran care să le poată spune ce această imagine este de.
Și pentru a face acest lucru, există un alt atribut pentru etichetele de imagine
solicitat ALT, pentru text alternativ.
Și ce pot să fac aici este spus, "Acesta este un rapid, maro vulpe."
Așa că, chiar dacă omul nu poate vedea imaginea de pe ecran,
el sau ea poate auzi, cel puțin, ca și cu unele bucată de software,
ceea ce este de fapt acolo, pe ecran.
>> Asta nu se va schimba estetica paginii,
dar este cu siguranță bună practică pentru utilizatori.
În regulă, hai să părăsiți această pagină de web în forma sa actuală,
dar hai sa vedem daca nu putem introduce acum
unele metode mai bune de scris aceste pagini de web,
câteva lecții care ne vor servi ca paginile noastre obține mai multe și mai complexe.
Ceea ce nu vom face peste următoarele câteva săptămâni
te plimbi prin toate etichetele câteva zeci de HTML care există.
La fel ca în zero înapoi în săptămâna 0, probabil că va fi suficient
pentru a oferi o imagine de ansamblu la nivel înalt a unora dintre conceptele,
un tur rapid al unora dintre blocuri care ai fost probabil în măsură,
destul de confortabil, să mergeți pe cont propriu, diverse piese de puzzle.
Și asta se va întâmpla din nou in HTML, cel mai probabil,
care nu e bogate în resurse pe Web care vă vom indica la,
manuale diferite, dacă preferați să citiți o carte,
care vă va conduce prin toate diverse lucruri care le puteți face cu HTML,
dar într-adevăr, am văzut până acum în HTML cele mai multe dintre conceptele fundamentale.
Avem notiunea de tag-uri sunt deschise, etichetele fiind închisă.
Unele tag-uri care sunt atât deschise și închise
în sensul că acestea sunt goale; trebuie să existe nimic în interiorul ei
ca un tag de imagine sau un sfârșit de linie, care sunt doar acolo.
Am, de asemenea, sa uitat deja la noțiunea de atribut, cum ar fi ALT sau sursa.
Observați că aceste cuvinte au tendința de, prin convenție, sa fie scurt si succint.
>> Noi nu avem putere de apreciere asupra a ceea ce aceste lucruri sunt numite,
cineva care a inventat HTML a venit cu aceste nume.
Deci, trebuie doar să înceapă să cunoască sau să căutați, în orice moment aveți nevoie de ele,
ce nume sunt pentru aceste tag-uri și atribute.
În cazul acestor atribute, atribuie, în general,
modifice comportamentul unor tag-ul.
În acest caz, atributul sursa spune tag-ul imaginii
ce sursa a imaginii ar trebui să fie.
Atributul href spune tag-ul ancora ceea ce ar trebui să fie, de fapt conectarea la.
Dar, în ceea ce privește structura unei pagini web, chiar dacă Facebook
și Google și arată ca un dezastru complet ca
sub capota, la prima vedere, dacă începeți să citiți prin ea
mai metodic, ei vor urma această structură de bază, de bază.
Dar putem îmbunătăți stilizare a acestor lucruri.
Așa că lasă-mă să merg la câteva exemple pe care am pregătit în prealabil.
Lasă-mă să mergeți mai departe și a le copia la un alt dosar aici
și le-a pus în acest director.
În prealabil, ceea ce am făcut a fost pregăti câteva fișiere:
search0, search1, search2, și search3 și 4.
Lasă-mă să merg mai departe și deschide prima dintre aceste dosare,
și să vedem dacă nu putem începe pentru a crea motorul nostru de cautare propriu.
La partea de sus a acestui fișier, așa cum se întâmplă de obicei în clasa, doar o grămadă de comentarii.
In HTML, însă, mijloacele prin care începe un comentariu
este <- si atunci esti in interiorul unui comentariu, un comentariu pe mai multe linii!.
Când sunteți gata pentru a opri acest comentariu, poti sa faci ->.
Deci, totul la partea de sus în albastru este doar un comentariu.
>> Aceasta este declarația mea de DOCTYPE, care din nou,
puteți să copiați și să lipiți pe credință, pentru acum.
Acest lucru spune doar browser-ul, 'Aici vine ceva HTML 5. "
De mai jos, care, pe linia 14, este prima Tag-urile mele reale,
și acest lucru spune doar, ca și mai înainte, vine aici unele HTML,
vine aici capul de pagina mea, aici vine titlul,
și apoi, invers, asta e. pentru titlu, asta e. pentru cap.
Aici vine acum corpul meu paginii.
Deci, un cuplu de tag-uri noi acum: H1 vine de la poziția 1.
E o tradiție în HTML de mai mulți ani înapoi
de a avea dimensiuni diferite de text.
Și înapoi în a doua zi, fiecare a însemnat, în general, doar mare și îndrăzneț.
Dar există, de asemenea, H2, care este mare, dar nu la fel de mare și îndrăzneț.
Nu e H3, care este un fel de mare, dar nu aproape la fel de mare și îndrăzneț,
și așa mai departe, tot drumul până la H6.
Aceste zile, deși, H1, H2 și H3 sunt într-adevăr menite
pentru a avea mai mult sens semantic pentru a le,
care H1 este într-adevăr o poziție: titlul unei pagini web,
titlul unei coloane sau ceva de genul asta de text.
Așa că am spus în mod deliberat h1 CS50 căutare> h1
pentru a specifiy că aceasta este într-adevăr titlul, titlul paginii mele.
Nu este titlul în sensul bara de titlu,
dar titlul pe care îl vedea de fapt, în pagina web în sine, în organism.
Acum, acest lucru, puteți ghici, probabil, ceea ce este,
chiar dacă avem câteva bucăți noi de sintaxă.
Aceasta este o formă. Deci, într-adevăr web devine interesant
atunci când site-urile iau de intrare de la utilizatori.
În această clasă, în problema setat pe programare web,
noi nu vom face un site web, în ​​sine,
cu conținut static care arată fotografii pe care le-ați luat,
sau acesta este CV-ul meu, si lucruri despre mine,
deoarece aceste lucruri sunt relativ ușor de a pune împreună.
E greu sa faci lucrurile frumoase pe internet,
dar cel puțin la punerea la conținut este destul de banal.
Dar lucrurile devin cu adevarat interesante atunci când cineva se poate vizita site-ul dvs.
și să ofere intrare și pot completa formularele,
poate bifa casetele de selectare și pot interacționa cu site-ul tau.
Și într-adevăr, probabil că fiecare site-ul care vă interesează despre
în aceste zile, în orice detaliu, este oarecum interactiv.
Facebook, Google, si ca, pe care ia introduse de utilizator
și produce de ieșire personalizate.
>> Așa că hai să începem să facem asta acum. Să tranziție acum
de la folosind doar HTML pentru marcare de conținut static
în schimb ca un mecanism de livrare pentru conținutul dinamic.
Și spre acest scop, să pună în aplicare de motorul nostru de cautare propriu.
Hai so facem, după cum urmează. Iată tag-ul formularul.
Atributul acțiune specifică faptul că atunci când utilizatorul completează formularul de mai jos
cu tastatura lor, acesta va fi prezentat la această adresă URL aici.
Așa că eu sunt un fel de înșelăciune. O să ne ia un pic mai mult
mult de o clasă de a implementa motorul de căutare ansamblu,
asa ca vom face doar front-end, ca să spunem așa.
Vom face partea care permite căutare a utilizatorilor, iar noi vom sorta de barca în Google
partea cea mai grea a găsi rezultate de căutare,
dar, în mod special, am de gând să vorbesc cu serverul de web Google
folosind una dintre cele două metode foarte populare.
Un curs de înțeles, alta, că vom vedea în cele din urmă, fiind poștă,
deși există altele care sunt mai rar folosite.
Deci, chiar a lua evocă ideea de, vreau sa iau niste conținut, obțineți unele rezultate de căutare.
Acest lucru, puteți ghici, probabil, ce face asta.
Aceasta este un fel de intrare, este, de fapt, o să arate ca un câmp de text,
și numele pe care de intrare, numele de variabile, care, ca să spunem așa,
va fi Q pentru interogare, prin convenție,.
Și din nou, tipul de această intrare nu va fi o casetă de selectare;
nu va fi un meniu, acesta va fi un câmp de text
cum noteaza cu acest atribut aici, și această casetă de text,
ca un sfârșit de linie, este fie acolo sau nu.
Deci avem un element gol cu ​​slash în interiorul acelui tag.
Apoi, am de gând să pună un sfârșit de linie, și puteți, probabil, ghici ce acest lucru este de gând să facă.
Acesta este un alt fel de intrare formular.
>> Acesta va fi utilizat pentru transmiterea formularului.
Deci, acest lucru se va fi butonul mare pe care utilizatorul poate face clic pentru a trimite formularul,
și eticheta de pe acel buton va fi "Căutare CS50."
Formă aproape, corpul aproape, aproape HTML.
Să vedem ce avem în formă a acestei pagini web.
Așa că lasă-mă să merg la browser-ul meu,
lasă-mă să plec, încă, la gazda locală.
Acest lucru este încă index.html, așa că dacă vreau să văd acest fișier numit search0,
Eu pot face pur și simplu / search0.html, introduceți -
și primul greselile mele.
Ce se întâmplă? Eu în mod clar, nu aveți permisiunea de
pentru a accesa acest fișier, pentru un motiv oarecare.
Dar asta e, deoarece, spre deosebire de munca pe care am făcut până acum în C,
în cazul în care programele pe care le scriu sunt presupuse a fi runable de tine,
executabil de tine, că nu e într-adevăr cazul pe Web,
prin care, uneori, este posibil să doriți să creați fișiere de pe un server,
dar tu nu vrei ca toată lumea să fie în măsură să le vadă.
Mai degrabă, vrei ca lumea să vadă unele fișiere
dar nu altele, doar de dragul de confidențialitate lui.
Deci, e mai mult de o bază de opt-in atunci când faci lucruri pe Web.
Și lasă-mă tastezi ls aici,
și veți vedea fișierele pe care le am, dar se amintească faptul că, dacă fac ls-l pentru mult timp,
Voi primi o listă mai lungă, care îmi dă câteva detalii suplimentare despre aceste fișiere
care sunt acum, într-adevăr, pentru prima dată, relevante pentru noi.
Observați că pe dreapta de departe sunt numele de fișiere mele,
și apoi momentul în care acestea au fost modificate ultima dată sau copiate.
Acest număr este ceea ce aici? Îți amintești?
Dimensiunea în octeți, cat de mare este fisierul.
>> Asa ca am par să aibă un fel de logo-ul de aici, care e mai mare decât toate celelalte fișiere.
Aceasta sunt eu, asta este ceea ce am și ceea ce grupul eu sunt inch
Dar apoi, aici pe stânga este un pic de secvență criptic,
și am vorbit, cred, pe scurt despre acest lucru în trecut,
dar acest lucru are de a face cu permisiuni.
Și chiar dacă e un pic neclar,
RW înseamnă, probabil, citeste si scrie.
Deci, se dovedește că aceste linii denotă seturi diferite de permisiuni pentru oameni diferiți.
Și modelul este, în esență, după cum urmează.
Când vedeți o secvență de linii aici, ele arata cum urmează.
Există o cratimă, atunci e mai mult trei linii,
atunci există un alt trei, atunci nu e încă trei.
Prima dintre ele este fie o cratimă sau un anunț e pentru directorul.
Astfel încât unul e destul de ușor. Dacă e un dosar, se spune d, altfel e un cratimă.
Nu e un cuplu de alte cazuri, dar pentru moment ne vom pasa doar despre fișiere și directoare.
Aceste următoarele trei linii - si le-am introdus în mod artificial spații.
Ei au fost, în mod evident, nu există atunci când i-am văzut acum un moment.
Acestea sunt permisiunile fișierului administrator,
și dintr-o amintesc acum al doilea a fost citit și scrie.
Asta a fost pentru ca eu, ca persoana care a creat acest fișier acum un moment,
Eu, doar în mod implicit, pe un calculator Linux,
au capacitatea de a continua citirea și scrierea acel fișier.
>> Deci, sistemul de operare tocmai mi-o dă RW în mod automat.
Cele mijlocii se referă la grupul meu, că de studenți,
care este un fel de lipsită de sens pe aparat, deoarece eu sunt singura persoană de a folosi aparatul.
Așa că lasă-mă să mișcați mâinile mele la asta acum.
Dar cele din urmă sunt cele mai importante pentru Web.
Acest lucru este oricine altcineva în lume, și faptul
că este --- înseamnă că nimeni altcineva în lume
are orice permisiuni către acest fișier.
În mod clar o problemă, așa că am nevoie pentru a rezolva această
de cumva oferind lumii ce? Citeste si scrie?
Asta e, probabil prost, nu? Nu vreau pe nimeni pe Web
pentru a merge pentru a vizita pagina mea și într-un fel modificați acest fișier,
chiar dacă într-adevăr nu ar putea cu un fișier HTML,
dar doar în principiu, probabil, vreau doar să fie capabil să-l citească.
Ce înseamnă să-l citesc? Aceasta nu înseamnă că au de gând să aibă grijă despre HTML reală,
dar browser-ul trebuie să fie capabil să elimine că Limbajul de marcare,
de sus în jos, de la stânga la dreapta.
Deci, cineva de pe Web trebuie să fie capabil să-l citesc, așa că am nevoie de minim să-i dea r.
Eu pot face acest lucru în câteva moduri diferite, dar, probabil,
mai simplă este de a rula această comandă aici.
Chmod, modul de schimbare, atunci A + R astfel încât toate toată lumea, în lumea + citit,
și apoi numele fișierului, search0.html.
>> Acum, dacă fac ls-l din nou, observați că fișierul sa schimbat,
și într-adevăr, am pornit R pentru toată lumea.
Am, de asemenea, pornit de grupul meu, dar asta e bine,
pentru că dacă m-am întors în timp de toată lumea, grupul meu este un subset de asta.
Așa că e prea bine. Acest lucru înseamnă doar computerul a creat acum ușor de citit.
Acum, lasă-mă să mă întorc la browser-ul meu, faceți clic pe reîncărca.
Ah-ha. Avem acum CS50 Căutare.
Am mărită un pic artificial - motor de cautare destul de hidos.
Dar hai sa vedem daca chiar functioneaza.
În primul rând, permiteți-mi să fac o verificare rapidă bun-simț, lasă-mă să controleze faceți clic și pentru a vizualiza pagina sursă.
Observați că în cadrul Chrome vedem acum HTML aceeași pe care mi-am creat.
Nu te confuz aici, totuși. Eu nu pot începe schimbarea codului aici,
deoarece browser-ul are o vedere doar în citire a acestui cod.
Browser-ul a cerut doar local host pentru un fișier numit search0.html.
În prezent, este o pura coincidenta faptul că aparatul
se întâmplă să fie pe același computer ca și browser-ul meu.
Am putea avea doar, echivalent, s-au introdus în www.facebook.com/search0.html,
și în cazul în care Facebook a avut un fisier numit care, mi-ar fi văzut apoi HTML lor.
Și, desigur, nu pot schimba fișierul care se întoarce de la Facebook, fie.
Deci, acum suntem un fel de estomparea liniilor.
Aparatul este atât un server, care servește pagini web,
dar este, de asemenea, un client, în sensul că eu sunt cu ajutorul unui browser
pentru a vorbi de fapt, la acel server.
Deci, să vedem dacă motorul meu de căutare Google funcționează.
Lasă-mă să mergeți mai departe și să căutați rapid maro vulpe, introduceți.
Și voila, acum am avea propriul motor de căutare.
>> Dar cum face acest lucru?
Pic de o intindere, dar - și acum nu poti vedea, exact, partea care e de interes.
Observați ce se întâmplă.
Observați adresa URL. Se pare că această metodă,
numit obține, este super-simplu.
Când specificați într-o formă pe care doriți să "obține" rezultate de la un server,
ceea ce va face este să iei tot ce ați introdus în formularul
și pune-l în adresa URL.
Se va standardiza modul în care este pus în URL-ul, după cum urmează.
Observați că aceasta este adresa URL care a fost valoarea atributului acțiunea mea.
Asta e atunci când am vrut să sfârșească formularul.
Dar observați atunci acest semn de întrebare.
Aceasta este o convenție pe Web prin care să furnizeze date introduse de utilizator
la un site web, vă adăuga la URL-ul un semn de întrebare,
și atunci aveți o grămadă de perechi cheie-valoare.
Numele unei chei, altfel cunoscut ca un parametru în Web,
atunci aveți un semn egal, atunci va avea valoarea de acest parametru.
Deci, în esență, că e un nume de variabilă și o valoare variabilă,
dar numele celor variabile și valorile venit de la formularul HTML.
De ce sunt plusurile acolo, nu crezi?
Pentru că nu am tastați + între cuvintele mele.
[Student, neinteligibil]
Da >>, e doar pentru spațiere. Cote sunt, ori de câte ori ați văzut o adresă URL,
nu e niciodată toate spațiile în ea, în cazul în care numai pentru că
dacă ar exista, nu ai putea într-adevăr să copiați și lipiți-o
într-o IM sau într-un e-mail deoarece s-ar rupe.
Vrei totul să fie un șir de caractere contigue.
>> Deci, browser-ul este destul de inteligent pentru a realiza, uh-uh.
Nu se pune doar un spațiu acolo. Lasă-mă să codifica spațiu într-un mod standard.
Unul dintre convențiile pentru a face acest lucru este de a avea browser-ul
pune automat un + în cazul în care ar trebui altfel un spațiu.
Deci, acum, anunțul Google a fost un fel de user-friendly.
Eu cu siguranță nu a creat această pagină web,
dar au prepopulated domeniul propriul lor text
cu ceea ce, exact, am tastat inch
Să presupunem că doriți să căutați pentru altceva, ca un câine leneș.
Eu pot doar acest tip aici, re-căutare.
Observați că URL-ul schimbă aici,
dar observa apoi că pot căuta de fapt, pentru orice vreau
doar prin intelegerea modului de lucru adrese URL.
Am putea face pisică leneș, introduceți,
și observați acum Primesc un foarte leneș - ar trebui sa ne? Mă simt ca și cum ar trebui.
I a lua o pisica foarte leneș.
Bine. Aceasta este una dintre cele mai stupide lucruri pe care le-am făcut.
Dar asta este o pisica lenesa.
Oricum, ceea ce este Takeaway cheie aici?
Acum suntem un fel de a juca în lumea de HTTP.
HTML este limbajul de marcare doar acest, tag-ul deschis, tag-aproape,
care spune un browser cum să facă conținutul de pe o pagină web.
Dar atunci când veți începe transmiterea de date pe Internet
între browser-ul web și serverul, asta e în cazul în care acest protocol
Cunoscut și drept HyperText Transfer Protocol preia.
Aceasta este un fel de convenție umană, atunci când Sam și cu mine a dat mâna luni,
începând cu o conexiune și apoi închiderea unei conexiuni, aceeași idee aici.
Cum sunt rezultatele Google vine înapoi la mine?
Cum este prezentarea mea formă de gând să Google?
Ei bine, amintesc de zilele trecute că ceea ce se întâmplă cu adevărat
sub capota, atunci când solicitați o pagină web este,
Browser-ul dvs. este trimiterea unui mesaj criptic cum ar fi oarecum-
GET / HTTP/1.1 pentru pagina de pornire implicită.
>> Sau, în acest caz, pentru că am solicitat în mod expres mai devreme
search0.html, acest lucru, atunci ar fi mesajul oarecum criptic-
că browser-ul meu pentru a trimite aparatul.
Sau, în acest caz de Google, ceea ce de fapt a trimis
este o cerere de a / căutare, apoi Q =? pisica leneș, cu un plus de acolo.
Deci acest mesaj, pe care eu, om, niciodată nu am dactilografiere,
dar este trimis de către browser-ul meu, acesta este modul în care se întâmplă HTTP.
Acesta este echivalentul a mâinile noastre au zguduit.
Aceasta este cererea, iar serverul e pe cale de a trimite un răspuns.
Deci, haideți să aruncăm o privire la acest sub capota.
Ca și mai înainte, ne putem deschide acest domeniu specială într-un browser.
Vezi pagina, pentru a inspecta elemente.
Deci, în temeiul inspecta element, observăm că ceea ce sa întâmplat în Chrome,
și IE si Firefox au mecanisme similare,
avem aceste instrumente pentru dezvoltatori accesibile pentru noi.
Oamenii normali nu folosesc aceste file.
Dar noi, acum, sunt interesati de ceea ce se întâmplă
sub capota, la nivel de rețea.
Deci, dacă am trage în sus nivelul de rețea aici,
lasă-mă să mergeți mai departe și să se extindă această fereastră,
deschidă această intrare aici, si uita-te la anteturile.
Deci, ce se întâmplă atunci când am solicita un fișier de pe un server de web
este browser-ul meu trimite o grămadă de lucruri.
Și lasă-mă să vizualizați sursa. Acest lucru în temeiul anteturile cerere,
Și acesta este doar crom-mi arate ceva de ieșire de diagnosticare,
ca un fel de depanator de un anumit fel,
observați că ceea ce am subliniat aici este exact ceea ce
Chrome trimite la server pentru a cere un fișier numit search0.html.
Se spune serverul de ceea ce crede este numele său,
datorită acestui domeniu de colon gazdă, atunci există unele
chestii destul de ezoteric aici, cum ar fi ceva de-a face cu date și ore,
ceva de-a face cu limbile pe care browser-ul înțelege,
dar liniile cu adevărat importante sunt aceste primele două aici.
>> Ce face serverul răspunde cu? Ei bine, dacă vom derula în jos aici
și pentru a vizualiza sursa de acest lucru, observați că serverul
a răspuns cu un mesaj oarecum criptic, de asemenea, nu 304 modificat.
Asta e un pic ciudat; lasă-mă să încerc de fapt, pentru a remedia acest lucru.
Lasă-mă să țineți apăsată tasta SHIFT și faceți clic pe reîncărca aici
să forțeze browser-ul pentru a face de fapt, această cerere pentru prima dată.
Atunci lasă-mă să zoom in, și vom vedea acum că serverul de răspuns,
pentru că am ținut schimbare, este de 200 OK.
Deci, n-ați văzut, probabil, numărul 200
într-un număr de contextul Web, dar ceea ce
ai văzut, uneori, în mod neașteptat de la un server?
404, fișierul nu a fost găsit, 403, interzis; 500, eroare de server.
Deci, există aceste coduri numerice care lumea le folosește în Web
pentru a semnifica erori, la fel ca și funcțiile C
poate reveni erori și principalele poate returna coduri de ieșire.
200, deși, veți vedea foarte rar, pentru că înseamnă totul este bine.
Și 304 nu veți vedea niciodată, probabil, pentru că ceea ce se ea semnificând?
Că nimic nu are - să vedem dacă putem simula din nou -
Oh, acum nu e cooperant. 304 a spus nemodificate,
Deci, de ce a fost server chiar răspunde?
Ei bine, pentru eficiență, un server de web în mod automat pentru tine,
dacă fișierul nu sa schimbat, nu va retransmite întregul dosar HTML.
Va spun doar browser-ul nu sa schimbat.
Doar folosi copia aveți deja.
Deci, există această noțiune de cache-ul de pe Web
pentru performanță, astfel încât să nu pierdeți timp și de lățime de bandă de deșeuri
descărcarea de fișiere din nou și din nou în mod inutil.
>> Dar această pagină de web, acum, a fost super-simplu,
și doar mi-a arătat HTML care sa întors.
Să folosim efectiv fila rețelei acum pentru a face o căutare pe Google cum ar fi maro rapidă vulpe.
Permiteți-mi să faceți clic pe CS50 căutare,
și acum, observați în partea de jos aici o grămadă de lucruri întors
pentru că atunci când am vizitat un site adevarat ca Google.com,
au imagini, au textul, ele au un limbaj numit JavaScript acolo.
Deci, la fiecare rând în acest tabel aici
reprezintă ceva care Google scuipa, ca răspuns la solicitarea mea unică.
L-am pasă, însă, este aceasta prima.
Și dacă mă duc la căutare, cererea, faceți clic pe Vizualizare sursă de aici,
observă că, într-adevăr, mesajul criptic că browser-ul meu a trimis
în Google a fost aceste două linii aici,
urmate de unele informații arcane aici jos pe care o vom ignora pentru moment.
Dar Notă, de asemenea, ceea ce Chrome este destul de la îndemână, cu,
este, de asemenea, arată-mi șir de interogare care a fost trimis inch
Deci, mai degrabă decât arată-mi asta, care a fost literalmente trimis,
dacă aș ao vizualiza decodat, Chrome, doar pentru scopuri de depanare,
pentru dezvoltatori ca noi, e doar aratandu-mi o versiune uman-friendly a -
că nu este modul în care se scrie vulpea, aparent.
Am observat asta acum - dar te-a arata ceea ce am, se pare, tastat.
Între timp, răspunsul care a venit înapoi de la serverul este din nou 200 OK.
Dar sunt incluse în acest răspuns, desigur,
dacă privim de fapt, HTML page -
Ne pare rău, aceasta este o comandă rapidă de tastatură pic eșuată de astăzi.
>> Mă ocup de asta mai târziu. Deci, dacă am vedea de fapt sursa paginii,
pe care eu pot face aici, făcând clic pe răspuns,
aceasta este ceea ce a fost scuipat de fapt, înapoi, în plus față de faptul că criptic 200 mesaj de OK de la server.
Un pic de criptic, dar în cazul în care este toate astea vine de la?
Ei bine, hai sa facem un lucru aici. O altă comandă oarecum criptic-,
dar un fel asta a lui elegant, în sensul că ne dezvăluie exact ceea ce se întâmplă pe sub capota.
Așa că m-am întors pe Mac-ul meu aici, am conectat
printr-un program numit SSH, Secure Shell, la un alt server
deoarece cele mai multe dintre computerele de la Harvard bloca comanda suntem pe cale de a rula
deoarece exista aceasta comanda pe unele servere numit traceroute
care vă permite să urmărească traseul între punctele A și B,
și, astfel, de departe am fost luați complet de la sine
că am posibilitatea să tastați în Google.com și obțineți într-un fel de date înapoi
de jumătate din țară sau de jumătate din întreaga lume.
Cu traceroute putem scufunda de fapt, într-un pic mai adânc
cu privire la modul în care funcționează Internetul, și să vedem ce se întâmplă pe sub capota.
Așa că hai să mergem mai departe și să urmărească arbitrar o rută, să zicem, Stanford.edu,
care este în întreaga țară, și a lovit introduceți.
Această comandă poate fi super-rapid sau super-lent,
dar ceea ce vedem acum, linie cu linie,
este fiecare dintre etapele de hamei între noi și Palo Alto, sau Stanford,
în cazul în care acestea au serverul lor de web.
Deci, ce înseamnă fiecare dintre aceste linii reprezintă mai concret, totuși?
O bucată de jargonul de pe Internet? [Student, neinteligibil]
>> Ce e asta? [Student, neinteligibil]
Oh >>, astfel încât există ori, dar ceea ce nu fiecare rând - ce vreau sa spun prin hop?
>> Ei bine, există aceste lucruri de pe Internet, numite routere.
Și routere, astfel cum sugerează și numele, informații privind rutele din punctul A la punctul B.
Dar există mai multe puncte de dincolo de a și b.
Nu e c și d și e și f între rândul 1,
care se întâmplă să fie adresa IP a computerului meu,
sau adresa mea numeric, care identifica in mod unic computerul meu,
și pasul 15, care este de fapt serverul de web al șaselea,
aparent, pe care am dedus din aceasta, sau versiunea 6 a serverului de web lor la Stanford.
Dar ceea ce este fel de curat este, putem vedea calea de
că-mi 0-uri și 1 sunt luați de pe calculatorul meu la Stanford.
Deci, pasul 1 este adresa calculatorului meu propriu.
Fiecare calculator de pe Internet are un identificator unic, care arata ca acest lucru.
Number.number.number.number.
Undeva pe acest campus, probabil, în centrul științei,
este un router numit Gateway Core 2-te83, orice ar insemna asta,
astfel încât acesta este unul dintre Harvard routere mari de lux, care rutele o mulțime de trafic lor.
Iată un alt routere de la Harvard, aceasta este Border Gateway,
sensul de frontieră este, probabil, de la periferia campusul undeva.
Apoi, există NOx unul, rândul 4, care este Crossroads de Nord,
care este un mare ISP, furnizorul de servicii Internet,
ca locuri precum Harvard conecta pana la.
Dar apoi lucrurile devin un pic interesant în linia 6.
În cazul în care sunt biți mele dintr-o dată? Kansas.
Lumea are un obicei de a folosi codurile aeroporturilor într-o mulțime de aceste lucruri,
sau cel puțin abrevieri pentru state sau orașe,
deci se pare ca, in doar 60 ms,
un pachet de informații, a lui 0 și 1 este din laptop-ul meu
am tot drumul spre Kansas, și, din nou, în 60 ms.
>> Mai mult decât atât, după Kansas, au facut un tur prin Houston, probabil,
astfel cum a sugerat numele de acest server.
Deci, doar ca un server de pe Internet trebuie să aibă o adresă numerică,
ea poate, de asemenea, opțional, au o adresă de ceva mai uman-friendly, care a venit cu oamenii.
Acum, în pasul 8, nu știm ce e asta.
Uneori, routere doar un fel de te ignoră,
și ei doar nu răspunde la întrebări, așa că e bine.
Unul după pasul 8 este aparent în cazul în care? L.A.
Observă în doar 78 ms, ceea ce ne duce oamenii, cum ar fi 6 + ore pentru a face fizic,
ia pachete de informații pe Internet 78 ms să călătorească atât de departe.
Pasul 10 este, în Los Angeles, de asemenea, și pasul 11 ​​pare să fi plecat spre nord, până aproape de Stanford.
Acest lucru este router-ul lor limita, sau router de frontieră.
Un cuplu pașii de la Stanford, care ne ignorarea,
și, în sfârșit, ajungem serverul de web în numai 87 ms.
Acum, toate aceste numere, ca o parte,
doar să vă spun cât de mult timp este nevoie pentru a obține date de la mine
la fiecare dintre aceste routere, și nu este acumulative.
Ce face acest program este, acesta trimite mai întâi un mesaj, în esență, la primul router.
Apoi, unul la router secunde, apoi una de la router-ul al treilea,
de măsurare de fiecare dată. Deci, în teorie, aceste vremuri vor fi în creștere
sau cel puțin destul de aproape una de alta,
și, într-adevăr, cei care sunt chiar aici în campus sunt super-mici.
De îndată ce ați începe să mergi în toată țara, este nevoie de date
un pic mai mult să călătorească, mai aproape de 100 ms, da sau de a lua.
Dar hai să mergem în altă direcție acum. Ce zici de Universitatea Cambridge din Marea Britanie?
Lasă-mă să ruleze în loc de traceroute www.cam pentru Cambridge,
Ac pentru academică.,. Din Marea Britanie, și a lovit introduceți aici.
Asta a fost destul de al naibii de repede.
Datele mele literalmente sa dus la Cambridge, Anglia, în această fracțiune de secundă de timp.
>> Deci, hai sa vedem calea pe care a luat.
Harvard, Harvard, Harvard, Crossroads de Nord,
care este un ISP, iar apoi acest lucru este Crossroads de Nord, si apoi bam.
Ceea ce este între pașii 6 și 7, 6 și 7 router?
Oceanul Atlantic. Și suntem dedus acest lucru din faptul că
vom merge de la 20 ms la 80 ms aici aici.
Deci ceva a luat 60 ms, da sau de a lua, pentru a trece peste.
Și asta a fost, probabil, un corp mare de apă.
Ce se întâmplă după aceea? Ei bine, aici suntem în Londra,
doar 88 ms mai târziu. Mai mult Londra, mai mult Londra,
nu sunt sigur în cazul în care acest lucru este, dar vom presupune că este în afara Londrei,
Cambridge aici, și în cele din urmă ne - literalmente, Universitatea din Cambridge
Something.net,. Și apoi, în cele din urmă, în linia 16,
serverul lor de web se numește aparent Scorpius
sub capota, deși îl știm ca www.
Fel de minte-suflare, cred. Prima dată când am făcut-o vreodată acest lucru, a suflat în totalitate mintea mea.
Din păcate, la Harvard blochează acest tip de trafic, de obicei, în rețea.
Deci, nu se poate face super-ușor.
Dau seama, însă, acest lucru este posibil aici.
Bine. Să luăm de 5 minute de pauză aici. Vom veni înapoi și se arunca cu capul în adânc.
Deci, ne-am întors, și am un fel de ambled despre în câteva direcții diferite aici.
Deci, haideți să rezuma exact ceea ce se întâmplă aici.
Am început conversația vorbesc despre acest limbaj numit HTML.
Din nou, nu un limbaj de programare. E doar un limbaj de markup
care este în mare măsură cu privire la estetica si de structurare a conținutului în forma unei pagini Web.
Dar HTML, prin urmare, are nevoie de un fel de mecanism de
pentru a călători între browser-ul web și serverul.
HTML, prin urmare, un fel de plimbari pe partea de sus a acestui altă limbă,
sau mai corect, un protocol, cunoscut sub numele de HTTP.
>> Și HTTP, așa cum l-am văzut până acum,
este un fel de analog la această convenție umană a tremura mainile.
Atunci când un browser dorește să solicite o pagină de la un server,
se trimite ca "ajunge" cerere de la browser-ul la server,
și apoi serverul răspunde cu un număr de 200 cum ar fi, totul este în regulă,
precum HTML sau un număr de rău ca și 404, nu a găsit fișierul.
Dar între timp, HTTP sine nu este Internetul, în sine.
HTTP este doar un serviciu, o caracteristică a internetului
la fel ca G este un alt serviciu de chat, la fel ca e-mail este un alt serviciu.
Există tot felul de lucruri pe care le putem face pe internet.
HTTP este doar unul dintre aceste cereri.
Astfel, pe partea de sus a - HTTP este pe partea de sus a altceva
pe care nu am mai aminti de nume, s-ar putea să fi auzit de numele de, TCP / IP.
Deci, i-am spus povestea acolo este despre toate
modul în care datele circulă de la punctul A la punctul B.
Și în acest caz, am văzut la un nivel foarte scăzut
router la router la router la router,
modul în care datele sunt transmise este, de fapt.
Dar de-a lungul drum, acesta se va întâlni obstacole diferite.
Pe lângă aceste routere, există lucruri numite firewall-uri de pe Internet,
și astfel de date, cum ar fi faptul că am fost doar transmiterea
la mine la Stanford, de la mine la Cambridge,
este trimis la, la acest nivel, ceva numit o adresă IP.
Am văzut acest lucru în urmă cu un moment, și o adresă IP
este doar o adresă numerică a w.x.y.z formularului,
în cazul în care fiecare dintre acestea este între, da sau de a lua, 0 și 255,
daca nu se poate folosi destul de toate acele numere.
Dar fiecare dintre aceste titularilor de locuri este un număr între 0 și 255.
Deci, o adresă IP în aceste zile este de 32 de biți.
>> Acum, că ne dă adrese de cate posibilă IP din lume?
Aproximativ 4 miliarde de euro, pentru ca în orice moment suntem de numărare în competențele de 2
tot drumul până la 32 din ceva, care de obicei ne oferă 4 miliarde.
Așa că o mulțime de adrese IP, dar s-ar putea fi citit,
sau s-ar putea observa acum în presa populară,
un impuls spre o nouă versiune de IP numit IPv6.
Chiar acum suntem folosind versiunea 4.
Există într-adevăr nu a fost o versiunea 5, suntem doar sari dreptul la 6.
Versiunea 6 se va folosi 128 de biți pentru adrese IP, care este imens sperii.
Noi nu ar trebui să ruleze afară pentru ceva timp acum,
dar am început să curgă fără adrese IP versiunea 4,
pentru că toți dintre noi au lucruri nu doar ca laptop-uri si desktop-uri,
o mulțime de noi au telefoane, o mulțime de noi sunt și alte dispozitive
la fel ca TiVo și așa au adrese IP ei înșiși.
Harvard în sine are zeci de mii de calculatoare.
Deci, lumea este cu adevărat în criză de adrese IP, cel puțin din acest formular.
Asa ca, in urmatorii cativa ani, aveți de gând pentru a vedea adresele
pe calculatoarele proprii, probabil, se schimba incet
ca mai multe companii și universități încep să sprijine versiune mai nouă.
Dar o adresă IP nu este suficientă pentru a solicita un calculator datele din computerul B.
Deoarece calculatorul B ar putea fi un server,
și un server, cum am menționat mai devreme, pot face buchete de lucruri.
Acesta poate găzdui pagini de web, acesta poate fi un server de e-mail,
acesta poate fi un server de Skype, acesta poate fi un server de chat G.
>> Toate aceste servicii diferite, care pot fi furnizate pe un server
ar putea toate, fizic, fie pe aceeași mașină.
Deci, în plus față de adrese IP,
lumea are lucruri numite porturi de pe internet.
Un port este doar un număr, astfel încât nu există un număr unic pentru HTTP.
Numărul său este de 80.
HTTP folosește, de asemenea, numărul 443, dar mai ales, pentru HTTPS criptate.
Ori de câte ori vedeți e, pentru sigur, care folosește un alt număr.
Există alte numere, cum ar fi 25, utilizate pentru ceva numit SMTP, altfel cunoscut sub numele de e-mail.
E ceva numit 22 pentru SSH,
și există o grămadă de alte porturi acolo.
Acum, noi, oamenii, a se vedea rareori aceste numere.
Cu toate acestea, atunci când tastați o adresă cum ar fi http://www.facebook.com,
browser-ul este inserarea în secret 80, pentru ca esti folosind HTTP.
Dacă vă, în schimb, HTTPS tip, se introduce secret 443.
Și putem vedea acest tip de manual dacă am trage o Brower
și du-te la http://www.facebook.com:80.
Prin urmare, în mod explicit, nu doar invocând numele site-ului
dar portul pe care vreau să vorbesc, și a lovit introduceți.
Observă că dispare, pentru că browser-ul își asumă,
oh, 80, eu nu sunt chiar de gând să deranjez arată că pentru tine.
Dar motivul pentru aceasta este că, dacă de fapt am vrut să trimită pe cineva un e-mail,
Mi-ar fi cu adevărat de a le trimite pe portul 25, aceasta fiind SMTP.
Un pic de o simplificare, dar unii dintre voi aveți prieteni
care lucrează efectiv la Facebook, și ei, în mod similar, au servere care primesc e-mail.
>> De fiecare dată când trimiteți un e-mail, Gmail ceea ce face pentru tine
sau Outlook sau orice program pe care il folosesc,
e un fel de a introduce acest număr secret la fel de bine, 25, în acest caz.
Este această combinație de adresă IP și numărul care identifică în mod unic
un calculator pe Internet și un serviciu specific pe acel computer.
Acum, desigur, cele mai multe dintre noi au, probabil, niciodată nu tastat manual o adresă IP.
Poate că aveți în aparat, dar în lumea reală, nu atât de mult.
De ce nu ne tastați adresele IP în browsere?
Acesta ar lucra, de fapt, putem vedea acest lucru; lasă-mă să-ți arăt
o singură comandă de altă natură care ar trebui să lucreze cel mai mult de oriunde de pe campusul Harvard pe un Mac sau un PC.
E această comandă numit nslookup, numele serverului de căutare.
Dacă mă uit în sus www.cnn.com, se dovedește că are CNN - Oh, interesant.
CNN a început să folosească Amazon servicii web.
S-ar putea ști de cloud computing, unul Amazon dintre marii jucatori din cloud computing.
Ce-am făcut a fost, i-am spus, "Dă-mi adresa serverului de web CNN,"
dar se pare că serverul de web al CNN este gestionat de Amazon,
Amazon Web servicii, acest lucru sugerează.
Și adresa serverului pe care este aceasta aici.
Deci, eu nu sunt sigur dacă acest lucru va funcționa, pentru că ei nu au folosit pentru a utiliza Amazon.
Dar hai să încercăm acest lucru; adresa http://, IP, introduceți, și -
se merge la muncă?
Da. Acesta este de gând să lucreze. Internetul este super-lent astăzi.
Dar, într-o clipă, veți vedea o poveste știri.
Așa. Bank of America a fost dat in judecata. Bine.
>> Acest lucru se datorează faptului că această adresă IP doar se întâmplă să prin sinonim cu www.cnn.com.
Desigur, ar fi de introducere pe piață oribil să spun, vizitati-ne pe Web la 50.112.94.127.
Niciodată nu aș aminti. Deci, chiar și în aceste zile s-ar putea aminti lucruri
cum ar fi 1-800-COLLECT sau mnemonice lumea a venit cu de numere de telefon.
Care, înainte de telefoane mobile, au fost destul de greu să-mi amintesc
până când ar trebui să scrie doar în și uita despre asta.
Deci Web, de asemenea, are această convenție de nume și adrese IP,
și există aceste lucruri acolo numit servere DNS,
sisteme de servere de nume de domeniu, care traduce adrese IP în nume și viceversa.
Deci asta este ceea ce se întâmplă pe sub capota.
În final, avem TCP / IP, care este acest protocol nivel foarte redus
că, într-adevăr, devine doar 0 și 1, vizavi de Internet,
și-l face acest lucru prin punerea lor într-un plic virtual,
dacă vreți, și scris pe exteriorul plicului
adresa IP a destinației, precum și numărul de port numerică
de serviciu pe care destinație că vrea să vorbească.
Între timp, pe plic e, de asemenea, ceva cunoscut ca o adresă de retur,
care este adresa ta IP, astfel încât atunci când CNN devine un pachet de informații de la tine,
deschide acest plic virtuale, vede că doriți pagina de pornire,
știe din partea expeditorului acestui pachet virtuale care să trimită înapoi HTML pentru a.
Deci, haideți să aruncăm o privire la acest lucru în detaliu un pic mai mult.
Acest lucru este de la o companie numita Ericson, de la câțiva ani în urmă.
Și-au luat unele libertăți cu modul în care funcționează de fapt Internetul,
dar înfățișează o imagine mult mai vizual decât simpla creta aici.
Așa că am dai "un pic de Internet."
>> [Naratorul] Pentru prima dată în istorie,
oameni și utilaje lucrează împreună, realizarea unui vis.
O forță unind care nu cunoaște limite geografice.
Indiferent de rasă, crez, culoare sau.
O nouă eră în care comunicarea aduce oamenii impreuna cu adevărat.
Acest lucru este
Dawn of Net.
Vrei să știi cum funcționează? Click aici pentru a începe călătoria dvs. în Net.
Acum, exact ceea ce sa întâmplat atunci când ați făcut clic pe link-ul?
Ai început un flux de informații.
Această informație de circula în jos dvs. de mailroom personal
în cazul în care Mr. pachete IP ea, eticheteaza, și trimite-o pe drum.
Fiecare pachet este limitat în dimensiunea sa.
Camera de e-mail trebuie să decidă cum să împartă informații
și cum să-l împachetați.
Acum, pachetul are nevoie de o etichetă care conține informații importante
cum ar fi adresa expeditorului, adresa destinatarului, precum și tipul de pachet este.
Deoarece acest pachet special, care iese pe internet,
acesta devine, de asemenea, o adresa pentru serverul proxy,
care are o funcție specială, așa cum vom vedea mai târziu.
Pachetul este lansat acum pe rețeaua locală, sau LAN.
Această rețea este utilizată pentru a conecta toate calculatoarele locale "
routere, imprimante, etcetera, pentru schimbul de informații în interiorul zidurilor fizice ale clădirii.
LAN este un loc destul de necontrolat, și, din păcate,
accidente se poate întâmpla.
Autostrada de LAN este dotat cu toate tipurile de informații.
Acestea sunt pachete IP, Novell pachete, pachete AppleTalk.
Ei merg împotriva traficului, ca de obicei.
Router-ul local, citește adresa și, dacă este necesar,
ridică pachetul pe o altă rețea.
Ah, router-ul. Un simbol de control într-o lume aparent dezorganizat.
[Router mormăind și să vorbesc cu ea însăși]
>> [Naratorul] Nu el este, sistematic, nepăsător, metodic,
conservatoare, și, uneori, nu destul de la curent.
Dar cel puțin el este exact, pentru cea mai mare parte.
Pe masura ce pachetele părăsească router-ul, ei fac drumul lor spre Internet corporative
și capul pentru comutatorul de router.
Un pic mai eficient decât router, router-ul comutatorul joacă rapid și pierde cu pachete IP,
abil le rutare de-a lungul drum.
Un "vrăjitor de pinball, 'digitală dacă vrei.
[Comutatorul Router vorbesc cu ea însăși]
[Naratorul] În ceea ce pachetele ajung la destinație,
acestea sunt preluate de interfață de rețea,
gata de a fi trimis la nivelul următor.
În acest caz, proxy.
Proxy este folosit de multe companii ca un fel de om de mijloc
în scopul de a diminua sarcina pe conexiunea la Internet
și din motive de securitate, precum și.
După cum puteți vedea, pachetele sunt toate de diferite dimensiuni în funcție de conținutul lor.
Proxy deschide pachetul și caută adresa Web sau URL.
În funcție de faptul dacă adresa este acceptabilă,
pachetul este trimis la internet.
Există, totuși, unele adrese care nu îndeplinesc cu aprobarea de proxy.
Asta este de a spune, orientări corporative sau de management.
Acestea sunt sumar tratate.
Vom avea nimic din toate astea.
Pentru cei care o fac, e din nou la drum.
>> Următorul, firewall-ul.
Firewall servește două scopuri.
Acesta previne unele lucruri destul de urâte la Internet de la venirea in pentru a Intranet,
și se poate preveni, de asemenea, informații sensibile corporative de a fi trimise pe internet.
Odată prin firewall, un router preia pachetul
și-l plasează pe un drum mult mai îngust, sau latime de banda, cum se spune.
Evident, drumul nu este suficient de larg pentru a lua-le pe toate.
Acum, s-ar putea întreba ce se întâmplă cu toate acele pachetele pe care nu-l fac de-a lungul drum.
Ei bine, atunci când domnul IP nu primește o confirmare de primire
faptul că un pachet a fost primit în timp util,
el pur și simplu trimite un pachet de înlocuire.
Acum suntem gata pentru a intra în lumea internetului.
Un păianjen de rețele interconectate care se întind pe glob întreaga noastră.
Aici, routere si switch-uri să stabilească legături între rețelele.
Acum, Net este un mediu complet diferit de cel care le veți găsi
în interiorul zidurilor protectoare ale LAN-ul.
Aici, e Vestul Sălbatic.
O mulțime de spațiu, o mulțime de oportunități,
o multime de lucruri pentru a explora și de locuri pentru a merge.
Datorită foarte putin control și reglementare,
idei noi găsiți sol fertil pentru a împinge plicul a posibilităților lor.
Dar, din cauza acestei libertăți, anumite pericole pândesc de asemenea.
Vei Nu se știe niciodată când veți întâlni ping temut de moarte,
o versiune specială a unui ping cerere normală,
un idiot care crede până la mizeria gazde încrezători.
Calea pachetele noastre pot fi luați prin satelit,
linii telefonice, fără fir, prin cablu sau chiar transoceanic.
Ei nu iau întotdeauna cele mai rapide rute mai scurte sau posibil,
dar ei vor ajunge acolo în cele din urmă.
Poate că de aceea este uneori numit "Stai World Wide."
Dar când totul funcționează fără probleme,
puteți ocoli globul de cinci ori la picătură de o pălărie, literalmente.
Și tot pentru costul unui apel local sau mai puțin.
Aproape de sfârșitul anului destinația noastră, vom găsi un alt paravan de protecție.
>> În funcție de perspectiva ca un pachet de date,
firewall-ul ar putea fi un bastion de securitate sau de un adversar de temut.
Totul depinde de ce parte ești și ce intentiile tale sunt.
Firewall-ul este conceput pentru a permite, în numai acele pachete care îndeplinesc criteriile sale.
Acest firewall este de operare pe porturile 80 și 25.
Toate încercările de a intra prin porturile sunt închise pentru afaceri.
Portul 25 este utilizat pentru transmisii de pachete e-mail,
în timp ce portul 80 este intrarea pentru pachetele de pe Internet la serverul de web.
În interiorul firewall, pachetele sunt verificate mai bine.
Unele pachete se face ușor prin vamă,
în timp ce altele doar uita-te un pic dubios.
Acum, ordonatorul de firewall-ul nu este ușor de păcălit,
cum ar fi atunci când acest ping de pachete de moarte incearca sa se deghizeze intr-un pachet ping normală.
[Ofițer Firewall vorbesc cu pachete]
[Naratorul] Pentru aceste pachete suficient de norocosi pentru a face atât de departe,
călătoriei este aproape de peste.
E doar o linie pe interfața care urmează să fie luate în sus, în serverul de web.
În zilele noastre, un server web poate rula pe multe lucruri,
de la un mainframe la un web cam la computerul de pe birou.
De ce nu-ti frigider?
Cu configurarea corectă, puteți afla dacă aveți makings
pentru pui Cacciatore, sau dacă trebuie să mergeți la cumpărături.
Amintiți-vă, aceasta este începutul Net.
Aproape orice este posibil.
Unul câte unul, pachetele sunt primite,
deschis, și despachetate.
Informațiile pe care le conțin, care este, solicitarea dvs. de informații,
este trimis pe cererea serverul de web.
De pachete de sine este reciclat,
gata de a fi folosit din nou, și completat cu datele dumneavoastră solicitate,
abordate, și a trimis pe drumul înapoi la tine.
Înapoi trecut firewall, routere, și pe la Internet prin intermediul.
Înapoi prin firewall-ul companiei
și pe interfața,
gata de a furniza browser-ul web cu informațiile pe care le-ați solicitat.
Asta este, acest film.
Mulțumit de eforturile lor, și de încredere lume mai bună,
pachete de date demne de încredere ne călărească pe blissfully în apus de soare de o altă zi,
știind pe deplin că au servit stăpânii lor bine.
Acum, nu este faptul că un final fericit?
[Malan] Ok, asta e de ajuns. Ne vedem săptămâna viitoare.
[CS50.TV]