Главная страница
Навигация по странице:

  • Основные методы

  • 3. exchange

  • 5. headForHeaders

  • 8. put

  • 0. postForLocation

  • Основные свойства

  • 2. HTTP используется также в качестве «транспорта»

  • 4. HTTP — протокол прикладного уровня

  • 5. Большинство протоколов

  • 6. HTTP позволяет клиенту прислать

  • Программное обеспечение

  • Ревью 2 теория. Инструкция по созданию бизнесобъектов. Strategy это поведенческий паттерн, выносит набор алгоритмов в собственные классы и делает их взаимозаменимыми


    Скачать 0.74 Mb.
    НазваниеИнструкция по созданию бизнесобъектов. Strategy это поведенческий паттерн, выносит набор алгоритмов в собственные классы и делает их взаимозаменимыми
    АнкорРевью 2 теория
    Дата04.09.2022
    Размер0.74 Mb.
    Формат файлаdocx
    Имя файла2.docx
    ТипИнструкция
    #661724
    страница24 из 26
    1   ...   18   19   20   21   22   23   24   25   26

    42. RestTemplate и его методы?


    RestTemplate – это специальный клиент в Spring для отправки http-запросов. Он предоставляет удобные API для легкого вызова конечных точек REST’а в одну строку.

    RestTemplate restTemplate = new RestTemplate();
    String fooResourceUrl = "http://localhost:8080/spring-rest/foos";
    ResponseEntity response = restTemplate.getForEntity(fooResourceUrl + "/1", String.class);
    RestTemplate определяет 36 методов для взаимодействия с ресурсами REST, большинство из которых соответствуют методам HTTP.

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

    Основные методы:

    1. getForEntity – выполняет запрос GET и возвращает объект ResponseEntity;

    2. getForObject – аналогично getForEntity, но возвращает ресурс напрямую;

    3. exchange – выполняет указанный метод HTTP, такой как GET, POST, PUT и т. д., и возвращает объект ResponseEntity;

    4. execute – аналогичен exchange методу, но требует дополнительных параметров: RequestCallback и ResultSetExtractor;

    5. headForHeaders – выполняет запрос HEAD и возвращает все заголовки;

    6. optionsForAllow – выполняет запрос OPTIONS и использует заголовок Allow;

    7. delete – удаляет ресурсы по указанному URL-адресу с помощью метода HTTP DELETE;

    8. put – обновляет ресурс для заданного URL-адреса с помощью метода HTTP PUT;

    9. postForObject – создает новый запрос с использованием метода HTTP POST и возвращает сущность;

    10. postForLocation – создает новый запрос с использованием метода HTTP POST и возвращает его расположение.

    43. HTTP протокол?


    HTTP (HyperText Transfer Protocol) – это протокол прикладного уровня передачи данных, изначально — в виде гипертекстовых документов в формате HTML, в настоящее время используется для передачи произвольных данных.

    Основные свойства:

    1. Основой HTTP является технология «клиент-сервер», то есть предполагается существование:

    1.1. Потребителей (клиентов), которые инициируют соединение и посылают запрос;

    1.2. Поставщиков (серверов), которые ожидают соединения для получения запроса, производят необходимые действия и возвращают обратно сообщение с результатом.

    2. HTTP используется также в качестве «транспорта» для других протоколов прикладного уровня, таких как SOAP, XML-RPC, WebDAV.

    3. Основным объектом манипуляции в HTTP является ресурс, на который указывает URI (Uniform Resource Identifier) в запросе клиента.

    Обычно такими ресурсами являются хранящиеся на сервере файлы, но ими могут быть логические объекты или что-то абстрактное.

    Особенностью протокола HTTP является возможность указать в запросе и ответе способ представления одного и того же ресурса по различным параметрам: формату, кодировке, языку и т. д. (в частности, для этого используется HTTP-заголовок).

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

    4. HTTP — протокол прикладного уровня; аналогичными ему являются FTP и SMTP.

    Обмен сообщениями идет по обыкновенной схеме «запрос-ответ». Для идентификации ресурсов HTTP использует глобальные URI. В отличие от многих других протоколов, HTTP не сохраняет своего состояния. Это означает отсутствие сохранения промежуточного состояния между парами «запрос-ответ».

    Компоненты, использующие HTTP, могут самостоятельно осуществлять сохранение информации о состоянии, связанной с последними запросами и ответами (например, «куки» на стороне клиента, «сессии» на стороне сервера).

    Браузер, посылающий запросы, может отслеживать задержки ответов. Сервер может хранить IP-адреса и заголовки запросов последних клиентов.

    Однако сам протокол не осведомлен о предыдущих запросах и ответах, в нем не предусмотрена внутренняя поддержка состояния, к нему не предъявляются такие требования.

    5. Большинство протоколов предусматривает установление TCP-сессии, в ходе которой один раз происходит авторизация, и дальнейшие действия выполняются в контексте этой авторизации. HTTP же устанавливает отдельную TCP-сессию на каждый запрос; в более поздних версиях HTTP было разрешено делать несколько запросов в ходе одной TCP-сессии, но браузеры обычно запрашивают только страницу и включенные в нее объекты (картинки, каскадные стили и т. п.), а затем сразу разрывают TCP-сессию.

    Для поддержки авторизованного (неанонимного) доступа в HTTP используются cookies; причем такой способ авторизации позволяет сохранить сессию даже после перезагрузки клиента и сервера.

    6. HTTP позволяет клиенту прислать на сервер параметры, которые будут переданы запускаемому CGI-скрипту. Для этого же в HTML были введены формы.

    7. При доступе к данным по FTP или по файловым протоколам тип файла (точнее, тип содержащихся в нем данных) определяется по расширению имени файла, что не всегда удобно. HTTP перед тем, как передать сами данные, передает заголовок «Content-Type: тип/подтип», позволяющий клиенту однозначно определить, каким образом обрабатывать присланные данные.

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

    Программное обеспечение:

    Все программное обеспечение для работы с протоколом HTTP разделяется на три большие категории:

    1. Серверы как основные поставщики услуг хранения и обработки информации (обработка запросов);

    2. Клиенты — конечные потребители услуг сервера (отправка запроса);

    3. Прокси (посредники) для выполнения транспортных служб. Для отличия конечных серверов от прокси в официальной документации используется термин «исходный сервер» (origin server).

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

    1   ...   18   19   20   21   22   23   24   25   26


    написать администратору сайта