Рубрики
Uncategorized

Завершение собеседования по PHP – организация знаний протокола HTTP

Автор оригинала: David Wong.

Расположение Точек знаний протокола HTTP

Во-первых, рабочие характеристики и принципы работы протокола HTTP.

Рабочие характеристики

  • На основе модели B/S
  • Накладные расходы на связь невелики, просты и быстры, а стоимость передачи данных невелика.
  • Использование гибкого и Тестируемого протокола передачи гипертекста
  • Экономьте время передачи
  • Без гражданства

Принцип работы

Клиент отправляет запрос на сервер, создает TCP-ссылку, указывает номер порта, по умолчанию 80, подключается к серверу, и сервер прослушивает запрос браузера. Как только запрос клиента будет услышан и тип запроса проанализирован, сервер вернет клиенту информацию о состоянии и содержимое данных.

2. Метод запроса протокола HTTP

1. ПОЛУЧИТЬ: Доступ к ресурсам

Метод GET используется для запроса доступа к ресурсам, идентифицируемым URI. Указанный ресурс анализируется на стороне сервера, и возвращается содержимое ответа.

2. ПОСТ: Орган Транспортного предприятия

Метод POST используется для передачи основного тела объекта. Хотя метод GET также может использоваться для передачи основного тела сущности, обычно он используется не для передачи метода GET, а для метода POST. Хотя функции POST аналогичны функциям GET, основная цель POST не в том, чтобы получить основное содержание ответа.

3. КЛАСТЬ: Передача файлов

Метод PUT используется для передачи файлов. Как и при загрузке файла FTP, для этого требуется, чтобы содержимое файла было включено в текст сообщения запроса, а затем сохранено в месте, указанном URI запроса. Однако, поскольку сам метод HTTP/1.1 PUT не имеет механизма аутентификации, любой может загружать файлы, возникают проблемы с безопасностью, поэтому общий веб-сайт не использует этот метод. Если мы сотрудничаем с механизмом проверки веб-приложения или если дизайн архитектуры использует стандарт REST (Передача репрезентативного состояния) для аналогичных веб-сайтов, мы можем открыть использование метода PUT.

4. ГОЛОВА: Получите заголовок сообщения

Метод HEAD, как и метод GET, не возвращает текст сообщения. Используется для подтверждения действительности URI, а также даты и времени обновлений ресурсов.

5. УДАЛИТЬ: Удаление файлов

Метод УДАЛЕНИЯ используется для удаления файлов, что противоположно методу PUT. Метод УДАЛЕНИЯ удаляет указанный ресурс в соответствии с URI запроса. Однако метод УДАЛЕНИЯ HTTP/1.1 не имеет механизма проверки, как и сам метод PUT, поэтому метод УДАЛЕНИЯ не используется на обычных веб-сайтах. По-прежнему можно использовать его открыто, когда он работает с механизмом проверки веб-приложений или когда он соответствует стандартам REST.

6. ОПЦИИ: Способ попросить о поддержке

Метод OPTIONS используется для запроса метода поддержки ресурсов, указанного для URI запроса.

7. СЛЕД: Путь отслеживания

Метод ТРАССИРОВКИ заключается в том, чтобы позволить веб-серверу вернуть клиенту предыдущий цикл связи с запросом. При отправке запроса введите значение в поле заголовка Max-Forwards и вычитайте число на 1 каждый раз, когда оно проходит через сервер. Когда значение просто падает до 0, передача прекращается, и сервер, принимающий запрос, возвращает ответ с кодом состояния 200 OK. Клиенты могут запрашивать, как обрабатываются, изменяются или подделываются отправленные запросы методом трассировки. Это связано с тем, что запросы, которые хотят подключиться к исходному и целевому серверам, могут пересылаться через прокси-сервер, а метод ТРАССИРОВКИ используется для подтверждения ряда операций, которые выполняются в процессе подключения. Однако метод ТРАССИРОВКИ используется не очень часто, и его легко вызвать XST (Межсайтовая трассировка) атаки, часто еще менее используемые.

3. Общие коды состояния HTTP

Ответственность кода состояния заключается в описании возвращаемого результата запроса, когда клиент отправляет запрос на сервер. С помощью кодов состояния пользователи могут узнать, правильно ли сервер обработал запрос или произошла ошибка.

1. 1XX Информация (Код Статуса Информации, Обработка Полученного Запроса)

2. 2XX Успех

200 ОК

Означает, что запросы от клиента обычно обрабатываются на стороне сервера.

204 Нет Контента

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

206 Частичное Содержание

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

3. Перенаправление 3XX

301 Переехал Навсегда

Постоянное перенаправление. Этот код состояния указывает, что запрошенному ресурсу был выделен новый URI, который следует использовать позже. То есть, если URI, соответствующий ресурсу, был сохранен в качестве закладки, его следует повторно сохранить в соответствии с URI, запрошенным полем заголовка местоположения.

302 Временно переехать

Временное перенаправление. Код состояния указывает, что запрошенному ресурсу был выделен новый URI, и ожидается, что пользователь (на этот раз) будет использовать новый URI для доступа к нему. Подобно 301 Постоянно перемещенным кодам состояния, 302 кода состояния представляют ресурсы, которые перемещены не постоянно, а временно. Другими словами, URI, соответствующий перемещенным ресурсам, может измениться в будущем. Например, пользователь сохраняет URI в качестве закладки, но не обновляет закладку при появлении кода состояния 301, но все равно сохраняет URI, соответствующий странице, которая возвращает код состояния 302.

304 Не Модифицированный

Этот код состояния указывает, что когда клиент отправляет условный запрос, сервер разрешает запросу доступ к ресурсу, в то время как содержимое документа (с момента последнего доступа или в соответствии с условием запроса) не изменилось.

4. 4XX Ошибка клиента

400 Неправильный Запрос

Этот код состояния указывает на синтаксическую ошибку в сообщении запроса. При возникновении ошибки запрос необходимо изменить и отправить снова.

401 Неавторизованный

Код состояния указывает, что отправленный запрос нуждается в информации для аутентификации посредством HTTP-аутентификации (БАЗОВАЯ аутентификация, ДАЙДЖЕСТ-аутентификация). Кроме того, если был сделан предыдущий запрос, проверка подлинности пользователя завершится неудачей. Возвращаемый ответ, содержащий 401, должен содержать заголовок WWW-Аутентификации для запрошенного ресурса, чтобы оспорить информацию о пользователе. Когда браузер впервые получает 401 ответ, появляется диалоговое окно для аутентификации.

403 Запрещенный

Этот код состояния указывает, что сервер отказал в доступе к запрошенному ресурсу. Неспособность получить разрешение на доступ к файловой системе, некоторые проблемы с правами доступа (попытки доступа к IP-адресу неавторизованного отправителя) и т. Д. Могут быть причиной 403.

404 не найдено

Код состояния указывает, что запрошенный ресурс не может быть найден на сервере.

405 Метод Не Разрешен

Указывает, что метод HTTP, используемый текущим запросом, не разрешен сервером. Например, использование метода GET для запроса данных, для которых требуется метод POST.

5. Ошибка сервера 5XX

500 Внутренняя Ошибка Сервера

Код состояния указывает на то, что сервер допустил ошибку при выполнении запроса. Это может быть ошибка в веб – приложении или какой-то временный сбой.

502 плохой шлюз

Код состояния указывает на ошибку в связи между сервером и шлюзом/прокси-сервером.

503 Услуга Недоступна

Этот код состояния указывает на то, что сервер временно перегружен или проходит техническое обслуживание во время простоя и не может обрабатывать запросы.

504 Время ожидания шлюза время ожидания шлюза

Код состояния указывает, что сервер действует как шлюз или прокси-сервер, но вовремя не получает запросы от вышестоящего сервера.

4. Общие заголовки запросов и ответов протокола HTTP

1. Универсальное поле заголовка HTTP/1.1

Поле общего заголовка относится к заголовку, используемому как в сообщении запроса, так и в сообщении ответа.

Механизм Работы Кэша Настройки Управления Кэшем

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

Контроль кэша: частный,, без кэша

  • Инструкция по запросу кэша
Принудительная повторная проверка на исходном сервере ничего без кэша
Содержимое запросов или ответов не кэшируется ничего нет-магазин
Максимальное возрастное значение ответа существенный Максимальный возраст = [секунды]
Получение ответов с истекшим сроком действия Упущение Макс.-несвежий (= [секунды])
Ожидаемый ответ все еще действителен в течение указанного времени существенный Мин-свежесть= [секунды]
Прокси-сервер не может изменить тип носителя ничего нет-преобразование
Получение ресурсов из кэшей ничего только-если-кэшируется
Знак расширение кэша
  • Инструкция по ответу кэша
Кэш, который предоставляет ответ любой стороне ничего общественный
Возвращайте ответы только определенным пользователям Упущение частный
Действительность должна быть подтверждена до отлова Упущение без кэша
Содержимое запросов или ответов не кэшируется ничего нет-магазин
Прокси-сервер не может изменить тип носителя ничего нет-преобразование
Кэшируется, но должен быть подтвержден на исходном сервере ничего необходимо провести повторную проверку
Требуйте, чтобы промежуточный сервер кэша подтвердил правильность ответа кэша ничего прокси-повторная проверка
Максимальное возрастное значение ответа существенный Максимальный возраст = [секунды]
Максимальное значение возраста ответа сервера общего кэша существенный S-максимальное значение = [секунды]
Знак расширение кэша

Соединение

Поле заголовка подключения выполняет следующие две функции.

  • Управление больше не перенаправляется в первое поле прокси-сервера
  • Управление постоянными подключениями

    Подключение: сохранить в живых Подключение: Обновление

Дата создает дату и время HTTP-сообщения.

Date: Tue, 03 Jul 2012 04:40:59 GMT
Date: Tue, 03-Jul-12 04:40:59 GMT
Date: Tue Jul 03 04:40:59 2012
Тип содержимого задает тип MIME отправителя запроса или соответствующего органа
Content-Type: application/x-www-form-urlencoded
Content-Type: text/html; charset=utf-8

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

Content-Encoding: gzip

Длина байта Содержимого-Длина Тела запроса или ответа

Content-Length: 348

2. Общие поля заголовка запроса

Хост задает доменное имя сервера и номер TCP-порта. Если используется стандартный номер порта запроса на обслуживание, номер порта можно опустить.

Host: en.wikipedia.org:8080
Host: en.wikipedia.org

Принять задает принятый тип контента

Accept: text/plain

Принять-Кодировка устанавливает принятую кодировку символов.

Accept-Charset: utf-8

Принять-Кодирование задает принятый формат кодирования.

Accept-Encoding: gzip, deflate

Источник идентифицирует междоменные запросы ресурсов (сервер запросов устанавливает поля ответа “Управление доступом-Разрешение источника”)

Origin: http://www.example-social-network.com

Строковое значение агента пользователя-агент пользователя

User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20100101 Firefox/21.0

Сервер настройки файлов cookie отправляет HTTP-файлы cookie с помощью Set-Cookie

Cookie: $Version=1; Skin=new;

Авторизация устанавливает учетные данные для проверки подлинности HTTP

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

Реферер сообщает серверу URI исходного ресурса запрошенный

Referer: http://en.wikipedia.org/wiki/Main_Page

Исходный IP-адрес веб-сервера, подключенного клиентом X-Forwarded-For через HTTP-прокси или балансировщик нагрузки

X-Forwarded-For: client1, proxy1, proxy2
X-Forwarded-For: 129.78.138.66, 129.78.64.103

Прямой клиент подключает исходную информацию веб-службы через HTTP-прокси

Forwarded: for=192.0.2.60;proto=http;by=203.0.113.43
Forwarded: for=192.0.2.43, for=198.51.100.17

3. Поля Заголовка Общего Ответа

Разрешить уведомляет клиента о методе HTTP, поддерживаемом запросом

Allow: GET, HEAD

Управление доступом-Разрешение-Источник указывает, какие сайты могут участвовать в совместном использовании ресурсов между сайтами

Access-Control-Allow-Origin: *

Истекает устанавливает время истечения срока действия ответчика

Expires: Thu, 01 Dec 1994 16:00:00 GMT

Последнее изменение Задает Дату последнего изменения объекта запроса

Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT

Количество секунд, в течение которых объект Age временно хранится в кэше прокси-сервера

Age: 3600

Идентификатор специфичной для ETag версии ресурса, обычно дайджест сообщения

ETag: "737060cd8c284d8af7ad3082f209582d"

Перенаправление обновления

Refresh: 5; url=http://www.w3.org/pub/WWW/People.html

Set-Настройка файлов cookie HTTP-Cookie

Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1

Оригинал: “https://developpaper.com/finishing-php-interview-http-protocol-knowledge-arrangement/”