Основы интернета. Веб-сервер

Содержание

Слайд 4

Сервер

Сервер (от англ. server, обслуживающий)

(аппаратное обеспечение) — компьютер повышенной надёжности и производительности

Сервер Сервер (от англ. server, обслуживающий) (аппаратное обеспечение) — компьютер повышенной надёжности
для выполнения определённых задач

(сеть) — узел сети, принимающий и обрабатывающий запросы пользователей

(приложение) — приложение, принимающее запросы от клиентов (в архитектуре клиент-сервер)

Слайд 5

Сервер (аппаратное обеспечение)

Сервер (англ. server от to serve — служить) — аппаратное

Сервер (аппаратное обеспечение) Сервер (англ. server от to serve — служить) —
обеспечение, выделенное и/или специализированное для выполнения на нем сервисного программного обеспечения (в том числе серверов тех или иных задач). Основное предназначение серверов — предоставление ресурсов для рабочих станций (пользователей).

Слайд 6

Конструктивно аппаратные серверы могут исполняться
в настольном, напольном, стоечном потолочном вариантах.

Серверное оборудование

Конструктивно аппаратные серверы могут исполняться в настольном, напольном, стоечном потолочном вариантах. Серверное
комплектуется более надежными элементами:
памятью с повышенной устойчивостью к сбоям,
резервированием, в том числе:
блоков питания (в том числе с горячим подключением)
жестких дисков (RAID; в том числе с горячими подключением и заменой).
3) более продуманным охлаждением.

Серверы размещаются в так называемых серверных комнатах.
Управление серверами осуществляют системные администраторы.

Слайд 7

Сервер (сеть)

Сервер (сеть) — узел сети, принимающий и обрабатывающий запросы пользователей

Пользователь
Сервер
Данные

Сервер (сеть) Сервер (сеть) — узел сети, принимающий и обрабатывающий запросы пользователей
с сервера в браузере

Клиент-сервер (англ. Client-server) — сетевая архитектура, в которой устройства являются либо клиентами, либо серверами. Клиентом (front end) является запрашивающая машина (обычно ПК), сервером (back end) — машина, которая отвечает на запрос. Оба термина (клиент и сервер) могут применяться как к физическим устройствам, так и к программному обеспечению.
Сеть с выделенным сервером (англ. Сlient/Server network) — это локальная вычислительная сеть (LAN), в которой сетевые устройства централизованы и управляются одним или несколькими серверами. Индивидуальные рабочие станции или клиенты (такие, как ПК) должны обращаться к ресурсам сети через сервер(ы).

Слайд 8

Сервер (приложение)

Се́рвер (англ. server от англ. to serve — служить) — в

Сервер (приложение) Се́рвер (англ. server от англ. to serve — служить) —
информационных технологиях — программный компонент вычислительной системы, выполняющий сервисные функции по запросу клиента, предоставляя ему доступ к определённым ресурсам.

Слайд 9

Web сервера

Веб-сервер — это сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и

Web сервера Веб-сервер — это сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров,
выдающий им HTTP-ответы, обычно вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными. Веб-серверы — основа Всемирной паутины.
Веб-сервером называют как программное обеспечение, выполняющее функции веб-сервера, так и компьютер, на котором это программное обеспечение работает.
Клиенты получают доступ к веб-серверу по URL адресу нужной им веб-страницы или другого ресурса.

Слайд 10

nginx — свободный веб-сервер, разрабатываемый Игорем Сысоевым с 2002 года и пользующийся

nginx — свободный веб-сервер, разрабатываемый Игорем Сысоевым с 2002 года и пользующийся
большой популярностью на крупных сайтах
lighttpd — свободный веб-сервер.
Google Web Server — веб-сервер разработанный компанией Google.
Resin — свободный веб-сервер приложений.
Cherokee — свободный веб-сервер, управляемый только через web-интерфейс.
Rootage — веб-сервер, написанный на java.
THTTPD — простой, маленький, быстрый и безопасный веб-сервер.
Open Server — бесплатная программа с графическим интерфейсом использует множество исключительно свободного программного комплекса.
H2O — свободный быстрый веб-сервер, написанный на C.

На сегодня двумя наиболее распространёнными веб-серверами являются:

Apache — свободный веб-сервер, наиболее часто используется в Unix-подобных ОС

Microsoft IIS

IIS от компании Microsoft, распространяется с ОС семейства Windows NT

Слайд 11

Microsoft IIS

Microsoft IIS

Слайд 12

Взаимодействие сервера и
Клиента
Клиент: отправка запроса
Сервер:
- получение запроса
- обработка запроса + подготовка ответа
-

Взаимодействие сервера и Клиента Клиент: отправка запроса Сервер: - получение запроса -
отправка ответа
Клиент:получение ответа

Слайд 13

Web Браузер

Процесс работы:
Отправка запроса
Загрузка заголовков ответа
Загрузка HTML кода страницы
Построение DOM
Загрузка связанных ресурсов
Отображение
Исполнение

Web Браузер Процесс работы: Отправка запроса Загрузка заголовков ответа Загрузка HTML кода
JavaScript

Слайд 14

Web Браузер

Google Chrome
Mozilla Firefox
Opera
Microsoft Edge, Microsoft Internet Explorer
Apple Safari

Web Браузер Google Chrome Mozilla Firefox Opera Microsoft Edge, Microsoft Internet Explorer Apple Safari

Слайд 15

Программирование Web Сервера

PHP
База данных
SQL
Remote API / XML / Rest
HTML / CSS /

Программирование Web Сервера PHP База данных SQL Remote API / XML /
JavaScript

Слайд 17

Структура протокола

Стартовая строка
Заголовки
Тело сообщения

Структура протокола Стартовая строка Заголовки Тело сообщения

Слайд 18

Строка запроса выглядит так:
GET URI - для версии протокола 0.9.
Метод

Строка запроса выглядит так: GET URI - для версии протокола 0.9. Метод
URI HTTP/Версия - для остальных версий.
Метод - название запроса, одно слово заглавными буквами. В версии HTTP 0.9 использовался только метод GET, список запросов для версии 1.1 представлен ниже.
URI определяет путь к запрашиваемому документу.
Версия - пара разделённых точкой арабских цифр. Например: 1.0.
Ответ сервера имеет следующий формат:
HTTP/Версия КодСостояния Пояснение
Версия - пара разделённых точкой арабских цифр как в запросе.
КодСостояния - три арабские цифры. По коду статуса определяется дальнейшее содержимое сообщения и поведение клиента.
Пояснение - текстовое короткое пояснение к коду ответа для пользователя. Никак не влияет на сообщение и является необязательным.

Слайд 19

Структура протокола

Пример запроса:
GET /wiki/страница HTTP/1.1
Host: ru.wikipedia.org
User-Agent: Mozilla/5.0 (X11; U; Linux i686;
ru; rv:1.9b5)

Структура протокола Пример запроса: GET /wiki/страница HTTP/1.1 Host: ru.wikipedia.org User-Agent: Mozilla/5.0 (X11;
Gecko/2008050509 Firefox/3.0b5
Accept: text/html
Connection: close

Слайд 20

Структура протокола

Пример ответа:
HTTP/1.1 200 OK
Date: Wed, 11 Feb 2009 11:20:59 GMT
Last-Modified: Wed,

Структура протокола Пример ответа: HTTP/1.1 200 OK Date: Wed, 11 Feb 2009
11 Feb 2009 11:20:59 GMT
Content-Language: ru
Content-Type: text/html; charset=utf-8
Content-Length: 1234
Connection: close
(пустая строка)
(далее следует запрошенная страница в HTML)

Слайд 21

MIME Types

Content-Type: text/html
Content-Type: application/msword
Content-Type: image/jpg
Content-Type: application/zip

MIME Types Content-Type: text/html Content-Type: application/msword Content-Type: image/jpg Content-Type: application/zip

Слайд 22

Классы кодов состояния.
1xx Informational (Информационный)
В этот класс выделены коды, информирующие о

Классы кодов состояния. 1xx Informational (Информационный) В этот класс выделены коды, информирующие
процессе передачи. В HTTP/1.0 сообщения с такими кодами должны игнорироваться. В HTTP/1.1 клиент должен быть готов принять этот класс сообщений как обычный ответ, но ничего отправлять серверу не нужно. Сами сообщения от сервера содержат только стартовую строку ответа и, если требуется, несколько специфичных для ответа полей заголовка. Прокси-сервера подобные сообщения должны отправлять дальше от сервера к клиенту.
2xx Success (Успешно)
Сообщения данного класса информируют о случаях успешного принятия и обработки запроса клиента. В зависимости от статуса сервер может ещё передать заголовки и тело сообщения.
3xx Redirection (Перенаправление)
Коды класса 3xx сообщают клиенту что для успешного выполнения операции необходимо сделать другой запрос (как правило по другому URI). Из данного класса пять кодов 301, 302, 303, 305 и 307 относятся непосредственно к перенаправлениям (жарг. редирект). Адрес, по которому клиенту следует произвести запрос, сервер указывает в заголовке Location. При этом допускается использование фрагментов в целевом URI.
4xx Client Error (Ошибка клиента)
Класс кодов 4xx предназначен для указания ошибок со стороны клиента. При использовании всех методов, кроме HEAD, сервер должен вернуть в теле сообщения гипертекстовое пояснение для пользователя.
5xx Server Error (Ошибка сервера)
Коды 5xx выделены под случаи неудачного выполнения операции по вине сервера. Для всех ситуаций, кроме использования метода HEAD, сервер должен включать в тело сообщения объяснение, которое клиент отобразит пользователю.

Слайд 23

IDE

Eclipse
NetBeans
PHPStorm
Plain Text Editors
Vim

IDE Eclipse NetBeans PHPStorm Plain Text Editors Vim

Слайд 25

HTML (от англ. HyperText Markup Language — «язык разметки гипертекста») —
стандартный

HTML (от англ. HyperText Markup Language — «язык разметки гипертекста») — стандартный
язык разметки документов во Всемирной паутине.
Все веб-страницы создаются при помощи языка HTML (или XHTML).
Язык HTML интерпретируется браузером и отображается в виде документа, в удобной для человека форме.

HTML

HTML является приложением SGML (стандартного обобщённого языка разметки) и соответствует международному стандарту ISO 8879.

Тег – оформленная единица HTML-кода. Например, , , , и так далее. Теги бывают начальными (открывающими) и конечными (закрывающими, начинающимися со знака "/"). Например, вышеуказанным тегам соответствуют закрывающие теги , , , .
Элемент – понятие, введенное для удобства. Например, элемент HEAD состоит из двух тегов – открывающего и закрывающего . Следовательно, элемент – более емкое понятие, обозначающее пару тегов и участок документа между тегами, на который распространяется их влияние.

Слайд 26

HTML (HyperText Markup Language, язык разметки гипертекста)
HTML — это система верстки веб-страниц,

HTML (HyperText Markup Language, язык разметки гипертекста) HTML — это система верстки
которая определяет, какие элементы и как должны располагаться в документе. Чтобы показать, что мы имеем дело не с обычным текстовым документом, используется термин HTML-документ. Подобные документы открываются под управлением браузера.
HTML-документ
Обычный текстовый файл, который может содержать в себе текст, теги и стили. Изображения и другие объекты хранятся отдельно. Содержимое такого файла обычно называется HTML-код.

Слайд 33

Структура HTML документа


Начало документа.

Служебная информация.
( Название страницы, ее автор, ключевые слова,

Структура HTML документа Начало документа. Служебная информация. ( Название страницы, ее автор,
и т.д. )


Тело документа. ( Все, что видно на страничке - текст, рисунки, и т.д. )


Конец документа.

Слайд 68

HTML form:


атрибут required action задает URL страницы, которая будет обрабатывать данные

HTML form: атрибут required action задает URL страницы, которая будет обрабатывать данные
этой формы.
когда форма будет заполнена и отправлена, ее данные будут отправлены на адрес действия

CS380


form controls
HTML

Слайд 69

Form example

Элементы формы можно помещать в контейнер, например div

CS380



Let's

Form example Элементы формы можно помещать в контейнер, например div CS380 Let's
search Google:



HTML

First Paragraph

Слайд 70

Text fields:

input аттрибуты: disabled, maxlength, readonly, size, value
size задает ширину
maxlength ограничение

Text fields: input аттрибуты: disabled, maxlength, readonly, size, value size задает ширину
вводимых символов

NetID

Password
HTML

CS380

Слайд 71

Text boxes: HTML

CS380

Слайд 72

Radio buttons:

сгруппированы по имени атрибута (только один может быть проверен одновременно)
необходимо

Radio buttons: сгруппированы по имени атрибута (только один может быть проверен одновременно)
указать значение для каждого из них

Visa
MasterCard
American Express HTML

CS380

Слайд 73

Text labels:

Label связывает соседний текст с элементом управления, так что вы

Text labels: Label связывает соседний текст с элементом управления, так что вы
можете щелкнуть на текст, чтобы активировать элемент управления
может использоваться с флажками или переключателями
элемент label может оформлен при помощи CSS



HTML

CS380

Слайд 74

Drop down lists:

Drop down lists: , элемент option определяет выбор в select Frodo Bilbo Gandalf Galandriel HTML CS380



HTML

CS380

Имя файла: Основы-интернета.-Веб-сервер.pptx
Количество просмотров: 87
Количество скачиваний: 1