Мне никто никогда не пояснял эту, наверное, очевидность, и я не могу сложить фундаментальный пазл понимания: Допустим есть задача разработать сайт. В каком формате пишется бэк? рест апи (когда пересылаются джсоны) или когда пересылаются html странички? Знаю что есть и другие форматы, но давайте рассмотрим эти два. Любой ответ на этот вопрос вызывает у меня кучу вопросов. Если рест апи с джсонами - как фронтэнд взаимодействует с этими джсонами? Как html странички получают из них данные? Или это иначе работает??
Потом - если рест апи, каким образом реализована cookie-based авторизация, которая используется в большинстве сайтов?
Ок, допустим ответ второй (гоняются html странички), тогда как тестировать такое приложение? как его дробить на более мелкие микросервисы? Как...дофига вопросов короче. Я эти 2 способа достаточно хорошо понял по отдельности, научился делать и так, и так и знаю немало деталей (в бэк части), но то, как это работает в целом (с фронтом), как оно с ним взаимодействуют и когда применятся тот или иной способ - я не знаю, у меня жёсткая каша в голове.
Веб-дизайн
Тупой вопрос про бэкэнд и фронтэнд.
Одни и те же вещи можно делать по-разному. В целом никто вас сильно не осудит, если для своих домашних проектов вы будете делать все по старинке. Сookie-based авторизация, и сервер, отдающий html.
Но для сложных сервисов все иначе. Решение делать REST API -- это же не дань моде. Это подход к решению задачи. Когда есть много клиентов и разумно делать для них одно API. REST API вы тоже можете технически авторизовать через cookie. Но принято делать это через токены.
Как тестировать? Есть разные виды тестов. Обычно API тестируется отдельно. Но можно тестировать и взаимодействие фронтенда с бекендом. Задача лишь сводится к тому, чтобы уметь писать тестируемый код.
Но для сложных сервисов все иначе. Решение делать REST API -- это же не дань моде. Это подход к решению задачи. Когда есть много клиентов и разумно делать для них одно API. REST API вы тоже можете технически авторизовать через cookie. Но принято делать это через токены.
Как тестировать? Есть разные виды тестов. Обычно API тестируется отдельно. Но можно тестировать и взаимодействие фронтенда с бекендом. Задача лишь сводится к тому, чтобы уметь писать тестируемый код.
Взаимодействие фронт-енда и бек-енда осуществляется по протоколу HTTP.
Протокол - это формат данных, передаваемых по сети.
С точки зрения разработчика, в браузерах есть XHR и Fetch для отправки HTTP-запросов
https://learn.javascript.ru/xmlhttprequest
https://learn.javascript.ru/fetch
А в любом сервере есть средства для их принятия.
В браузере все на HTTP-запросах. И странички, и JSON. Открываешь страничку в браузере - посылается GET HTTP-запрос, ответ в данном случае HTML.
Чтобы изучить тему конкретнее и нагляднее, можно поставить программу Fiddler для перехвата HTTP-трафика, включить в ней декодирование HTTPS и смотреть, как это устроено на реальных Web-сервисах, какие запросы отправляются и какие ответы, что в HTML, а что в JSON.
А чтобы на практике все это воспроизвести, можно просто поставить Node.js, сделать сервер на локалхосте и играться с ним в браузере.
Там все достаточно просто, полно гайдов в сети.
Протокол - это формат данных, передаваемых по сети.
С точки зрения разработчика, в браузерах есть XHR и Fetch для отправки HTTP-запросов
https://learn.javascript.ru/xmlhttprequest
https://learn.javascript.ru/fetch
А в любом сервере есть средства для их принятия.
В браузере все на HTTP-запросах. И странички, и JSON. Открываешь страничку в браузере - посылается GET HTTP-запрос, ответ в данном случае HTML.
Чтобы изучить тему конкретнее и нагляднее, можно поставить программу Fiddler для перехвата HTTP-трафика, включить в ней декодирование HTTPS и смотреть, как это устроено на реальных Web-сервисах, какие запросы отправляются и какие ответы, что в HTML, а что в JSON.
А чтобы на практике все это воспроизвести, можно просто поставить Node.js, сделать сервер на локалхосте и играться с ним в браузере.
Там все достаточно просто, полно гайдов в сети.
Сергей Чернышов
После токс ответов хочется в ноги покланяться за разверный ответ)) Спасибо!
Вот этим и отличаются профессионалы от любителей. Любители не знают элементарных основ, но лезут в серьёзные проекты.
Сергей Чернышов
я что, назвал себя профессионалом или полез в серьезный проект?
Влом читать пустопорожний бред.
Сергей Чернышов
рус комьюнити токс, не раз убеждаюсь
Похожие вопросы
- Фронтэнд разработчики придумывают и делают сами дизайн, или им начальники говорят че куда ставить?
- Много вопросов по веб-дизайну
- какие вопросы к "сайт строителю". просит 15тр за создание сайта, без раскрутки.
- Здравствуйте. У меня такой вопрос по поводу Landing Page.
- Как избавиться от вечно вылезающей рекламы в браузере Opera? (ЧИТАТЬ ПОЯСНЕНИЯ К ВОПРОСУ ВНИ-МА-ТЕЛЬ-НО!!!)
- Вопрос Сколько стоит работа, что бы нарисовать дизайн ? (Подробности в нутри)
- Ребят, помогите ответить на вопросы, пожалуйста. Очень срочно!
- Вопрос по векторной графике только для мастеров и опытных дизайнеров. См. внутри
- Вопрос к программистам и дизайнерам
- Вопрос про один файлик на windows