Arhn - архитектура программирования

В чем разница между протоколом и протоколом Json Wire

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

Протокол Json Wire: у клиента есть объект, который нужно отправить на сервер. Клиент преобразует этот объект в объект JSON и отправляет его на сервер. Сервер анализирует объект JSON и преобразует его обратно в объект для использования. Сервер преобразует объект ответа в объект JSON и отправляет его обратно клиенту. Затем клиент преобразует объект JSON в объект для использования.

Почему последний называется протоколом Json Wire?


  • Протокол - стандарт для определения способа обмена данными., Период. При необходимости это может быть по сети. Протокол Json Wire - это набор правил, какие данные должны быть отправлены двумя сторонами, в каком порядке и в каком формате. Почему они так называют - вы догадываетесь. У меня - данные в формате json, и они отправляются по проводам - ​​сетевое соединение. 27.01.2019
  • Итак, вы имеете в виду, что это называется проводным протоколом, поскольку данные передаются по проводам (сетевое соединение), верно? 27.01.2019
  • Если бы мне пришлось угадывать, да. Точно так же, как текст в протоколе передачи гипертекста (HTTP) обозначает прозу при передаче текстовых, а не двоичных данных. 27.01.2019
  • в порядке. Спасибо за информацию. 28.01.2019

Ответы:


1

Вы совершенно правы как насчет протокола, так и JsonWireProtocol. Здесь стоит упомянуть, что ранее все реализации WebDriver, которые взаимодействовали с браузер или сервер RemoteWebDriver должны использовать общий проводной протокол. Этот проводной протокол определяет веб-службу RESTful с использованием JSON через HTTP.

JSON Wire Protocol - это абстрактная спецификация того, как поведение автоматизации, такое как нажатие или ввод текста, или что угодно, на самом деле хотите, чтобы ваш сценарий автоматизации отображался на selenium или appium или HTTP-запросы и ответы. Протокол будет предполагать, что API WebDriver был «сплющен», но ожидается, что клиентские реализации будут использовать более объектно-ориентированный подход, как продемонстрировано в существующем API Java. Проводной протокол реализован в парах запрос / ответ «команды» и «ответы».


Что такое протокол JSON Wire?

JSON (JavaScript Object Notation) - это облегченный формат для обмена данными между клиентом и сервером. Приложения используют объекты JSON для отправки и получения данных между собой в веб-мире. Структура данных JSON является отраслевым стандартом и может использоваться для отправки и получения данных в виде пары «ключ-значение» < / а>. Некоторые говорят, что это очень хорошая альтернатива XML. Мы можем сохранять файлы JSON с расширением .json.


Как выглядит JSON?

Простой файл json выглядит, как показано ниже, и существует множество онлайн-редакторов, которые можно использовать для редактирования и проверки структуры JSON.

{
 "Student":{
   "FirstName":"Pawan",
   "LastName":"Garia",
   "IdNumber":"12345",
   "City" : "New Delhi",
   "EmailID" : "[email protected]" }
}

Почему JSON Wire Protocol был используется в первую очередь?

Реализовать архитектуру клиент-сервер, которая может дать нам следующие преимущества.

  • Вы пишете тест на любом языке программирования.
  • Вы можете выполнить или запустить тестирование облачных сервисов, таких как SauceLabs, BrowserStack или настройка Selenium Grid.
  • Вы не обязаны запускать тест только на локальном компьютере.
  • Различные драйверы (FirefoxDriver, ChromeDriver) могут быть созданы для браузеров и реализованы отдельно с использованием одних и тех же стандартов.

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


Почему HTTP - это решение?

HTTP является стандартом для Интернета и может быть хорошей основой для спецификации. Каждый язык программирования имеет хорошие библиотеки HTTP, которые можно использовать для создания клиента и сервера для запросов и ответные звонки.


Как протокол JSON Wire работал с HTTP?

HTTP-запрос и ответ обычно делаются из запросов GET и POST, что выходит за рамки этого обсуждения.


Текущий статус

С точки зрения Selenium, JSON Wire Protocol сейчас устарел, а WebDriver W3C Living Document - это новая реализация.


Связь через WebDriver

Протокол WebDriver состоит из команд. Каждый HTTP-запрос с методом и шаблоном, определенным в спецификации, представляет собой один <сильный > command, и, следовательно, каждая команда создает один HTTP-ответ. В ответ на команду удаленный конец выполнит ряд действий. известные как шаги удаленного завершения. Они обеспечивают последовательность действий, которые выполняет удаленный конец при получении определенной команды.


Обработка команд

Удаленный конец - это HTTP-сервер, читающий запросы от клиента и записывающий ответы, как правило, через TCP-сокет. В спецификации взаимодействие моделируется как передача данных между конкретным локальным концом и удаленный конец с подключением, к которому удаленный конец может записывать байты и читать байты. Точные детали того, как это соединение работает и как оно устанавливается, - это большая тема, выходящая за рамки этого вопроса. После того, как соединение было установлено, удаленный конец должен читать байты из соединения, пока полный HTTP-запрос не может быть построен из данных. Если невозможно создать полный HTTP-запрос, удаленная сторона должна либо закрыть соединение, либо вернуть HTTP-ответ с кодом состояния 500, либо вернуть ошибку с кодом ошибки unknown error.


Outro

Разница между механизмами JsonWireProtocol и новые стандарты в W3C Living Document при использовании Selenium

29.01.2019
  • Блестящая работа! Спасибо, это именно то, что я искал. 31.01.2019
  • Что я должен сказать, если кто-нибудь спросит о текущей реализации? Проводной протокол WebDriver? или протокол WebDriver? 31.01.2019
  • проводной протокол ушел в прошлое. Мы называем это Спецификации WebDriver W3C. 31.01.2019
  • Спасибо за информацию. 31.01.2019
  • Протокол предполагает, что API WebDriver был сплющен. Что вы имеете в виду под словом «сплющенный»? не объект? 31.01.2019
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..