Веб-сервер - Википедия - Web server

А-ның ішкі жағы мен алдыңғы жағы Dell PowerEdge сервер, а орнатуға арналған компьютер тірекке орнату қоршаған орта.

A веб-сервер болып табылады серверлік бағдарламалық жасақтама, немесе жабдық қанағаттандыра алатын осы бағдарламалық жасақтаманы іске қосуға арналған клиент бойынша сұраныстар Дүниежүзілік өрмек. Веб-сервер, жалпы алғанда, біреуін немесе бірнешеуін қамтуы мүмкін веб-сайттар. Веб-сервер кірісті өңдейді желі сұраулар аяқталды HTTP және басқа бірнеше байланысты хаттамалар.

Веб-сервердің негізгі қызметі - сақтау, өңдеу және жеткізу веб-беттер клиенттерге.[1] Клиент пен сервер арасындағы байланыс Гипермәтінді жіберу хаттамасы (HTTP). Жеткізілетін парақтар жиі кездеседі HTML құжаттары қамтуы мүмкін кескіндер, стильдер кестелері және сценарийлер мәтіндік мазмұнға қосымша.

Трафиктің көптігі үшін бірнеше веб-серверлер қолданылуы мүмкін; Мұнда, Делл үшін пайдаланылатын серверлер бірге орнатылған Викимедиа қоры.

A пайдаланушы агенті, әдетте а веб-шолғыш немесе веб-шолғыш, HTTP көмегімен белгілі бір ресурсқа сұраныс жасау арқылы байланысты бастайды және сервер сол ресурстың мазмұнымен жауап береді немесе қате туралы хабарлама егер бұл мүмкін болмаса. Ресурс әдетте сервердегі нақты файл болып табылады қайталама сақтау, бірақ бұл міндетті емес және веб-сервердің жұмысына байланысты жүзеге асырылды.

Негізгі функция мазмұнға қызмет ету болса, HTTP-ді толық енгізу клиенттерден мазмұн алу тәсілдерін де қамтиды. Бұл мүмкіндік жіберу үшін қолданылады веб-формалар, оның ішінде жүктеу файлдар

Көптеген жалпы веб-серверлер де қолдайды серверлік сценарий қолдану Сервердің белсенді беттері (ASP), PHP (Гипермәтіндік препроцессор) немесе басқалары сценарий тілдері. Бұл дегеніміз, веб-сервердің әрекеті бөлек файлдарда жазыла алады, ал нақты серверлік бағдарламалық жасақтама өзгеріссіз қалады. Әдетте бұл функция HTML құжаттарды құру үшін қолданылады серпінді («ұшып бара жатқанда») кері қайтуға қарсы статикалық құжаттар. Біріншісі негізінен ақпаратты алу немесе өзгерту үшін қолданылады мәліметтер базасы. Соңғысы әдетте әлдеқайда жылдам және оңай кэштелген бірақ жеткізе алмайды динамикалық мазмұн.

Веб-серверлерді жиі табуға болады ендірілген сияқты құрылғыларда принтерлер, маршрутизаторлар, веб-камералар және тек а жергілікті желі. Содан кейін веб-сервер қарастырылып жатқан құрылғыны бақылауға немесе басқаруға арналған жүйенің бөлігі ретінде пайдаланылуы мүмкін. Әдетте бұл клиенттік компьютерде қосымша бағдарламалық жасақтама орнатудың қажеті жоқ дегенді білдіреді, өйткені тек веб-шолғыш қажет (қазір көбіне оған қосылады) операциялық жүйелер ).

Тарих

Әлемдегі алғашқы веб-сервер, а NeXT Computer Ethernet-пен жұмыс станциясы, 1990. Іс жапсырмасында: «Бұл машина - сервер. ҚУАТТАНДЫРМАҢЫЗ !!»
Күн Cobalt Qube 3 - компьютер сервер құралы (2002, тоқтатылған)

1989 жылдың наурызында Сэр Тим Бернерс-Ли жұмыс берушісіне жаңа жоба ұсынды CERN, пайдалану арқылы ғалымдар арасындағы ақпарат алмасуды жеңілдету мақсатында гипермәтін жүйе.[2][3] Жоба нәтижесінде 1990 жылы Бернерс-Ли екі бағдарлама жазды:

1991-1994 жылдар аралығында Дүниежүзілік Интернет желісі арқылы деректерді серфингке және алмасуға арналған алғашқы технологиялардың қарапайымдылығы мен тиімділігі оларды көптеген әртүрлі операциялық жүйелерде орналастыруға және оларды ғылыми ұйымдар мен университеттер арасында, кейіннен өндіріске таратуға көмектесті.

1994 жылы Бернерс-Ли құруға шешім қабылдады Дүниежүзілік желі консорциумы (W3C) көптеген технологиялардың одан әрі дамуын реттеу үшін (HTTP, HTML және т.б.) стандарттау процесі арқылы.

Жол аудармасы

Веб-серверлер а-ның жол компонентін картаға түсіре алады Ресурстарды бірыңғай іздеу (URL) келесіге:

  • Жергілікті файлдық жүйе ресурс (статикалық сұраныстар үшін)
  • Бағдарламаның ішкі немесе сыртқы атауы (динамикалық сұраныстар үшін)

Үшін статикалық сұраныс клиент көрсеткен URL жолы веб-сервердің түбірлік каталогына қатысты.

Клиент HTTP арқылы сұрауы бойынша келесі URL мекен-жайын қарастырыңыз:

http://www.example.com/path/file.html

Клиенттікі пайдаланушы агенті оны қосылымға айналдырады www.example.com мыналармен HTTP / 2 сұраныс:

GET /path/file.html HTTP / 2Host: www.example.com

Веб-сервер қосулы www.example.com берілген жолды оның түбірлік каталогының жолына қосады. Ан Apache сервері, бұл әдетте / үй / www (қосулы Unix машиналар, әдетте / var / www). Нәтижесінде жергілікті файлдық жүйе ресурсы:

/home/www/path/file.html

Содан кейін веб-сервер « файл, егер ол бар болса және клиенттің веб-шолғышына жауап жібереді. Жауап файлдың мазмұнын сипаттайды және файлдың өзін қамтиды немесе қате туралы хабарлама файл жоқ немесе жоқ деген жауап қайтарады.

Ядролық режим және қолданушы режиміндегі веб-серверлер

Веб-серверді не қосуға болады ОЖ ядро, немесе in пайдаланушы кеңістігі (басқа тұрақты қосымшалар сияқты).

Іске қосылатын веб-серверлер пайдаланушы режимі жүйеден көбірек жадты немесе көп CPU ресурстарын пайдалануға рұқсат сұрауы керек. Бұл ядроларға сұраныстар уақытты алып қана қоймайды, бірақ олар әрдайым қанағаттандырыла бермейді, өйткені жүйе ресурстарды өз пайдалану үшін сақтайды және аппараттық ресурстарды басқа барлық жұмыс істеп тұрған бағдарламалармен бөлісуге жауапты. Пайдаланушы режимінде орындау қажетсіз буферлік көшірмелерді білдіруі мүмкін, бұл пайдаланушы режиміндегі веб-серверлер үшін тағы бір шектеу болып табылады.

Жүктеме шегі

Веб-серверде (бағдарламада) жүктеме шегі анықталған, өйткені ол клиенттің бір уақытта қосылуының шектеулі санын ғана қолдана алады (әдетте 2-ден 80 000-ға дейін, әдепкі бойынша 500-ден 1000-ға дейін). IP мекен-жайы (және TCP порты) және ол тек белгілі бір максималды санға қызмет ете алады секундына сұраныстар (RPS, сондай-ақ секундына сұраныстар немесе QPS) байланысты:

Веб-сервер өзінің шегіне жақындағанда немесе одан асып кетсе, ол жауап бермейді.

Шамадан тыс жүктеме себептері

Кез-келген уақытта веб-серверлер жүктелуі мүмкін:

  • Артық заңды трафик. Қысқа уақыт аралығында веб-сайтқа қосылатын мыңдаған, тіпті миллиондаған клиенттер, мысалы, Slashdot әсері;
  • Қызмет көрсетуден бас тарту шабуылдар. Қызметтен бас тарту шабуылы (DoS шабуылы) немесе таратылған қызметтен бас тарту шабуылы (DDoS шабуылы) дегеніміз - бұл компьютер немесе желілік ресурсты мақсатты пайдаланушыларға қол жетімсіз ету әрекеті;
  • Компьютерлік құрттар кейде миллиондаған вирус жұқтырған компьютерлердің кесірінен трафикті тудырады (олардың арасында келісілмеген)
  • XSS құрттары миллиондаған вирус жұқтырылған браузерлердің немесе веб-серверлердің арқасында трафиктің жоғарылауын тудыруы мүмкін;
  • Интернет-боттар Трафик өте аз ресурстармен (өткізу қабілеттілігі және т.б.) үлкен веб-сайттарда сүзілмеген / шектелмеген;
  • ғаламтор (желілік) баяулау, клиенттің сұраныстарына баяу қызмет ету және қосылымдар саны көбейіп, серверлік шектеулерге жету;
  • Веб-серверлер (компьютерлер ) ішінара қол жетімсіздік. Бұл қажет немесе шұғыл техникалық қызмет көрсету немесе жаңарту, аппараттық құрал немесе бағдарламалық жасақтама ақаулары салдарынан болуы мүмкін, артқы жағы (мысалы, дерекқор ) сәтсіздіктер және т.б.; бұл жағдайда қалған веб-серверлер тым көп трафик алады және шамадан тыс жүктеледі.

Шамадан тыс жүктеме белгілері

Шамадан тыс жүктелген веб-сервердің белгілері:

  • Сұранымдар (ұзақ болуы мүмкін) кідірістермен беріледі (1 секундтан бірнеше жүз секундқа дейін).
  • Веб-сервер an қайтарады HTTP қате коды мысалы, 500, 502,[5] 503,[6] 504,[7] 408 немесе тіпті 404, бұл шамадан тыс жүктеме жағдайына сәйкес келмейді.[8]
  • Веб-сервер бас тартады немесе қалпына келтіреді (тоқтатады) TCP кез келген мазмұнды қайтармас бұрын қосылыстар.
  • Өте сирек жағдайларда веб-сервер сұралған мазмұнның тек бір бөлігін қайтарады. Бұл мінез-құлықты а деп санауға болады қате, тіпті егер бұл шамадан тыс жүктеме симптомы ретінде пайда болса да.

Шамадан тыс жүктеме техникасы

Орташа жүктеме шектерін ішінара жеңу және шамадан тыс жүктемені болдырмау үшін, ең танымал веб-сайттар келесі әдістерді қолданады:

  • Желілік трафикті басқару:
  • Орналастыру веб-кэш техникасы
  • Әр түрлі қолдану домендік атаулар немесе бөлек веб-серверлер арқылы әр түрлі (статикалық және динамикалық) мазмұнға қызмет ететін IP мекенжайлар, мысалы:
    • http://images.example.com
    • http://example.com
  • Үлкен файлдарды кіші және орташа файлдардан бөлу үшін әр түрлі домендік атауларды немесе компьютерлерді қолдану; идея - толықтай білу кэш шағын және орта көлемді файлдарға және әртүрлі параметрлерді қолдану арқылы үлкен немесе үлкен (10 - 1000 МБ-тан жоғары) файлдарға тиімді қызмет ету
  • Әрбір компьютерде көптеген интернет-серверлерді (бағдарламаларды) пайдалану, әрқайсысы өз алдына желі картасы және IP мекен-жайы
  • А артында топтастырылған көптеген интернет-серверлерді (компьютерлерді) пайдалану жүктеме теңгерушісі олар бір веб-сервер ретінде әрекет етуі немесе көрінуі үшін
  • Қосымша аппараттық ресурстарды қосу (яғни.) Жедел Жадтау Құрылғысы, дискілер ) әр компьютерге
  • Аппараттық мүмкіндіктер мен пайдалану үшін ОЖ параметрлерін баптау
  • Тиімді пайдалану компьютерлік бағдарламалар веб-серверлер үшін және т.б.
  • Басқасын пайдалану уақытша шешімдер, әсіресе динамикалық мазмұнға қатысты болса

Нарық үлесі

The LAMP (бағдарламалық қамтама) (мұнда қосымша Кальмар ), толығымен жасалған ақысыз және бастапқы көзі ашық бағдарламалық жасақтама, бұл қоршаған орта үшін жоғары өнімділік пен қол жетімділігі жоғары ауыр салмақты шешім
Диаграмма:
Барлық сайттардың нарықтағы үлесі 2005–2018 жж. негізгі веб-серверлер

Ақпан 2019

Төменде статистиканың соңғы статистикасы келтірілген барлық сайттардың нарықтағы үлесі W3Techs ұсынған Интернеттегі ең жақсы веб-серверлерВеб-серверлерді веб-сайттарға пайдалану.

ӨнімСатушыПайыз
ApacheApache44.3%
nginxNGINX, Inc.41.0%
IISMicrosoft8.9%
LiteSpeed ​​веб-серверіLiteSpeed ​​Technologies3.9%
GWSGoogle0.9%

Барлық басқа веб-серверлерді веб-сайттардың 1% -дан азы пайдаланады.

Шілде 2018

Төменде статистиканың соңғы статистикасы келтірілген барлық сайттардың нарықтағы үлесі W3Techs ұсынған Интернеттегі ең жақсы веб-серверлерВеб-серверлерді веб-сайттарға пайдалану.

ӨнімСатушыПайыз
ApacheApache45.9%
nginxNGINX, Inc.39.0%
IISMicrosoft9.5%
LiteSpeed ​​веб-серверіLiteSpeed ​​Technologies3.4%
GWSGoogle1.0%

Барлық басқа веб-серверлерді веб-сайттардың 1% -дан азы пайдаланады.

Ақпан 2017

Төменде статистиканың соңғы статистикасы келтірілген барлық сайттардың нарықтағы үлесі бойынша Интернеттегі ең жақсы веб-серверлер NetcraftАқпан 2017 ж. Веб-серверге сауалнама.

ӨнімСатушы2017 жылғы қаңтарПайызАқпан 2017ПайызӨзгертуДиаграмма түсі
IISMicrosoft821,905,28345.66%773,552,45443.16%−2.50қызыл
ApacheApache387,211,50321.51%374,297,08020.89%−0.63қара
nginxNGINX, Inc.317,398,31717.63%348,025,78819.42%1.79жасыл
GWSGoogle17,933,7621.00%18,438,7021.03%0.03көк

Ақпан 2016

Төменде статистиканың соңғы статистикасы келтірілген барлық сайттардың нарықтағы үлесі бойынша Интернеттегі ең жақсы веб-серверлер NetcraftАқпан 2016 ж. Веб-серверге сауалнама.

ӨнімСатушыҚаңтар 2016ПайызАқпан 2016ПайызӨзгертуДиаграмма түсі
ApacheApache304,271,06133.56%306,292,55732.80%0.76қара
IISMicrosoft262,471,88628.95%278,593,04129.83%0.88қызыл
nginxNGINX, Inc.141,443,63015.60%137,459,39116.61%−0.88жасыл
GWSGoogle20,799,0872.29%20,640,0582.21%−0.08көк

Apache, IIS және Nginx - бұл бүкіләлемдік желіде ең көп қолданылатын веб-серверлер.[9][10]

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ Патрик, Киллелеа (2002). Веб-өнімділікті реттеу (2-ші басылым). Пекин: О'Рейли. б. 264. ISBN  059600172X. OCLC  49502686.
  2. ^ Золфагарифард, Элли (24 қараша 2018). "'Интернеттің әкесі 'сэр Тим Бернерс-Ли жалған жаңалықтармен күресу жоспары туралы ». Телеграф. ISSN  0307-1235. Алынған 1 ақпан 2019.
  3. ^ «Компьютерлер мен есептеу техникасының тарихы, Интернет, туылу, Тим Бернерс-Лидің бүкіләлемдік торы». history-computer.com. Алынған 1 ақпан 2019.
  4. ^ Маколей, Том. «Ашық көзді веб-серверлердің қайсысы жақсы?». ComputerworldUK. Алынған 1 ақпан 2019.
  5. ^ Фишер, Тим; Өмір суы. «502 шлюзде қате пайда болды ма? Не істеу керек». Өмір суы. Алынған 1 ақпан 2019.
  6. ^ Фишер, Тим; Өмір суы. «503 сервисін алу мүмкін болмады. Қандай қате бар? Міне не істеу керек». Өмір суы. Алынған 1 ақпан 2019.
  7. ^ «502 жаман шлюз дегеніміз не және оны қалай түзетуге болады?». IT PRO. Алынған 1 ақпан 2019.
  8. ^ Цифрлық криминалистика және тергеу анықтамалығы. Кейси, Эоган., Альтейде, Кори. Берлингтон, Массачусетс: Academic Press. 2010. б. 451. ISBN  9780080921471. OCLC  649907705.CS1 maint: басқалары (сілтеме)
  9. ^ Вон-Николс, Стивен Дж. «Apache және IIS веб-серверінің қарсыласы NGINX тез өсуде». ZDNet. Алынған 1 ақпан 2019.
  10. ^ Хади, Нахари (2011). Веб-коммерция қауіпсіздігі: жобалау және әзірлеу. Крутц, Роналд Л. Индианаполис: Wiley Pub. ISBN  9781118098899. OCLC  757394142.

Сыртқы сілтемелер