- HTML, CSS, JavaScript
- Интернет
- представляет собой сеть сетей компьютеров или серверов, которые общаются друг с другом, отправляя и получая данные.
- на стороне сервера: работает на сервере или в облачных сервисах
- на стороне клиента: работает на собственных устройствах пользователей
- первоначальный «интернет» был создан в 1969 году и назывался ARPANET, который соединял компьютеры между различными учреждениями.
- сегодня гораздо больше кабелей и серверного оборудования соединяют все компьютеры в Интернете.
- маршрутизаторы — это специализированные компьютеры с ЦП и памятью, которые направляют или ретранслируют данные из одной точки в другую. дома или в кампусе у нас могут быть маршрутизаторы, которые принимают данные и отправляют их.
- у маршрутизатора может быть несколько вариантов того, в каком направлении отправлять некоторые данные, и существуют алгоритмы, которые пытаются определить это направление.
- протоколы – это набор правил или соглашений, таких как физическое рукопожатие для людей, которые мир согласовал для компьютеров для связи.
- TCP: протокол управления передачей
- IP: интернет-протокол
- TCP/IP — это два протокола для передачи данных между двумя компьютерами. в реальном мире мы могли бы написать адрес на конверте, чтобы отправить кому-то письмо, вместе с нашим собственным адресом для письма в ответ.
- IP – это протокол, который включает стандартный способ обращения компьютеров друг к другу. IP-адреса – это уникальные адреса компьютеров, подключенных к Интернету, поэтому пакет, отправленный с одного компьютера на другой, будет проходить по маршрутизаторам, пока не достигнет пункта назначения.
- IP-адрес может иметь формат #.#.#.#, где каждое число может иметь значение от 0 до 255. Каждое число будет размером в один байт, поэтому весь адрес будет 4 байта или 32 бита. это означает, что эта версия IP, версия 4, может поддерживать не более 4 миллиардов адресов. другая версия IP, версия 6, использует 128 бит для поддержки гораздо большего числа возможных адресов.
- TCP — это протокол для отправки и получения данных. TCP позволяет одному серверу с одним и тем же IP-адресом предоставлять несколько услуг за счет использования номера порта, небольшого целого числа, добавляемого к IP-адресу. например, HTTP отправляется на порт номер 80, а HTTPS использует порт номер 443.
- TCP также позволяет отправлять большие объемы данных, например изображения, небольшими порциями. каждый из них может быть помечен порядковым номером, например, «часть 1 из 4» или «часть 2 из 4». и если один порт потерян, получатель может снова запросить недостающую часть.
- UDP — это еще один протокол для отправки данных, который не гарантирует доставку, как TCP, который может быть полезен для потоковой передачи видео или звонков в реальном времени, поскольку мы не хотим ждать повторной доставки всех пакетов до того, как получаем новые.
- DNS, система доменных имен, — это еще одна технология, которая преобразует доменные имена, такие как cs50.harvard.edu.tr, в IP-адреса. DNS обычно предоставляется соседним сервером с большой таблицей в памяти доменных имен и IP-адресов.
- паутина
- Интернет с маршрутизаторами, IP, TCP и DNS похож на водопровод, который позволяет нам отправлять данные с одного компьютера на другой. Интернет — это одно приложение, созданное поверх Интернета.
- HTTP, протокол передачи гипертекста, стандартизирует взаимодействие веб-браузеров и веб-серверов в пакетах TCP/IP.
- HTTPS — это безопасная версия HTTP, обеспечивающая шифрование содержимого пакетов между браузером и сервером.
- URL-адрес или веб-адрес может выглядеть так:
- https://www.example.com/
- https://используемый протокол
- / в конце — это запрос файла по умолчанию. он также может заканчиваться чем-то вроде /file.html для определенного файла.
- example.com — это доменное имя, а другие, такие как .edu или .io, указывают, какой тип веб-сайта может быть там размещен.
- www – это имя хоста или субдомен, который ссылается на один или несколько определенных серверов в доменном имени. имя домена может включать веб-серверы для почты, поэтому каждый субдомен может указывать на них отдельно.
- вместе www.example.com — это полное доменное имя или имя, имеющее определенный набор адресов.
- две команды, поддерживаемые HTTP, включают GET и POST. GET позволяет браузеру запрашивать страницу или файл в URL-адресе, а POST позволяет браузеру отправлять на сервер дополнительные данные, которые скрыты от URL-адреса. оба этих запроса являются запросами, которые мы можем отправить серверу, который предоставит взамен ответ.
- запрос GET начнется с:
- ПОЛУЧИТЬ / HTTP/1.1
- Хост: www.example.com
- …
- GET указывает, что запрос относится к какому-то файлу, а / указывает файл по умолчанию.
- существуют разные версии протокола HTTP. поэтому HTTP/1.1 указывает, что браузер использует версию 1.1.
- Хост: www.example.com указывает, что запрос относится к www.example.com, поскольку на одном и том же веб-сервере может размещаться несколько веб-сайтов и доменов.
- ответ на успешный запрос будет начинаться с:
- HTTP/1.1 200 ОК
- Тип контента: text/html
- …
- веб-сервер ответит версией HTTP, за которой следует статус, который здесь 200 OK, что указывает на то, что запрос был действительным.
- затем веб-сервер указывает тип контента в своем ответе, который может быть текстом, изображением или другим форматом.
- наконец, остальная часть пакета или пакетов будет включать содержимое.
- ключи и значения, такие как:
- Хост: www.example.com и
- Тип контента: text/html
- известны как заголовки HTTP
- местоположение:заголовок для перенаправления браузером
- в терминале VS Code мы также можем использовать командную строку, curl, чтобы увидеть заголовки ответа на запрос.
- Код состояния HTTP:
- 200 OK
- 301 перемещен навсегда
- 302 найдено
- 304не изменено
- 307временная переадресация
- 401 неавторизованный
- 403запрещено
- 404 не найдено
- *418Я чайник (первоапрельская шутка много лет назад)
- 500внутренняя ошибка сервера
- 503служба недоступна
- HTML
- Язык гипертекстовой разметки
- не является языком программирования, а скорее используется для форматирования веб-страниц и указания браузеру, как их отображать.
- пара ключ-значение: элемент данных идентифицируется произвольным именем. ключ — это имя, а значение — это содержимое.
- простая страница в HTML может выглядеть так:
- ‹!DOCTYPE html›
- ‹html lang="ru"›
- ‹голова›
- ‹название›
- привет, заголовок
- ‹название›
- ‹голова›
- ‹тело›
- привет, тело
- ‹тело›
- ‹/html›
- ‹!DOCTYPE html› — это заявление о том, что страница соответствует стандарту HTML.
- слова в скобках, такие как ‹html› и ‹/html›, являются тегами.
- первый — это начальный или открытый тег, а второй — закрывающий тег.
- начальный тег здесь также имеет атрибут , lang="en"
- обратите внимание, что атрибуты представляют собой пары ключ-значение.
- мы можем использовать валидатор (w3.org), чтобы проверить правильность нашего HTML.
- Тег ‹p› указывает, что каждый раздел текста должен быть абзацем.
- мы можем добавлять заголовки с такими тегами, как ‹h1›, ‹h2›… каждый уровень заголовка имеет разный размер, и мы можем использовать до шести уровней заголовков с ‹h6›
- ‹ul› , чтобы создать неупорядоченный список , например маркеры.
- ‹ol› , для упорядоченного списка.
- тег ‹таблица›
- ‹tr› теги как строки
- Теги ‹td› для отдельных ячеек.
- image.html, ‹img› , alt, чтобы добавить альтернативный текст для доступности.
- видео.html
- link1.html, с помощью ‹a› мы можем создавать ссылки или теги привязки.
- hrefатрибут предназначен для гипертекстовой ссылки или просто того, куда нас должна вести ссылка, а внутри тега находится текст, который должен отображаться как ссылка.
- фишинг – это обман пользователей, форма социальной инженерии, включающая вводящие в заблуждение ссылки.
- в responsive.html мы можем добавить атрибуты, чтобы сделать нашу страницу адаптивной или автоматически адаптировать ее для разных размеров экрана.
- мы также можем предоставить входные данные в запросе как часть URL-адреса, например
- https://www.example.com/path?key=values
- здесь ? указывает, что мы добавляем входные данные, которые будут включать одну или несколько пар "ключ-значение".
- если мы ищем что-то в Google, мы увидим, что URL-адрес меняется на
- https://www.google.com/search?q=cats&...
- здесь ключ q для запроса имеет значение cats вместе с другими ключами и значениями.
- CSS
- каскадные таблицы стилей
- ‹style› сообщает браузеру, как отображать теги на странице.
- CSS использует свойства или пары ключ-значение, такие как размер шрифта: большой.
- чтобы отделить CSS от HTML, мы можем включить стили в тег ‹head›.
- мы можем использовать CSS селектор типа для стилизации каждого типа тега
- мы также можем использовать более конкретный селектор класса.
- мы можем определить собственный класс CSS с помощью . за которым следует выбранное нами ключевое слово.
- .centered
- .большой
- .средний
- .маленький
- затем к любому количеству тегов в HTML-коде нашей страницы мы можем добавить один или несколько таких классов с атрибутом class.
- мы можем взять весь CSS для свойств и переместить их в другой файл с
- ‹ссылка›тег
- у нас есть повторно используемый файл CSS
- В CSS также есть селекторы идентификаторов. инструмент разработчика Chrome, вкладка элементы.
- мы можем щелкнуть элемент в HTML на этой панели и изменить стиль нашей страницы в нашем браузере. мы можем навести указатель мыши на свойства CSS с правой стороны и снять или изменить их. это не изменит копию нашего браузера, поэтому мы можем поэкспериментировать.
- мы также можем щелкнуть правой кнопкой мыши все, что отображается на странице, и нажать «проверить элемент», чтобы увидеть его выделенным на панели для нас, где мы можем быстро внести дополнительные изменения или узнать, как другие страницы реализуют функции.
- с CSS мы также будем полагаться на ссылки и другие ресурсы, чтобы узнать, как использовать свойства по мере необходимости.
- набор соглашений CSS и общих стилей известен как фреймворк с классами и компонентами, которые мы можем быстро использовать.
- одной из популярных сред является bootstrap с такими компонентами, как оповещения, которые мы можем использовать с HTML.
- даже с помощью фреймворка мы все равно можем написать свои собственные стили CSS, чтобы изменить все, что захотим.
- JavaScript
- код по-прежнему будет поступать с наших веб-серверов, но он будет выполняться браузером пользователя.
- синтаксис JavaScript аналогичен синтаксису C и Python для основных конструкций.
- пусть счетчик = 0
- счетчик++
- if (x<y)
- {
- }
- пока (правда)
- {
- }
- в JS мы используем let для объявления переменных без указания типов.
- с JS мы можем изменять HTML в браузере в режиме реального времени. мы можем использовать теги ‹scripts› для непосредственного включения нашего кода из файла .js.
- onsubmit, чтобы вызвать функцию, которую мы определили в JS, и использовать return false, чтобы предотвратить фактическую отправку формы где бы то ни было.
- document – это глобальная переменная, поставляемая с JS в браузере, а querySelector – это функция, которую мы можем использовать для выбора узла в модели DOM, объектной модели документа или дереве. структура HTML-страницы. после того, как мы выберем элемент с именем ID, мы получим текст value внутри ввода и добавим его в наше оповещение.
- мы можем переместить нашу функцию в нижнюю часть ‹body› страницы, так как мы хотим, чтобы остальная часть страницы загружалась первой.
- мы также можем использовать анонимные функции в JS. мы можем передать функцию без имени с синтаксисом function(), и оказывается, что обработчики событий в JS получают переменную события, e, по соглашению, что мы можем использовать внутри нашей функции.
- мы можем реализовать форму с автозаполнением, используя словарь слов и прослушиватель событий для события keyup.
Evernote ссылка