Независимо от того, в какой роли вы хотите работать, фронтенд-разработчиком или бэкэнд-разработчиком, концепция Интернета всегда является фундаментальной, и это то, что вы не можете пропустить. Итак, приступим к ответам на эти вопросы.

На этой странице я не буду подробно отвечать на эти вопросы, поскольку каждый вопрос действительно может привести к другим вопросам. Если у меня будет время, я обязательно напишу еще одну страницу по отдельному вопросу подробно.

Что такое Интернет?

Прежде чем понять, как работает Интернет, давайте сначала разберемся с концепцией Интернета.

Интернет — это сеть из сотен и тысяч сетей.

Сеть – это взаимосвязь вычислительных устройств, включая маршрутизаторы и коммутаторы. Они связаны между собой проводами или беспроводной связью.

Как работает Интернет?

Весь Интернет работает, отправляя пакеты данных для передачи информации с использованием различных протоколов (например, TCP, UDP и т. д.).

Что такое протокол?

Протокол — это набор правил, определяющих:

  1. форматы пакетов данных,
  2. порядок отправки и получения сообщений между устройствами,
  3. действия, предпринятые при передаче сообщения

Существует множество типов сетевых протоколов. Наиболее распространенными протоколами являются TCP, UDP, HTTP, DNS, FTP, SMTP и т. д.

Что такое HTTP?

HTTP (протокол передачи гипертекста) — это прикладной протокол. По умолчанию номер порта HTTP-сервера равен 80.

Веб-страница состоит из базового HTML-файла с множеством объектов (например, изображений, аудиофайлов и т. д.). Каждый объект адресуется по URL-адресу.

HTTP следует модели клиент/сервер. Клиент (браузер) отправляет серверу запросы на веб-контент, а веб-сервер отправляет объекты обратно клиенту в ответ на запросы.

Браузеры и как они работают?

Браузер — это именно тот клиент, о котором я рассказал в предыдущем разделе HTTP. Это инструмент, который доставит вас в любое место в Интернете, позволяя вам видеть что угодно (например, текст, изображения, видео) по всему миру.

Короче говоря, он отправляет запросы на веб-сервер, извлекает информацию из ответов и показывает ее на вашем рабочем столе или телефоне.

На самом деле браузер использует TCP для установления соединения для отправки запросов и получения ответов. Вот подробный процесс работы браузера:

  1. браузер инициирует TCP-соединение через порт 80 веб-сервера
  2. веб-сервер принимает TCP-соединение от браузера
  3. браузер отправляет запросы, а веб-сервер отправляет ответ для обмена HTTP-сообщениями
  4. TCP-соединение закрыто

Что такое доменное имя?

Имя домена — это название веб-сайта. Поскольку человеку трудно запомнить IP-адреса (строки длинных чисел), поэтому были разработаны доменные имена, и каждое доменное имя связано с одним или несколькими IP-адресами. Это помогает нам легко находить и получать доступ к серверам в Интернете.

Аналогия: это похоже на то, как имя человека связано с его телефонным номером.

DNS и как это работает?

DNS (система доменных имен) — это протокол прикладного уровня, предоставляющий службу сопоставления имен и адресов. Это правило для компьютерных устройств (хост, маршрутизаторы, серверы имен) для связи и разрешения IP-адресов из доменных имен.

DNS — это распределенная база данных, реализованная в иерархии множества серверов имен. DNS-серверы можно разделить на корневые серверы имен, серверы доменов верхнего уровня (TLD) и авторитетные серверы.

Возьмем в качестве примера www.google.com. Вот как работает DNS:

  1. клиент запрашивает корневой сервер имен, чтобы узнать, где находится DNS-сервер com (TLD-сервер).
  2. клиент запрашивает DNS-сервер com, чтобы получить DNS-сервер google.com (авторитетный сервер)
  3. клиент запрашивает DNS-сервер google.com, чтобы получить IP-адрес www.google.com.

Что такое хостинг?

Веб-хостинг – это услуга для всех, включая частных лиц и организации, позволяющая разместить веб-страницу на веб-сервере для доступа других лиц. Это как дом, где находится ваш сайт, и все сайты в Интернете нуждаются в веб-хостинге.

Поставщики услуг веб-хостинга — это компании, которые предоставляют вам серверы для размещения веб-сайта. Некоторые из них бесплатны, а некоторые платные. Для статических веб-сайтов существуют сотни и тысячи вариантов веб-хостинга. Например, S3 от AWS (Amazon Web Services), Github Pages, Netlify. Лично мне нравится использовать Netlify для моего личного веб-сайта, поскольку его можно связать с веб-сайтами хостинга репо, такими как Github и Gitlab, и мой веб-сайт может обновляться автоматически каждый раз, когда я нажимаю коммит.

Чтобы узнать больше о моем пути обучения бэкэнду, ознакомьтесь с моим путешествием здесь: