Network Flashcards

1
Q

REST API

A

REST (Representational State Transfer) - это архитектурный стиль для разработки сетевых приложений, который основывается на простых и однородных операциях CRUD (Create, Read, Update, Delete) с ресурсами URI (Uniform Resource Identifier) через HTTP протокол.

Оффициальные 6 принцыпов:

Клиент-серверная архитектура (Client-Server): Система разделяется на клиентов и сервера, что позволяет им развиваться независимо друг от друга.

Без состояния (Stateless): Каждый запрос клиента к серверу должен содержать всю необходимую информацию для выполнения запроса, и сервер не должен сохранять состояние между запросами. Сессионная информация, если необходима, хранится на клиенте.

Кэширование (Caching): Серверы и клиенты могут кэшировать ресурсы для улучшения производительности. Ресурсы должны быть явно помечены как кэшируемые или некэшируемые.

Единообразие интерфейса (Uniform Interface): Все ресурсы должны иметь уникальные идентификаторы (URI) и обращаться с использованием стандартных методов HTTP (GET, POST, PUT, DELETE и т. д.). Это обеспечивает единообразие взаимодействия с ресурсами.

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

Код по требованию (Optional): Сервер может отправлять код (например, JavaScript) клиенту для выполнения в его контексте, но это не является обязательным.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

gRPC

A

Remote Procedure Call - удалённый вызов процедур, альтернатива REST от гугла. Чаще всего используется для микросервисов. На сервере создаются процедуры (стабы), а на клиенте происходит их вызов как обычных методов client.someMethod и всё, никаких хедеров и всего остального не надо. Использует HTTP 2.0

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

HTTP 2.0

A

Многопоточность
Сжатие хедеров
Бинарный протокол - тоесть, теперь передаем не JSON, а Protobuf (1001010101010)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Long polling

A

Использовался до того как появились websockets.

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Балансировка нагрузки

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

JSONP

A

JSON with padding

Способ общения с сервером посредством внедрения тега скрипт с src в котором зашит нуждный url. Такой подход обходит защиту CORS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly