Независимо от того, в какой роли вы хотите работать, фронтенд-разработчиком или бэкэнд-разработчиком, концепция Интернета всегда является фундаментальной, и это то, что вы не можете пропустить. Итак, приступим к ответам на эти вопросы.
На этой странице я не буду подробно отвечать на эти вопросы, поскольку каждый вопрос действительно может привести к другим вопросам. Если у меня будет время, я обязательно напишу еще одну страницу по отдельному вопросу подробно.
Что такое Интернет?
Прежде чем понять, как работает Интернет, давайте сначала разберемся с концепцией Интернета.
Интернет — это сеть из сотен и тысяч сетей.
Сеть – это взаимосвязь вычислительных устройств, включая маршрутизаторы и коммутаторы. Они связаны между собой проводами или беспроводной связью.
Как работает Интернет?
Весь Интернет работает, отправляя пакеты данных для передачи информации с использованием различных протоколов (например, TCP, UDP и т. д.).
Что такое протокол?
Протокол — это набор правил, определяющих:
- форматы пакетов данных,
- порядок отправки и получения сообщений между устройствами,
- действия, предпринятые при передаче сообщения
Существует множество типов сетевых протоколов. Наиболее распространенными протоколами являются TCP, UDP, HTTP, DNS, FTP, SMTP и т. д.
Что такое HTTP?
HTTP (протокол передачи гипертекста) — это прикладной протокол. По умолчанию номер порта HTTP-сервера равен 80.
Веб-страница состоит из базового HTML-файла с множеством объектов (например, изображений, аудиофайлов и т. д.). Каждый объект адресуется по URL-адресу.
HTTP следует модели клиент/сервер. Клиент (браузер) отправляет серверу запросы на веб-контент, а веб-сервер отправляет объекты обратно клиенту в ответ на запросы.
Браузеры и как они работают?
Браузер — это именно тот клиент, о котором я рассказал в предыдущем разделе HTTP. Это инструмент, который доставит вас в любое место в Интернете, позволяя вам видеть что угодно (например, текст, изображения, видео) по всему миру.
Короче говоря, он отправляет запросы на веб-сервер, извлекает информацию из ответов и показывает ее на вашем рабочем столе или телефоне.
На самом деле браузер использует TCP для установления соединения для отправки запросов и получения ответов. Вот подробный процесс работы браузера:
- браузер инициирует TCP-соединение через порт 80 веб-сервера
- веб-сервер принимает TCP-соединение от браузера
- браузер отправляет запросы, а веб-сервер отправляет ответ для обмена HTTP-сообщениями
- TCP-соединение закрыто
Что такое доменное имя?
Имя домена — это название веб-сайта. Поскольку человеку трудно запомнить IP-адреса (строки длинных чисел), поэтому были разработаны доменные имена, и каждое доменное имя связано с одним или несколькими IP-адресами. Это помогает нам легко находить и получать доступ к серверам в Интернете.
Аналогия: это похоже на то, как имя человека связано с его телефонным номером.
DNS и как это работает?
DNS (система доменных имен) — это протокол прикладного уровня, предоставляющий службу сопоставления имен и адресов. Это правило для компьютерных устройств (хост, маршрутизаторы, серверы имен) для связи и разрешения IP-адресов из доменных имен.
DNS — это распределенная база данных, реализованная в иерархии множества серверов имен. DNS-серверы можно разделить на корневые серверы имен, серверы доменов верхнего уровня (TLD) и авторитетные серверы.
Возьмем в качестве примера www.google.com. Вот как работает DNS:
- клиент запрашивает корневой сервер имен, чтобы узнать, где находится DNS-сервер com (TLD-сервер).
- клиент запрашивает DNS-сервер com, чтобы получить DNS-сервер google.com (авторитетный сервер)
- клиент запрашивает DNS-сервер google.com, чтобы получить IP-адрес www.google.com.
Что такое хостинг?
Веб-хостинг – это услуга для всех, включая частных лиц и организации, позволяющая разместить веб-страницу на веб-сервере для доступа других лиц. Это как дом, где находится ваш сайт, и все сайты в Интернете нуждаются в веб-хостинге.
Поставщики услуг веб-хостинга — это компании, которые предоставляют вам серверы для размещения веб-сайта. Некоторые из них бесплатны, а некоторые платные. Для статических веб-сайтов существуют сотни и тысячи вариантов веб-хостинга. Например, S3 от AWS (Amazon Web Services), Github Pages, Netlify. Лично мне нравится использовать Netlify для моего личного веб-сайта, поскольку его можно связать с веб-сайтами хостинга репо, такими как Github и Gitlab, и мой веб-сайт может обновляться автоматически каждый раз, когда я нажимаю коммит.
Чтобы узнать больше о моем пути обучения бэкэнду, ознакомьтесь с моим путешествием здесь: