Розуміння Інтернету без громадянства [закрито]


15

Я переходжу від розробника робочого столу до веб-розробника, і у мене виникають проблеми з розумінням того, чому HTTP без громадянства. Які причини цього? Якими способами розробник робочого столу, як я, може зробити перехід до середовища розвитку без стану?


3
Привіт Брайан, Programmers.SE не є дошкою для обговорень . Чи є певна проблема, з якою ви стикаєтесь, і вам потрібна допомога? Якщо так, чи можете ви перефразувати своє запитання?

Зазвичай ви дозволяєте серверу обробляти інформацію про файли cookie сеансу.
FrustratedWithFormsDesigner

Я думаю, що це слід відновити, тепер, коли він має десяток «адекватних відповідей». Тим більше, що на це вказувало ще одне нещодавне питання, яке, як кажуть, дублює це. Це не може бути дублікатом в будь-якому напрямку, якщо він не повинен бути тут в першу чергу. Давайте тут трохи розуму.

Відповіді:


18

Це найкраще пояснення інтернету без громадянства, яке я бачив:

Як я пояснив REST  дружині
http://www.looah.com/source/view/2284

Дружина: Хто такий Рой Філдінг?

Райан: Якийсь хлопець. Він розумний.

Дружина: Ой? Що він зробив?

Райан: Він допоміг написати перші веб-сервери, а потім провів багато досліджень, пояснивши, чому веб працює так, як це робиться. Його ім'я вказано в специфікації протоколу, який використовується для отримання сторінок із серверів до вашого браузера.

Дружина: Як це працює?

Райан: Павутина?

Дружина: Так.

Райан: Хм. Що ж, все насправді дивовижно. І найсмішніше, що це все дуже занижено. Протокол, про який я говорив, HTTP, він здатний на всілякі акуратні речі, які люди чомусь ігнорують.

Дружина: Ви маєте на увазі http, як початок того, що я набираю у браузері?

Райан: Так. Ця перша частина повідомляє браузеру, який протокол використовувати. Цей матеріал, який ви вводите, є одним з найважливіших проривів в історії обчислень.

Дружина: Чому?

Райан: Тому що він здатний описати розташування чогось у будь-якій точці світу з будь-якої точки світу. Це основа Інтернету. Ви можете думати про це, як координати GPS для знань та інформації.

Дружина: Для веб-сторінок?

Райан: Насправді нічого. Цей хлопець, Рой Філдінг, він багато говорить про те, на що вказують ті речі в тому дослідженні, про яке я говорив. Мережа побудована в архітектурному стилі під назвою REST. REST дає визначення ресурсу, на що вказують ті речі.

Дружина: веб-сторінка - це ресурс?

Райан: Види . Веб-сторінка - це представлення ресурсу. Ресурси - це лише поняття. URL-адреси - ті речі, які ви вводите у веб-переглядачі ...

Дружина: Я знаю, що таке URL-адреса ..

Райан: О, так. Ті кажуть браузеру, що десь є концепція. Потім браузер може перейти до запиту про конкретне представлення концепції. Зокрема, браузер просить представити концепцію на веб-сторінці.

Дружина: Які ще існують представництва?

Райан: Насправді, уявлення - це одна з таких речей, яка не звикає багато. У більшості випадків ресурс має лише одне представлення. Але ми сподіваємось, що представництва в майбутньому будуть використовуватись більше, оскільки всюди з'являється купа нових форматів.

Дружина: Як що?

Райан: Хм. Ну, є ця концепція, яку люди називають Web Services. Для багатьох людей це означає багато різних речей, але основна концепція полягає в тому, що машини можуть використовувати Інтернет так, як це роблять люди.

Дружина: Це ще одна робота-робота?

Райан: Ні, не дуже. Я не маю на увазі, що машини будуть сидіти за столом і переглядати Інтернет. Але комп'ютери можуть використовувати ті самі протоколи, щоб пересилати повідомлення один одному. Ми робимо це вже давно, але жодна з методик, якими ми сьогодні користуємось, не працює добре, коли вам потрібно мати можливість спілкуватися з усіма машинами у всьому світі.

Дружина: Чому ні?

Райан: Тому що вони не були розроблені таким чином. Коли Філдінг та його приятелі почали розбудовувати Інтернет, то можливість спілкування з будь-якою машиною в будь-якій точці світу була головною проблемою. Більшість методів, які ми використовуємо на роботі, щоб змусити комп’ютери спілкуватися один з одним, не мали цих вимог. Вам просто потрібно було поговорити з невеликою групою машин.

Дружина: А тепер вам потрібно поговорити з усіма машинами?

Райан: Так - і більше. Нам потрібно вміти розмовляти з усіма машинами про всі речі, які є на всіх інших машинах. Отже, нам потрібен спосіб, щоб одна машина розповіла іншій машині про ресурс, який може бути на іншій машині.

Дружина: Що?

Райан: Скажімо, ви розмовляєте зі своєю сестрою, і вона хоче позичити підмітальну машину чи щось таке. Але у вас його немає - у вашої мами є. Тож ви скажете своїй сестрі, щоб вона отримала її від своєї мами. Це відбувається постійно в реальному житті, і це відбувається весь час, коли машини теж починають говорити.

Дружина: То як машинки кажуть один одному, де справи?

Райан: Звичайно, URL. Якщо все, про що потрібно говорити машинам, має відповідну URL-адресу, ви створили машинний еквівалент іменника. Те, що ви з рештою світу домовились про те, щоб говорити про іменники певним чином, досить важливо, так?

Дружина: Так.

Райан: Машини не мають універсального іменника - тому вони смокчуть. Кожна мова програмування, база даних чи інший тип системи мають різний спосіб говорити про іменники. Ось чому URL так важливий. Давайте всі ці системи розповімо один одному про іменники один одного.

Дружина: Але коли я переглядаю веб-сторінку, я не думаю про це так.

Райан: Ніхто не робить. За винятком Філдінга та жменьки інших людей. Ось чому машини все ще смокчуть.

Дружина: А як щодо дієслів та займенників та прикметників?

Райан: Смішно, що ви запитували, тому що це ще один великий аспект REST. Ну, дієслова все одно.

Дружина: Я просто жартував.

Райан: Це був смішний жарт, але насправді це зовсім не жарт. Дієслова важливі. Існує потужна концепція програмування та теорії CS під назвою поліморфізм. Це примхливий спосіб сказати, що різні іменники можуть мати одне і те ж дієслово.

Дружина: Я не розумію.

Райан: Ну .. Подивіться на журнальний столик. Що таке іменники? Чашка, піднос, газета, пульт. Тепер, які речі ви можете зробити для всіх цих речей?

Дружина: я не розумію ...

Райан: Ви можете їх отримати, правда? Ви можете забрати їх. Ви можете їх збити. Ви можете їх спалити. Ви можете застосувати ті самі точні дієслова до будь-якого з об'єктів, що сидять там.

Дружина: Гаразд ... так?

Райан: Ну, це важливо. Що робити, якщо замість того, щоб я міг сказати вам, "дістаньте чашку" та "дістаньте газету" та "дістаньте дистанційне"; що, якщо замість цього нам потрібно було скласти різні дієслова для кожного з іменників? Я не міг універсально використовувати слово "get", але замість цього повинен був придумати нове слово для кожної комбінації дієслова / іменника.

Дружина: Вау! Це дивно.

Райан: Так, так і є. Наш мозок якось досить розумний, щоб знати, що одні й ті ж дієслова можна застосувати до багатьох різних іменників. Деякі дієслова більш конкретні, ніж інші, і застосовуються лише до невеликого набору іменників. Наприклад, я не можу керувати чашкою і не можу пити машину. Але деякі дієслова майже універсальні, як GET, PUT та DELETE.

Дружина: не можна ВИДАЛИТИ чашку.

Райан: Ну добре, але ви можете його викинути. Це був ще один жарт, правда?

Дружина: Так.

Райан: Отже, HTTP - цей протокол Філдінг та його друзі створені - стосується застосування дієслів до іменників. Наприклад, коли ви переходите на веб-сторінку, браузер робить HTTP GET за URL-адресою, яку ви вводите, і назад з'являється веб-сторінка.

На веб-сторінках зазвичай є зображення, правда? Це окремі ресурси. Веб-сторінка просто вказує URL-адреси зображень, а веб-переглядач переходить і робить на них більше HTTP GET, поки не будуть отримані всі ресурси та не відображається веб-сторінка. Але тут важливо те, що дуже різні види іменників можна трактувати однаково. Будь іменник - це зображення, текст, відео, mp3, слайд-шоу, будь-що. Я можу отримати всі ці речі таким же чином, вказавши URL-адресу.

Дружина: Звучить як GET - досить важливе дієслово.

Райан: Це так. Особливо, коли ви використовуєте веб-браузер, тому що браузери майже просто отримують речі. Вони не здійснюють багато інших видів взаємодії з ресурсами. Це проблема, тому що змусило багатьох людей припустити, що HTTP призначений саме для GETing. Але HTTP - це фактично протокол загальної мети для застосування дієслів до іменників.

Дружина: Класна. Але я все ще не бачу, як це щось змінює. Які види іменників та дієслів ви хочете?

Райан: Ну іменники є, але не у правильному форматі.

Подумайте, коли ви переглядаєте amazon.com і шукаєте речі, які можна придбати мені на Різдво. Уявіть, що кожен із продуктів є іменниками. Тепер, якщо вони були доступні в представництві, яке машина може зрозуміти, ви могли б зробити багато акуратних речей.

Дружина: Чому машина не може зрозуміти звичайну веб-сторінку?

Райан: Тому що веб-сторінки створені так, щоб їх розуміли люди. Машина не хвилює компонування та стилізації. Машини в основному просто потребують даних. В ідеалі кожна URL-адреса мала б читати людину та читати машинне зображення. Коли машина отримає ресурс, він попросить прочитати машину. Коли браузер отримає ресурс для людини, він попросить читати людину.

Дружина: Тож людям доведеться робити машинні формати для всіх своїх сторінок?

Райан: Якби це було цінним.

Подивіться, ми говорили про це з великою кількістю абстракцій. Як щодо цього ми беремо реальний приклад. Ви вчитель - у школі, я вважаю, що у вас є велика комп'ютерна система, або три-чотири комп'ютерні системи, швидше за все, дозволяють вам керувати учнями: в яких класах вони перебувають, в яких класах вони потрапляють, в надзвичайні контакти, інформація про книги, з яких ви навчаєтесь тощо. Якщо системи базуються на веб-сторінках, то, ймовірно, є URL-адреса для кожного з іменників, що беруть участь тут: студент, викладач, клас, книга, кімната тощо. Прямо зараз отримуйте URL-адресу через браузер надає вам веб-сторінку. Якби для кожної URL-адреси було машиночитане представлення, то було б неправдиво закріпити нові інструменти на системі, оскільки вся ця інформація була б споживаною стандартним чином. Це також полегшило б спілкування між собою кожною з систем. Або ви можете створити державну або загальнодержавну систему, яка змогла б поговорити з кожною з окремих шкільних систем, щоб зібрати результати тестування. Можливості безмежні.

Кожна з систем отримувала б інформацію один від одного за допомогою простого HTTP GET. Якщо одній системі потрібно щось додати до іншої системи, вона використовуватиме HTTP POST. Якщо система хоче щось оновити в іншій системі, вона використовує HTTP PUT. Єдине, що залишається розібратися - це як мають виглядати дані.

Дружина: Отже, над цим ви та всі комп'ютерні люди працюєте зараз? Вирішити, як мають виглядати дані?

Райан: На жаль, ні. Натомість велика більшість зайнята написанням шарів складних специфікацій для того, щоб робити цей матеріал по-іншому, що не є настільки корисним чи красномовним. Іменники не є універсальними, а дієслова - не поліморфними. Ми викидаємо десятиліття реального використання польових і перевірених методів і починаємо все з того, що дуже схоже на інші системи, які провалилися в минулому. Ми використовуємо HTTP, але лише тому, що він допомагає нам менше спілкуватися з нашою мережею та безпекою. Ми торгуємо простотою для кричущих інструментів та майстрів.

Дружина: Чому?

Райан: Я поняття не маю.

Дружина: Чому ти щось не скажеш?

Райан: Можливо, я буду.


1
Це чудове читання. Отже, http використовується умовно, тому що це легко. Єдине, що я б додав, - це щось про обмеження пам’яті, як зазначив Славек, у нас швидко не вистачало ресурсів для великих веб-сайтів. Можливо, одного дня, коли ресурси машини є великими порівняно з потребами користувачів, ми можемо мати справжній Інтернет.
P.Brian.Mackey

5
Я б не надто боявся бути без громадянства; це просто інший погляд на речі. З часом ви можете виявити, що це насправді більш розумний спосіб, особливо для великих масштабованих програм. У будь-якому випадку ви завжди можете зберігати стан у вашій базі даних та отримувати цей стан у наступних запитах на сторінку. Без громадянства змушує вас думати більше щодо транзакцій, а не для оновлення невеликих шматочків стану.
Роберт Харві

2
Мене настільки засліпило державний підхід до програмування, що я пропустив основну точку статті. Мені потрібно забити в мозок кілька сотень разів гасло "Без громадянства - це дефект" ... Дякую за чудовий коментар та відповідь.
P.Brian.Mackey

На що йдеться в заключному абзаці (5 рядків від кінця)? У мене була ідея, але я не хотів відчувати себе дурнем, який робить будь-які припущення.
Стівен

1
@Steven: Я вважаю, що параграф стосується таких речей, як SOAP або, можливо, CORBA (здригання).
Роберт Харві

6

Як ви думаєте, як можна було б зберігати стан мільярдів мільярдів мільярдів зв’язків? :) Отже, ви зберігаєте стан лише там, де потрібно, на сесіях.

BTW: HTTP не пов'язаний.


1
@P. Навряд чи заспокоєння, коли посилання, яке ви цитували, відкриваються із: Ця стаття містить слова, які мають неясне слово, нечіткі фрази, які часто супроводжують упереджену або неперевірену інформацію.
chrisaycock

3
HTTP не пов'язаний. Ви відправляєте запит HTTP, отримуєте щось назад, що стосується HTTP, зв’язок закінчується. Сервер може підключати різні запити для формування сеансу, але це не властива HTTP.
Девід Торнлі

2
HTTP використовує TCP / IP в якості транспорту (а не UDP), але це ще один рівень ISO OSI persistent connections. Я не експерт з мережі, але у вас справді є зв’язок у HTTP більшу частину часу :)
Slawek

2
Гаразд, тому, що я отримую з цього, це те, що поширена думка про те, що беззв'язок можна прирівнювати до стану без громадянства, є помилковою. Я думаю, ми можемо погодитись, що http без громадянства, або поглянути на специфікацію, щоб переконатися в цьому w3.org/TR/html401/interact/forms.html (пошук без громадянства). Дивіться також RFC2616 щодо безгромадянства http ietf.org/rfc/rfc2616.txt . Є з'єднання, але з'єднання - це "реле сліпих".
P.Brian.Mackey

2
З'єднання є віртуальними в Інтернеті. Технічно кажучи, щоб мати справжній зв'язок, вам потрібно мати спеціальний провід, який з'єднує вас з іншою стороною, як телефонні дроти (принаймні в <90-х роках). Якщо одна сторона "відключиться", інша не дізнається, якщо не отримає пакет із повідомленням, що інша сторона вже не слухає. Теоретично цей пакет ніколи не може надійти. Після тайм-ауту сервер теж 'відключається'. Однак зв’язки завжди віртуальні з цієї причини.
Ніл

4

Як розробник робочого столу, вам може бути зручніше з багатим інтерфейсом інтерфейсу. Переміщення до Інтернету може відчути крок назад. У веб-світі менше свободи творчості, і це може дати тобі обмеження. Не дозволяйте цьому вас збити! Існує ряд речей, які можуть допомогти вам здійснити перехід, і ось короткий їх список:

  1. Держава може бути спільною, але вона часто зберігається на сервері та на неї посилаються маркери, такі як ідентифікатори сеансу, параметри URL-адреси, приховані поля або значення файлів cookie.
  2. Моделі без громадянства добре підходять для обробки транзакцій. Спробуйте побудувати свою модель таким чином, щоб зменшити кількість необхідного стану. У ACID принципи обробки транзакцій можуть допомогти вам досягти цього.
  3. Ознайомтесь із схемою MVC (якщо ви ще цього не зробили). Це допоможе покращити ваш дизайн, підтримуючи розбіжність проблем. Деякі популярні рамки, такі як Struts (Java) та MVC (.NET), побудовані навколо цієї концепції.
  4. Подумайте про використання плагіна, такого як Java , Flash або Silverlight для надбагатого користувальницького інтерфейсу. Для напівнасиченого досвіду подумайте про використання популярних бібліотек на базі Java-скрипта, таких як JQuery або AJAX .

Щасливого програмування!


1
лише бічна примітка: будьте обережні з абревіатурою MVC; Спочатку він був визначений як дизайн OO для додатків GUI, пізніше він був вбудований в шарову архітектуру для веб-додатків. Це дві дуже різні речі.
Хав'єр

Ви пропонуєте ОП зануритися безпосередньо в технології, які дають змогу вирішити проблему в Інтернеті без громадянства, а не вивчати основи спочатку?
Tulains Córdova

3

Тому що був час, коли не було мільйонів мільйонів веб-сторінок. Тому що був час, коли лише університети та дослідницькі установи мали пару сторінок. Був час, коли не було широкосмугового зв’язку, і http спілкувався з 1200 бод-модемами, розміщеними поверх настільних телефонів. Був час, коли "багаті веб-додатки" потребували б, на їхню думку, смішного обсягу пропускної здатності. І пам’ятайте, TCP / IP був створений, оскільки ранній Інтернет був дуже ненадійним.

HTTP 1.0 був на початку 1990-х. Подумайте, яким був тоді Інтернет та чому вони спроектували його так, як вони робили.


"Пізній" Інтернет все ще ненадійний.
Pemdas

@Pemdas - що ви маєте на увазі "пізній" Інтернет?
P.Brian.Mackey

Просто збирання азоту. Передача даних все ще ненадійна без таких протоколів, як TCP, і навіть TCP не може пояснити, що з'єднання недоступне.
Pemdas

3

Це все наче розвивалося. Інтернет існував перед веб-браузерами та Інтернетом. Це був киплячий горщик з ftp, telnet, gopher, ping, finger та ще декількох біт та бобів. Перший веб-браузер, «Мозаїка» («Я думаю, це був давно, 1991 рік, я думаю, я був у коледжі)» діяв як своєрідний мішмаш між ftp та переглядом документів. Магія трапилася в тому, що ви могли мати посилання в документі, які б перенесли новий документ.

Вся інтерактивність у нас зараз розвивалася протягом наступних 20 років. Це не було щасливою еволюцією. У нас були війни в браузері, IE і Netscape вивели їх для контролю стандартів (Біт спрощення;)), а різні інші треті сторони почали впроваджувати плагіни для забезпечення багатого вмісту. Ява буде чарівною кулею і, звичайно, Flash. Хтось пам'ятає плагіни VRML, які обіцяли 3d світи та доставили рівно півдесятка 3d-моделей моделей Star Wars?

Я трохи захопився до кінця, але ви розумієте :)


Це добре, багато інших захопилися теж, в основному маркетингові люди. Де ми б зараз опинилися, окрім мотивів необробленого прибутку? Я думаю, що ще кілька вундеркіндів, що "підключають деякі комп'ютери".

3

Основні причини пов'язані з поєднанням того, що ацедемія вважала метою HTTP, і з міркувань масштабування. HTML спочатку був розроблений для обміну інформацією або тезами через академічні межі. Це був суто стилізований текст. Тільки коли перший браузер не дозволив вам подавати фотографії, люди почали думати поза цією моделлю.

Наступні міркування зміцнили рішення без громадянства:

  • Типовою взаємодією було швидке завантаження та читання. Під час затримки до наступного запиту розетка буде простоювати.
  • Розетки займають дорогоцінні системні ресурси. Якщо нам не довелося підтримувати розмову так, як це було б із SMTP, ви можете зробити багато, щоб одна машина обробляла тисячі клієнтів.
  • Вони вже отримали дорогоцінні уроки з керування віддаленими обліковими записами оболонок, NFS, SMTP та іншими протоколами стаціонарного з'єднання.

Оскільки веб-сторінки стали більш складними та включали багато графіки та таблиць стилів, HTTP поправлявся прапором "Keep-Live". Це дозволить зберегти розетку в прямому ефірі і дасть змогу клієнтові запитувати кілька ресурсів при одній і тій же розмові.

З огляду на існуючу модель використання Інтернету, оригінальне рішення все ще діє. Часом це може бути незручно, але кілька невеликих квантованих взаємодій із сервером масштабуються краще, ніж розетки в режимі очікування.


3

Якщо ви маєте на увазі двонаправлені браузери.

Причини безпеки.

Наприклад СПАМ!

Виведення двонаправленої комунікації в Інтернеті на наступний рівень

В іншому випадку Інтернет працює TCP / IP (два протоколи) та UDP.

Протокол управління передачею(TCP) - один з основних протоколів пакету Internet Protocol Suite. TCP є одним з двох оригінальних компонентів набору, що доповнює Інтернет-протокол (IP), і тому весь пакет зазвичай називають TCP / IP. TCP надає послугу обміну даними безпосередньо між двома хостами в одній мережі, тоді як IP обробляє адресу та маршрутизацію повідомлень через одну або більше мереж. Зокрема, TCP забезпечує надійну впорядковану доставку потоку байтів з програми на одному комп’ютері на іншу програму на іншому комп'ютері. TCP - це протокол, на який покладаються основні Інтернет-програми, такі програми, як Всесвітня павутина, електронна пошта та передача файлів. Інші програми, які не потребують надійного обслуговування потоку даних,

Інтернет-протокол(IP) - це основний протокол зв'язку, який використовується для передачі дейтаграм (пакетів) через мережу Інтернет за допомогою пакету Internet Protocol Suite. Відповідальний за маршрутизацію пакетів через межі мережі, саме основний протокол встановлює Інтернет. IP - це первинний протокол в Інтернет-шарі пакету Internet Protocol Suite і має завдання доставляти дейтаграми від вихідного хоста до вузла призначення виключно за їх адресами. Для цього IP визначає методи адресації та структури для інкапсуляції дейтаграм. Історично склалося, що ІР була послугою бездротових дейтаграм в оригінальній програмі управління передачею, запровадженій Вінтом Серфом та Боб Кан в 1974 р., Інша - протокол управління передачею (TCP), орієнтований на з'єднання. Тому пакет «Інтернет-протокол» часто називають TCP / IP.


3

У настільному додатку користувач передбачає виконання певної серії завдань із визначеним початком і кінцем. У такій програмі користувачі мають певний сенс (насправді не багато), щоб користувачі могли увійти в сервер, який надає свої дані, і залишатись увійшли до входу, поки вони не завершаться.

Веб-взаємодії (як правило) не відповідають одній моделі. Наприклад, на веб-сайті електронної комерції користувач може отримати опис продукту в результаті пошуку в Google і негайно залишити цю сторінку, щоб переглянути пропозиції іншого сайту на тому ж продукті. Або він / він може почати процес оформлення замовлення, а потім вирішить, що товар занадто дорогий, і відмовитися від нього на півдорозі. Основна ідея "гіпертексту" передбачає здатність і очікування перестрибувати з одного місця в інше.

Постійні зв’язки споживають ресурси. Можливо, просто мережевий сокет, можливо, пул проаналізованих запитів до бази даних; все залежить від програми. З огляду на користувача, який може зникнути в будь-який час, не має великого сенсу зберігати ці ресурси.

На практиці немає потреби в постійному зв’язку у користувача. Веб-додаток підтримує з'єднання з усіма необхідними ресурсами (наприклад, базою даних) та ділиться ними між усіма запитами користувачів. Рамка веб-додатків забезпечує сеанси, які є обмеженими часом місцями для зберігання даних кожного користувача для різних запитів. Єдине, що ви не можете зробити (легко) - це тривалі транзакції, керовані клієнтом, але це погана ідея навіть у додатку, який підтримує зв’язки.


2

Інтернет не обов'язково без громадянства - адже якщо ви дивитесь на Java EE - у них є державні EJB та EJB без громадянства.

Основна причина, чому розробники рекомендують використовувати архітектуру без громадянства, - через масштабованість. Уявіть, що намагаєтеся зберегти стан усіх своїх користувачів, як тільки ви додаєте та відмовляєте сервери для підтримки вашого трафіку.

Справді не важко розробити архітектуру без громадянства. Основним моментом є збереження якомога меншого стану (зазвичай ідентифікатор користувача - бажано у файлі cookie) та зміна бази даних за потребою.


1

Я думаю, що це почалося саме так і просто так продовжувалося. Тепер, коли навколо неї побудовано стільки інфраструктури, змінити її неможливо.

Можливо, це почалося без стану, оскільки спочатку з'єднання були менш надійними, а також пропускна здатність була меншою. Якщо у вас немало активних з'єднань, ви можете легше обробляти більше трафіку.

Будь ласка, відредагуйте або залиште коментар, якщо у вас є краща інформація, або ще краще, розмістіть власну відповідь!


1

Це тому, що сервери надають послугу (її в назві). Ви робите запит і отримуєте відповіді - ось усе, що на ньому є.

Що стосується переходу до веб-розробки, я вважаю, що ASP.NET Web Forms зробить це таким чином, який буде для вас зрозумілішим - але це лише тому, що він приховує те, що насправді відбувається під шарами абстракції.


Я був розробником Winforms, який одного разу намагався зробити перехід на веб-форми ASP.NET. Досвід був не з приємних. Я дуже віддаю перевагу ASP.NET MVC.
Роберт Харві

Ага - добре, я почав в PHP, потім перейшов. Мені знадобилося близько 6 місяців, щоб перестати генерувати HTML в циклі
billy.bob

1

Багато що можна зрозуміти, проаналізувавши ім’я HTTP (протокол передачі гіпертексту). Він ніколи не був розроблений як багатий протокол користувальницького інтерфейсу. Початкова ідея полягала в тому, щоб поділитися документами з посиланнями між ними. Я прошу у вас документ, ви відповідаєте з його копією.

Спочатку HTTP мав лише одне дієслово GET. У зв'язку з цим він був розроблений для статичного змісту. Для чого вам потрібна держава, коли все, що ви робите, - це запит документа, яким хтось ділиться? І тому HTTP без громадянства ... через його походження.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.