Како Интернет функционише: Приручник за новинаре у веб развоју (или било кога другог, заиста)

Ако се тек упуштате у веб развој, постоји шанса да мислите да знате како веб функционише - бар на основном нивоу.

... Али онда покушате да објасните како функционише основна веб локација и нацртате празно. Шта опет значи ИП адреса? Како тачно функционише модел „клијент-сервер“?

Оквири за развој су данас моћни. У ствари, толико моћан да је нама новопридошлима лако да изгубимо основе о томе како веб, знате, * функционише. *

Знам да јесам. Није срамота то признати: веб је компликован и тек кад у позадини започнете инжењеринг схватите колико су те основе важне. (Ако у сваком случају желите да направите веб апликације које стварно раде.)

Стога сам се обавезао да напишем четвороделни теренски водич за застрашујуће основе с којима би сви требало да се баве, било да се бавите само каријером у веб развоју или сте само заинтересовани за учење:

1. део: Како веб функционише

Део 2: Структура веб апликације

Део 3: ХТТП и РЕСТ

Део 4: Примери кода интеракција клијент-сервер

Основна веб претрага

Почнимо негде где смо сви већ били: Укуцајте „ввв.гитхуб.цом“ у траку за адресу прегледача и погледајте учитавање странице.

Колико год та трансакција изгледала једноставно, испод хаубе се дешава тона магије. Заронимо право у то.

Дефинисање делова мреже

Разумевање веба је застрашујуће јер постоји пуно жаргона. На несрећу, део тог жаргона је пресудан за разумевање остатка овог поста.

Ево најважнијих израза које треба разумети ако желите да разоткријете тајне светске мреже:

Клијент: Апликација, као што је Цхроме или Фирефок, која ради на рачунару и повезана је на Интернет. Његова примарна улога је да преузме корисничке интеракције и преведе их у захтеве на други рачунар који се назива веб сервер. Иако обично користимо прегледач за приступ Интернету, читав свој рачунар можете сматрати делом „клијента“ модела клијент-сервер. Сваки клијентски рачунар има јединствену адресу која се назива ИП адреса и коју други рачунари могу користити за идентификацију.

Сервер: Машина која је повезана на Интернет и такође има ИП адресу. Сервер чека на захтеве других машина (нпр. Клијента) и одговара на њих. За разлику од вашег рачунара (тј. Клијента) који такође има ИП адресу, сервер има инсталиран и покренут посебан серверски софтвер који му говори како да одговори на долазне захтеве вашег прегледача. Примарна функција веб сервера је чување, обрада и испорука веб страница клијентима. Постоји много врста сервера, укључујући веб сервере, сервере база података, сервере датотека, сервере апликација и још много тога. (У овом посту говоримо о веб серверима.)

ИП адреса: Адреса Интернет протокола. Нумерички идентификатор уређаја (рачунара, сервера, штампача, рутера итд.) На ТЦП / ИП мрежи. Сваки рачунар на Интернету има ИП адресу коју користи за идентификацију и комуникацију са другим рачунарима. ИП адресе имају четири скупа бројева одвојена децималним зарезима (нпр. 244.155.65.2). Ово се назива „логичка адреса“. Да би се уређај лоцирао у мрежи, логичка ИП адреса претвара се у физичку адресу софтвером ТЦП / ИП протокола. Ова физичка адреса (тј. МАЦ адреса) уграђена је у ваш хардвер.

ИСП: Интернет провајдер. ИСП је средњи човек између клијента и сервера. За типичног власника кућа ИСП је обично „кабловска компанија“. Када прегледач добије захтев од вас да посетите ввв.гитхуб.цом, он не зна где да тражи ввв.гитхуб.цом. Дакле, посао ИСП-а је да изврши претрагу ДНС-а (Домаин Наме Систем) како би питао на коју ИП адресу је конфигурисана локација коју покушавате да посетите.

ДНС: Систем имена домена. Дистрибуирана база података која прати имена домена рачунара и њихове одговарајуће ИП адресе на Интернету. Не брините о томе како „дистрибуирана база података“ за сада функционише: само знајте да ДНС постоји како би корисници уместо ИП адресе могли да унесу ввв.гитхуб.цом.

Име домена: Користи се за идентификацију једне или више ИП адреса. Корисници користе име домена (нпр. Ввв.гитхуб.цом) да би дошли до веб локације на Интернету. Када унесете име домена у прегледач, ДНС га користи за тражење одговарајуће ИП адресе за ту веб локацију.

ТЦП / ИП: Протокол за контролу преноса / Интернет протокол. Најчешћи комуникациони протокол. „Протокол“ је једноставно стандардни скуп правила за нешто. ТЦП / ИП се користи као стандард за пренос података преко мрежа.

Број порта: 16-битни цели број који идентификује одређени порт на серверу и увек је повезан са ИП адресом. Служи као начин за идентификовање одређеног процеса на серверу на који се мрежни захтеви могу проследити.

Домаћин: Рачунар повезан на мрежу - то може бити клијент, сервер или било која друга врста уређаја. Сваки домаћин има јединствену ИП адресу. За веб локацију као што је ввв.гоогле.цом, домаћин може бити веб сервер који опслужује странице за веб локацију. Често се измешају хост и сервер, али имајте на уму да су то две различите ствари. Сервери су врста хоста - они су специфична машина. С друге стране, домаћин се може односити на целу организацију која пружа услугу хостинга за одржавање више веб сервера. У том смислу можете покренути сервер од хоста.

ХТТП: Протокол за пренос хипертекста. Протокол који веб прегледачи и веб сервери користе за међусобну комуникацију путем Интернета.

УРЛ: Униформ Ресоурце Лоцаторс. УРЛ адресе идентификују одређени веб ресурс. Једноставан пример је //гитхуб.цом/сомеоне. УРЛ наводи протокол („хттпс“), име хоста (гитхуб.цом) и име датотеке (нечија страница профила). Корисник може доћи до веб ресурса идентификованог овом УРЛ адресом путем ХТТП-а од мрежног домаћина чије је име домена гитхуб.цом. (језик се јако завртио ?!)

Пут од кода до веб странице

У реду, сада када су нам битне дефиниције скренуле с пута, прођимо кроз Гитхуб претрагу да бисмо видели како прелазимо са УРЛ-а откуцаног у траку за адресу на активну веб страницу:

1) Укуцате УРЛ у свој прегледач

2) Прегледник рашчлањује информације садржане у УРЛ-у. То укључује протокол („хттпс“), име домена („гитхуб.цом“) и ресурс („/“). У овом случају, иза „.цом“ нема ничега што би указивало на одређени ресурс, тако да прегледач зна да преузме само главну (индексну) страницу

3) Прегледач комуницира са вашим ИСП-ом ради ДНС претраживања ИП адресе за веб сервер који хостује ввв.гитхуб.цом. ДНС услуга ће прво ступити у контакт са матичним сервером имена, који гледа на //ввв.гитхуб.цом и одговара ИП адресом сервера имена за домен највишег нивоа „.цом“. Ова адреса се враћа на вашу ДНС услугу. ДНС услуга врши још један дохват до „.цом“ сервера имена и тражи га од адресе //ввв.гитхуб.цом.

извор: //тецхнет.мицрософт.цом/ен-ус/либрари/бб962069.аспк

4) Једном када ИСП прими ИП адресу одредишног сервера, шаље је вашем веб прегледачу

5) Ваш прегледач узима ИП адресу и дати број порта из УРЛ-а (ХТТП протокол је подразумевано порт 80, а ХТТПС подразумевано порт 443) и отвара везу ТЦП сокета. У овом тренутку су ваш веб прегледач и веб сервер коначно повезани.

6) Ваш веб прегледач шаље ХТТП захтев веб серверу за главну ХТМЛ веб страницу ввв.гитхуб.цом.

7) Веб сервер прима захтев и тражи ту ХТМЛ страницу. Ако страница постоји, веб сервер припрема одговор и шаље га назад у прегледач. Ако сервер не може да пронађе тражену страницу, послаће поруку о грешци ХТТП 404, што значи „Страница није пронађена“.

8) Ваш веб прегледач узима ХТМЛ страницу коју прима и затим је рашчлањује вршећи скенирање од главе до пете тражећи другу имовину која је наведена, као што су слике, ЦСС датотеке, ЈаваСцрипт датотеке итд.

9) За свако наведено средство прегледач понавља цео горњи поступак, чинећи додатне ХТТП захтеве серверу за сваки ресурс.

10) Када прегледач заврши са учитавањем свих осталих средстава која су наведена на ХТМЛ страници, страница ће се коначно учитати у прозор прегледача и веза ће се прекинути

Прелазак Интернет понора

Једна ствар вредна пажње је како се информације преносе када поднесете захтев за информацијама. Када поднесете захтев, те информације се рашчлањују на много ситних делова који се зову пакети. Сваки пакет је означен ТЦП заглављем, које укључује бројеве изворног и одредишног порта, и ИП заглављем које укључује изворну и одредишну ИП адресу како би му се дао идентитет. Пакет се затим преноси путем етернета, ВиФи-а или мобилне мреже и дозвољено му је да путује на било којој рути и предузме онолико скокова колико је потребно да би стигао до крајњег одредишта.

(Заправо нас не занима како ће пакети тамо доћи - битно је само да на одредиште дођу здрави и здрави!) Једном када пакети стигну на одредиште, поново се састављају и испоручују у целини.

Па како онда сви пакети знају како доћи до одредишта, а да се не изгубе?

Одговор је ТЦП / ИП.

ТЦП / ИП је дводелни систем, који функционише као основни Интернет систем управљања. ИП је скраћеница од Интернет Протоцол; његов посао је слање и усмеравање пакета на друге рачунаре помоћу ИП заглавља (тј. ИП адреса) на сваком пакету. Други део, Протокол за контролу преноса (ТЦП), одговоран је за разбијање поруке или датотеке на мање пакете, усмеравање пакета ка исправној апликацији на одредишном рачунару помоћу ТЦП заглавља, поновно слање пакета ако се изгубе на путу и поновно састављање пакета у исправном редоследу када стигну на други крај.

Осликавање коначне слике

Али сачекајте - посао још није готов! Сада када ваш прегледач има ресурсе који се састоје од веб странице (ХТМЛ, ЦСС, ЈаваСцрипт, слике итд.), Мора да прође кроз неколико корака да би вам представио ресурсе као веб страницу читљиву за људе.

Ваш прегледач има механизам за приказивање који је одговоран за приказивање садржаја. Механизам за приказивање прима садржај ресурса у малим деловима. Затим постоји алгоритам за рашчлањивање ХТМЛ-а који говори прегледачу како да рашчлани ресурсе.

Једном рашчлањени, генерише структуру стабла ДОМ елемената. ДОМ је скраћеница од Доцумент Објецт Модел и представља конвенцију о начину представљања објеката који се налазе у ХТМЛ документу. Овим објектима - или „чворовима“ - сваког документа може се манипулисати помоћу скриптних језика попут ЈаваСцрипт-а.

Једном када се ДОМ стабло изгради, табеле стилова се рашчлањују како би се разумело како стилизовати сваки чвор. Користећи ове информације, прегледач прелази ДОМ чворове и израчунава ЦСС стил, положај, координате итд. За сваки чвор.

Једном када прегледач има ДОМ чворове и њихове стилове, коначно је спреман да у складу с тим ослика страницу на ваш екран. Резултат: све што сте икада погледали на Интернету.

Веб је сложен, али управо сте завршили тежи део

Дакле, то је укратко веб. Изгубљен? Сви јесмо, али ако сте оволико прочитали, већ сте завршили тежи део. Очигледно сам прескочио неке детаље у интересу да вам покажем ширу слику овде; али ако можете да омотате главу око основног низа горе описаних догађаја, попуњавање детаља биће комад торте.

Погледајте 2. део, где ћемо се позабавити структуром основне веб апликације. :)