Что именно делают программисты на стороне сервера / сервера в мире веб-разработки? Думаю, я не совсем понимаю всю концепцию.
Я сделал макеты HTML / CSS и дизайн сайта и немного SQL с PHP (все еще улучшая свои навыки, для меня это скорее побочный проект). Я также сделал небольшое количество JavaScript / JQuery.
Но я не понимаю работу "бэкэнда", такую как языки сценариев (Rails / Python / etc) и тому подобное. Что именно вы «делаете» с ними?
Ответы:
Если вы использовали PHP, значит, вы работали на стороне сервера!
С точки зрения непрофессионала, код на стороне клиента запускается на вашем компьютере, в веб-браузере, а код на стороне сервера - на компьютере в Интернете, а результаты вычислений на стороне сервера затем отправляются через Интернет на ваш компьютер. браузер.
Когда вы писали код PHP, который выполнял операторы SQL, вызовы SQL выполнялись на удаленном компьютере (сервере), и этот результат - обычно в форме сгенерированного HTML - затем отправлялся через Интернет в браузер.
JavaScript, с другой стороны, запускается в вашем браузере. Так же и CSS.
Проверьте разницу между программированием на стороне клиента и на стороне сервера для получения дополнительной информации.
источник
Основная предпосылка:
Пользователь вводит свои данные, отправляет их через какую-то сеть, а затем сервер выполняет свои действия в соответствии с данными.
По сути, вы хотите, чтобы вся защита и проверка выполнялись на стороне сервера. С тонкостями, работающими на стороне клиента, такими как ненавязчивая проверка форм (вам все равно нужно проверять серверную часть, хотя!).
Большой вопрос: почему?
Пользователи могут изменять информацию на своем компьютере. В качестве примера посмотрите игровые тренеры, которые изменяют значения памяти, чтобы пользователи могли «взломать» игру. Если вы делаете основные вещи на своей машине, в своем физическом помещении, вы значительно снижаете шансы того, что кто-то вмешается в ваши проверки безопасности.
источник
Вы разрабатываете интерфейсные вещи, когда проектируете системы, которые взаимодействуют с клиентом ваших систем. Обратите внимание, что слово клиент довольно большое, но в основном означает, что вы работаете над интерфейсом, когда предоставляете интерфейс для внешнего мира.
Большинство веб-сайтов являются лишь интерфейсом, то есть они предоставляют информацию внешнему миру, и в большинстве случаев эта информация может храниться довольно просто в виде текста в файлах HTML.
Вы проектируете серверную часть, когда вам нужно предоставлять услуги и инкапсулировать функциональность, которую будет использовать ваш интерфейс. Это позволяет перенести часть рабочей нагрузки с клиента (интерфейсная часть) на сервер (фоновая часть). Вы будете делать это в тех случаях, когда вам нужно координировать информацию от разных клиентов, которые могут одновременно обращаться к вашей системе. Или если вам нужно использовать центральное хранилище данных для сопоставления динамических данных, или еще раз, если вам нужны определенные требования безопасности. Этот список ни в коем случае не является исчерпывающим, просто быстрые примеры.
Короче говоря, Front-end (клиент) представит информацию внешнему миру. Обычно это люди через какой-то графический интерфейс, либо HTML, либо иным образом.
Back-end предоставит средства для централизации сервисов, которые будут использоваться вашим клиентом. Использование серверной части не является обязательным и увеличивает сложность системы, но позволяет лучше управлять сложностью, присущей системе, которую вы пытаетесь построить.
Например, можно предоставить услугу, такую как вики, только через интерфейс, но у него будет много ограничений, которые при использовании интерфейса для хранения данных и его передачи интерфейсу будут разрешаться более естественным образом.
источник
Внешний интерфейс - это то, что запускается в браузере, а серверная часть, такая как PHP, запускается на сервере, хранит данные в базе данных и выполняет подобные вещи.
источник
По моему мнению, работа на стороне сервера (о которой уже упоминалось, это то, что выполняется на сервере, с которого осуществляется доступ к веб-сайту) - это то, что дает сайту реальную жизнь. Большая часть функциональности все еще может быть достигнута с использованием технологий на стороне клиента, но, на мой взгляд, это гораздо более сложный подход и гораздо менее безопасный, поскольку клиенты имеют доступ ко всему, что находится в коде на стороне клиента. PHP и ASP являются в некотором роде гибридными языками программирования, которые предназначены почти исключительно для предоставления содержимого веб-страницы браузеру после выполнения некоторых вычислительных операций. Когда вы начинаете работать с python, ruby, java или другими языками программирования, у вас появляется больше возможностей и возможностей, но немного больше работы для отправки полученной информации клиенту в конце процесса.
источник
У любого типичного веб-приложения / веб-сайта есть две стороны.
Лицевая сторона - какой элемент управления является пользовательским интерфейсом / макетом / цветами / шрифтами и т. Д.
Задняя сторона - обрабатывает манипуляции с данными в базе данных или манипулирует файлами, выполняет много логики, если это так, делает это, если не делает этого, и т. Д. Интегрируется с программным обеспечением веб-сервера, таким как Apache / IIS / etc, и сервером базы данных. программное обеспечение, такое как MySQL / PostreSQL / MS SQL Server.
Обратная сторона является гораздо более мощной, потому что она может делать очень много вещей, от создания файлов Excel, генерации отчетов, выполнения расчетов до получения данных с разных серверов.
Затем он подготавливает и отображает эти данные, как настроена передняя сторона.
Чтобы преуспеть в любом из них, это тяжелая работа, много практики, обучения и самодисциплины.
Если вы хотите быть лучшим, тренируйтесь и никогда не прекращайте учиться, и никогда не думайте, что знаете все ответы.
источник