+

RU2571577C2 - Method of outputting web pages to user equipment and system therefor - Google Patents

Method of outputting web pages to user equipment and system therefor Download PDF

Info

Publication number
RU2571577C2
RU2571577C2 RU2014114859/08A RU2014114859A RU2571577C2 RU 2571577 C2 RU2571577 C2 RU 2571577C2 RU 2014114859/08 A RU2014114859/08 A RU 2014114859/08A RU 2014114859 A RU2014114859 A RU 2014114859A RU 2571577 C2 RU2571577 C2 RU 2571577C2
Authority
RU
Russia
Prior art keywords
code
web page
web server
user equipment
web
Prior art date
Application number
RU2014114859/08A
Other languages
Russian (ru)
Other versions
RU2014114859A (en
Inventor
Юрий Вячеславович Тушинский
Максим Владимирович Смирнов
Евгений Сергеевич Петриченко
Антон Александрович Герасимюк
Original Assignee
ООО "Битрикс"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ООО "Битрикс" filed Critical ООО "Битрикс"
Priority to RU2014114859/08A priority Critical patent/RU2571577C2/en
Publication of RU2014114859A publication Critical patent/RU2014114859A/en
Application granted granted Critical
Publication of RU2571577C2 publication Critical patent/RU2571577C2/en

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

FIELD: information technology.
SUBSTANCE: during first user access to a web page, a web server executes program code to generate html code which includes static part html code and dynamic part html code. The web server outputs the html code of the web page to user equipment. The web server detects dynamic parts in the html code and replaces said parts with JS to form composite code. The composite code is stored in a storage device. The JS contains instructions to obtain relevant dynamic part code from the web server. During repeated accessing of the web page by the user equipment, the web server outputs the composite code from the storage device to the user equipment. A browser in the user equipment displays said dynamic parts in corresponding fields of the already output static part of the web page.
EFFECT: enabling fast display of web pages to a user, which is achieved by using, in the web pages, dynamic parts which are processed on the user equipment.
16 cl, 4 dwg

Description

Область техникиTechnical field

Данное изобретение относится к области веб-технологий и, в частности, к области предоставления данных через компьютерные сети, основанные на Всемирной Паутине, такие как Интернет, Интранет и пр. Объектом защиты являются способ выдачи веб-страниц на оборудование пользователя, а также соответствующая этому способу система.This invention relates to the field of web technologies and, in particular, to the field of providing data via computer networks based on the World Wide Web, such as the Internet, Intranet, etc. The object of protection is the method of issuing web pages to user equipment, as well as corresponding thereto the way the system.

Уровень техникиState of the art

Одним из наиболее важных параметров работы во Всемирной Паутине является время, затрачиваемое системой на выдачу веб-страниц в браузер пользователя с момента направления оборудованием пользователя клиентского запроса на соответствующую страницу на веб-сервер, на котором эта страница размещена. Чем меньше указанное время, тем успешнее и комфортнее происходит просмотр веб-страниц и манипулирование ими.One of the most important parameters of work on the World Wide Web is the time taken by the system to deliver web pages to the user's browser from the moment the user equipment sends a client request to the corresponding page to the web server on which this page is located. The shorter the specified time, the more successful and comfortable browsing and manipulation of web pages occurs.

Согласно текущему уровню развития техники, благодаря использованию оптоволоконных и мультиплексированных линий связи, удалось обеспечить чрезвычайно высокую скорость передачи данных, составляющую, например, десятки Тбит/с. В результате, основным ограничительным фактором, увеличивающим время отображения веб-страницы в браузере пользователя, становится не скорость передачи данных по интернет-каналу, а скорость обработки запрашиваемой страницы на хранящем ее веб-сервере, осуществляемой для генерации кода этой страницы и для его перевода в надлежащий формат, понятный программному обеспечению, установленному на компьютере пользователя.According to the current level of technological development, thanks to the use of fiber optic and multiplexed communication lines, it was possible to provide an extremely high data transfer rate of, for example, tens of Tbit / s. As a result, the main limiting factor that increases the display time of a web page in the user's browser is not the speed of data transfer over the Internet channel, but the speed of processing the requested page on the web server that stores it, which is carried out to generate the code for this page and translate it into An appropriate format that is understandable to the software installed on the user's computer.

Если запрашиваемая веб-страница является статической, т.е. передаваемая посредством нее информация всегда одинакова и не зависит от времени и условий просмотра, отдача сервером кода на компьютер пользователя происходит быстро, поскольку в этом случае серверу приходится решить максимально простую задачу - направить пользователю уже готовый файл формата html.If the requested webpage is static, i.e. the information transmitted through it is always the same and does not depend on the time and viewing conditions, the server sends the code to the user's computer quickly, because in this case the server has to solve the simplest task - send the user a ready-made html file.

Однако при современном уровне Интернета данная ситуация является крайне редкой, а учитывая дальнейшее развитие веб-технологий, ее вообще можно считать уходящей в прошлое. Причина в том, что размещаемые на серверах веб-страницы в подавляющем большинстве случаев помимо статических частей содержат еще динамические части, обработка которых занимает очень существенное время, в сотни и более раз превышающее время обработки статических частей. Под динамическими частями или динамическим контентом в данной области техники принято понимать размещаемую на сайте информацию, обновляемую не реже чем раз в несколько минут, либо информацию, которая может отличаться по условиям запроса для разных пользователей. В качестве примера динамического контента можно назвать аудио и видеоданные, счетчики и секундомеры, формы для опроса и голосования, анимацию, игры, корзины покупателя и прочие динамические объекты, которыми изобилуют практически все современные веб-сайты.However, at the current level of the Internet, this situation is extremely rare, and given the further development of web technologies, it can generally be considered a thing of the past. The reason is that web pages hosted on servers, in the vast majority of cases, in addition to static parts, also contain dynamic parts, the processing of which takes a very substantial amount of time, hundreds or more times longer than the processing of static parts. By dynamic parts or dynamic content in this technical field, it is customary to understand the information posted on the site that is updated at least every few minutes, or information that may differ in terms of the request for different users. Examples of dynamic content include audio and video data, counters and stopwatch, polling and voting forms, animations, games, shopping carts and other dynamic objects that almost all modern websites abound in.

Управление сайтами, содержащими контент динамического вида, традиционно строится с использованием CMS-систем (система управления контентом от англ. Content Management System). CMS-система - это компьютерная программа, предоставляющая разработчикам сайта удобные инструменты для хранения и публикации текстового, графического и прочего наполнения сайта. Такие системы облегчают задачу управления контентом для неквалифицированных в программировании сотрудников компаний и владельцев сайтов.The management of sites containing dynamic-looking content is traditionally built using CMS-systems (content management system from the English. Content Management System). CMS-system is a computer program that provides site developers with convenient tools for storing and publishing text, graphic and other content of the site. Such systems facilitate the task of managing content for unskilled programming employees of companies and website owners.

Одной из особенностей CMS-системы является то, что работа с ней не требует установки какого-либо дополнительного программного обеспечения на компьютер, с которого ведется работа с сайтом. Сама CMS-система размещена на сервере провайдера, и пользователю достаточно иметь обычный браузер для того, чтобы получить доступ к сайту и управлять им. При редактировании/добавлении контента на сайт пользователь оперирует простыми и понятными ему инструментами, не прибегая к html-коду или программному код у. К числу указанных инструментов относятся, в частности, административные разделы, модули, компоненты с шаблонами и пр.One of the features of the CMS-system is that working with it does not require the installation of any additional software on the computer from which the site is being worked on. The CMS system itself is located on the provider's server, and the user just needs to have a normal browser in order to access the site and manage it. When editing / adding content to the site, the user operates with simple and understandable tools, without resorting to the html code or program code y. These tools include, in particular, administrative sections, modules, components with templates, etc.

Основными инструментами для вывода информации на страницы сайта, созданного CMS-системой, являются компоненты с шаблонами. Указанные компоненты - это программный код, отвечающий за взаимодействие CMS-системы и управляемой компонентом информацией. Шаблон компонента - это своего рода оболочка, отвечающая за форму и способ вывода управляемой компонентом информации. Шаблоны можно модифицировать, меняя способ и форму вывода.The main tools for displaying information on the pages of the site created by the CMS-system are components with templates. The specified components are the program code responsible for the interaction of the CMS system and the information managed by the component. A component template is a kind of shell that is responsible for the form and method of outputting information managed by a component. Templates can be modified by changing the way and form of output.

Между тем, за указанное упрощение работы с веб-страницами, содержащими динамический контент, приходится расплачиваться дополнительной нагрузкой на веб-сервер. В этом случае веб-сервер вынужден формировать отправляемый пользователю html-код страницы из программного кода CMS-системы. Как правило, в качестве кода CMS-системы используется php-код. К другим примерам программного кода относятся perl, asp, jsp и пр. На формирование конечного html-кода страницы у сервера уходит достаточно много времени, поскольку ему приходится преобразовывать все динамические части страницы с программного кода (например, php-кода) в html-код и корректно объединять их с html-кодом статической части. В результате, страница для пользователя открывается с существенной задержкой, вплоть до нескольких секунд, что, конечно, неприемлемо.Meanwhile, for the indicated simplification of working with web pages containing dynamic content, you have to pay extra load on the web server. In this case, the web server is forced to generate the html code of the page sent to the user from the program code of the CMS system. As a rule, php code is used as the code of the CMS system. Other examples of program code include perl, asp, jsp, etc. The server takes a lot of time to generate the final html-code of the page, since it has to convert all the dynamic parts of the page from the program code (for example, php-code) to html-code and correctly combine them with the html code of the static part. As a result, the page for the user opens with a significant delay, up to several seconds, which, of course, is unacceptable.

В данной области техники в рамках решения проблемы, связанной с возникновением задержек при просмотре страниц, было предложено создавать кэш страницы во время первого посещения этой страницы каким-либо пользователем, с последующим сохранением кэша в специальном файле на диске сервера. В этом случае отдача веб-страницы каждому пользователю, начиная со второго, происходит достаточно быстро, посредством выдачи ее сохраненного кэша.In the art, as part of the solution to the problem of delays when viewing pages, it was proposed to create a page cache during the first visit of this page by a user, followed by saving the cache in a special file on the server’s disk. In this case, the return of the web page to each user, starting from the second one, occurs quite quickly, by issuing its stored cache.

Однако очень часто веб-сайту приходится отображать для пользователей лишь слегка измененные страницы. Например, отобразить на одной и той же странице товара для одного пользователя одну цену, а для другого - другую, в частности, с учетом причитающейся тому пользователю скидки. Обе страницы при этом могут быть практически одинаковые, разница может состоять только в одной цифре в цене.However, very often a website has to display only slightly modified pages for users. For example, to display one price on one and the same product page for one user and another for another, in particular, taking into account the discount due to that user. Both pages can be almost the same, the difference can be only one figure in the price.

В такой ситуации, согласно известному уровню техники, предусмотрено либо создавать несколько копий фактически одной и той же страницы, либо заново обрабатывать страницу как программный скрипт, т.е. заново создавать динамическую страницу. Однако обоим этим решениям присущи существенные недостатки. В первом случае многочисленные копии занимают большое место на диске сервера, а работа с созданными файлами замедляет работу сайта в целом. Во втором - тратятся огромные вычислительные ресурсы сервера, и страница выдается пользователю по-прежнему с задержкой.In such a situation, according to the prior art, it is envisaged either to create several copies of virtually the same page, or to reprocess the page as a program script, i.e. re-create a dynamic page. However, both of these decisions have significant disadvantages. In the first case, numerous copies occupy a large place on the server’s disk, and working with the created files slows down the site as a whole. In the second, huge computing resources of the server are spent, and the page is still issued to the user with a delay.

Более эффективным средством известного уровня техники по ускорению выдачи веб-страниц на оборудование пользователя является технология Full Page Cache от компании Magento Enterprise, которую можно рассматривать в качестве ближайшего аналога настоящего изобретения. Данная технология применима только к работе с веб-страницами, в коде которых присутствуют метки, обозначающие присутствие в веб-странице всех динамических частей. При первом обращении пользователя к такой веб-странице программный модуль Full Page Cache выполняет страницу в динамическом режиме, отправляет пользователю ее код и сохраняет кэш страницы в запоминающем устройстве сервера с удалением информации из ее динамических зон. При втором обращении пользователя к этой странице сервер выполняет код динамических частей, склеивает кэш страницы, взятый из запоминающего устройства, со сформированным кодом динамических частей и отдает страницу пользователю.A more effective means of the prior art for accelerating the delivery of web pages to user equipment is Full Page Cache technology from Magento Enterprise, which can be considered as the closest analogue of the present invention. This technology is applicable only to work with web pages whose code contains labels indicating the presence of all dynamic parts in a web page. When a user first accesses such a web page, the Full Page Cache program module executes the page in dynamic mode, sends the user its code and saves the page cache in the server’s storage device with the removal of information from its dynamic zones. The second time the user accesses this page, the server executes the code of the dynamic parts, glues the cache of the page, taken from the storage device, with the generated code of the dynamic parts and gives the page to the user.

Технология Full Page Cache ускоряет до некоторой степени процесс выдачи страниц пользователю, однако ей тоже присущ ряд недостатков. Например, вывод кода запрошенной страницы на оборудование пользователя не может начинаться до завершения склеивания кэша страницы со сформированным кодом динамических частей, что исключает возможность использования преимуществ фоновой загрузки и увеличивает пиковую нагрузку на сервер. В результате, возможности по ускорению выгрузки страниц на оборудование пользователя реализуются не полностью. Кроме того, технология Full Page Cache имеет проблемы с периодическим устареванием кэша и с невозможностью кэширования страниц в момент их изменения пользователем.Full Page Cache technology speeds up the process of delivering pages to the user to some extent, but it also has a number of disadvantages. For example, the output of the code of the requested page to the user equipment cannot begin until the gluing of the page cache with the generated code of the dynamic parts is completed, which eliminates the possibility of taking advantage of the background load and increases the peak load on the server. As a result, the ability to accelerate the downloading of pages to user equipment is not fully realized. In addition, Full Page Cache technology has problems with periodic cache obsolescence and the inability to cache pages when they are modified by the user.

Принимая во внимание вышесказанное, заявитель формулирует задачу настоящего изобретения как разработка технического средства для выдачи веб-страниц пользователю, которое было бы лишено недостатков известного уровня техники, т.е. сочетало бы в себе достоинства быстрой выдачи страниц пользователю с гибкостью отображения информации в зависимости от времени и от различных условий запроса страницы, например, прав доступа и статуса пользователя.Taking into account the foregoing, the applicant formulates the objective of the present invention as the development of technical means for issuing web pages to a user that would be free from the disadvantages of the prior art, i.e. It would combine the advantages of quickly delivering pages to the user with the flexibility of displaying information depending on the time and on various conditions of the page request, for example, access rights and user status.

Раскрытие изобретенияDisclosure of invention

Задача настоящего изобретения решена путем разработки способа формирования и выдачи веб-страниц пользователю и соотвествующей этому способу системы.The object of the present invention is solved by developing a method for generating and displaying web pages to a user and a system corresponding to this method.

Предложенный способ выдачи веб-страниц, содержащих по меньшей мере одну динамическую часть, на оборудование пользователя, соответствующий первому аспекту настоящего изобретения, включает следующие этапы:The proposed method of issuing web pages containing at least one dynamic part to user equipment corresponding to the first aspect of the present invention includes the following steps:

- при первом обращении оборудования пользователя к веб-странице, размещенной на веб-сервере:- the first time a user equipment accesses a web page hosted on a web server:

- выполнение веб-сервером программного кода веб-страницы, в том числе имеющихся на ней динамических частей, с формированием html-кода веб-страницы, включающего html-код статической части и html-код динамических частей;- execution by the web server of the program code of the web page, including the dynamic parts available on it, with the formation of the html code of the web page, including the html code of the static part and the html code of the dynamic parts;

выдача веб-сервером html-кода веб-страницы оборудованию пользователя для отображения этой веб-страницы браузером, установленным на оборудовании пользователя;the web server issuing the html code of the web page to the user equipment for displaying the web page by a browser installed on the user equipment;

- обнаружение веб-сервером в html-коде веб-страницы, полученном на этапе формирования html-кода, кода, относящегося к динамическим частям;- detection by the web server in the html code of the web page obtained at the stage of generating the html code, the code related to the dynamic parts;

- замена веб-сервером в html-коде веб-страницы указанного кода, относящегося к динамическим частям, на JS-скрипт, содержащий предписание на получение актуального кода этих динамических частей с веб-сервера, с формированием композитного кода и сохранение этого композитного кода в запоминающем устройстве;- replacement by the web server in the html code of the web page of the specified code related to the dynamic parts with a JS script containing a prescription for receiving the actual code of these dynamic parts from the web server, with the formation of the composite code and saving this composite code in a memory device

- при втором и последующих обращениях оборудования пользователя к веб-странице:- at the second and subsequent calls of the user equipment to the web page:

- выдача веб-сервером оборудованию пользователя композитного кода, сохраненного в запоминающем устройстве, для отображения браузером, установленным на оборудовании пользователя, статической части веб-страницы;- issuance by the web server of the user equipment to the composite code stored in the storage device for display by the browser installed on the user equipment, the static part of the web page;

- прием веб-сервером от браузера запроса на актуальные данные для динамических частей, направляемого браузером путем следования предписанию, содержащемуся в JS-скрипте композитного кода;- the web server receives from the browser a request for up-to-date data for the dynamic parts sent by the browser by following the instruction contained in the composite code JS script;

- выполнение веб-сервером программного кода динамических частей с получением актуального html-кода, соответствующего этим частям;- execution by the web server of the program code of the dynamic parts to obtain the current html-code corresponding to these parts;

- досылка веб-сервером актуального html-кода динамических частей на оборудование пользователя для отображения браузером, установленным на оборудовании пользователя, указанных динамических частей в соответствующих полях уже выведенной статической части веб-страницы, согласно сформированному актуальному html-коду этих динамических частей.- sending by the web server the actual html code of the dynamic parts to the user equipment for display by the browser installed on the user equipment, the indicated dynamic parts in the corresponding fields of the already displayed static part of the web page, according to the generated html code of these dynamic parts.

Согласно одному из вариантов изобретения, этап обнаружения веб-сервером в html-коде веб-страницы кода, относящегося к динамическим частям, осуществляют с использованием указаний в коде веб-страницы, помечающих эти части страницы как динамические.According to one embodiment of the invention, the step of detecting by the web server in the html code of the web page the code related to the dynamic parts is carried out using the instructions in the code of the web page marking these parts of the page as dynamic.

Согласно другому варианту изобретения, перед этапом выдачи оборудованию пользователя композитного кода веб-сервер проверяет наличие этого композитного кода в запоминающем устройстве, причем если композитный код отсутствует, веб-сервер расценивает данное обращение оборудования пользователя к веб-странице как первое и переходит к выполнению этапов, относящихся к первому обращению.According to another embodiment of the invention, before the step of issuing the composite code to the user equipment, the web server checks for the presence of this composite code in the storage device, and if there is no composite code, the web server considers this user equipment access to the web page as the first and proceeds to the steps, relating to the first appeal.

В предпочтительном случае веб-сервер на этапе выдачи оборудованию пользователя композитного кода, сохраненного в запоминающем устройстве, направляет оборудованию пользователя дополнительно код объекта, предназначенного для временной подмены динамических частей веб-страницы.In a preferred case, the web server at the stage of issuing to the user equipment a composite code stored in the storage device, additionally sends to the user equipment an object code intended for temporarily replacing the dynamic parts of the web page.

В соответствии с еще одним вариантом изобретения, способ дополнительно содержит этап высчитывания веб-сервером контрольной суммы композитного кода, осуществляемый после этапа его формирования при первом обращении оборудования пользователя к веб-странице, а также следующие этапы, выполняемые после этапа досылки веб-сервером актуального html-кода динамических частей на оборудование пользователя:In accordance with another embodiment of the invention, the method further comprises the step of calculating the checksum of the composite code by the web server, carried out after the step of generating the first time the user equipment accesses the web page, as well as the following steps performed after the step of sending the actual html by the web server code of dynamic parts for user equipment:

формирование веб-сервером обновленного html-кода веб-страницы включающего актуальный html-код статической части и указанный актуальный html-код динамических частей;generation by the web server of the updated html code of the web page including the actual html code of the static part and the specified current html code of the dynamic parts;

- замена веб-сервером в обновленном html-коде веб-страницы указанного кода, относящегося к динамическим частям, на JS-скрипт, содержащий предписание на получение актуального кода этих динамических частей с веб-сервера, с формированием обновленного композитного кода;- replacement by the web server in the updated html code of the web page of the specified code related to the dynamic parts with a JS script containing a prescription for receiving the actual code of these dynamic parts from the web server, with the formation of the updated composite code;

- высчитывание веб-сервером контрольной суммы обновленного композитного кода и сверка суммы обновленного композитного кода с прежней суммой композитного кода и, если суммы не совпадают, то сохранение сервером обновленного композитного кода в запоминающем устройстве для использования в дальнейшем.- calculating by the web server the checksum of the updated composite code and reconciling the sum of the updated composite code with the previous sum of the composite code and, if the amounts do not match, then the server stores the updated composite code in the storage device for future use.

Согласно другому варианту изобретения, если сумма обновленного композитного кода и прежняя сумма композитного кода не совпадают, веб-сервер выдает обновленный html-код веб-страницы оборудованию пользователя для отображения обновленной веб-страницы браузером, установленным на оборудовании пользователя.According to another embodiment of the invention, if the sum of the updated composite code and the previous sum of the composite code do not match, the web server issues the updated html code of the web page to the user equipment for displaying the updated web page by the browser installed on the user equipment.

В предпочтительном случае способ дополнительно содержит этап пересохранения прежнего композитного кода с присвоением ему нового имени.In a preferred case, the method further comprises the step of re-saving the previous composite code with assigning a new name to it.

Как вариант, способ дополнительно содержит этап имитации веб-сервером первого обращения оборудования пользователя к веб-странице.Alternatively, the method further comprises the step of a web server simulating a user’s first access to a web page.

Предложенная система выдачи веб-страниц, содержащих по меньшей мере одну динамическую часть, на оборудование пользователя, соответствующая второму аспекту настоящего изобретения, включает в себя веб-сервер с размещенными на нем веб-страницами и запоминающее устройство, причем веб-сервер выполнен с возможностью:The proposed system for issuing web pages containing at least one dynamic part to user equipment in accordance with the second aspect of the present invention includes a web server with web pages located thereon and a storage device, the web server being configured to:

- при первом обращении оборудования пользователя к веб-странице совершать следующие действия:- upon the first access of the user equipment to the web page, perform the following actions:

- выполнение программного кода веб-страницы, в том числе имеющихся на ней динамических частей, с формированием html-кода веб-страницы, включающего html-код статической части и html-код динамических частей;- execution of the program code of the web page, including the dynamic parts available on it, with the formation of the html code of the web page, including the html code of the static part and the html code of the dynamic parts;

- выдача html-кода веб-страницы оборудованию пользователя для отображения этой веб-страницы браузером, установленным на оборудовании пользователя;- the issuance of the html code of the web page to the user equipment for displaying this web page by a browser installed on the user equipment;

- обнаружение в html-коде веб-страницы, полученном на этапе формирования html-кода, кода, относящегося к динамическим частям;- detection in the html code of the web page obtained at the stage of generating the html code, the code related to the dynamic parts;

- замена в html-коде веб-страницы указанного кода, относящегося к динамическим частям, на JS-скрипт, содержащий предписание на получение актуального кода этих динамических частей с веб-сервера, с формированием композитного кода и сохранение этого композитного кода в запоминающем устройстве;- replacement in the html code of the web page of the specified code related to the dynamic parts with a JS script containing an instruction to receive the actual code of these dynamic parts from the web server, with the formation of a composite code and saving this composite code in a storage device;

- при втором и последующих обращениях оборудования пользователя к веб-странице совершать следующие действия:- during the second and subsequent calls of the user equipment to the web page, perform the following actions:

- выдача оборудованию пользователя композитного кода, сохраненного в запоминающем устройстве, для отображения браузером, установленным на оборудовании пользователя, статической части этой веб-страницы;- issuing to the user equipment a composite code stored in the storage device for display by the browser installed on the user equipment, the static part of this web page;

- прием от браузера запроса на актуальные данные для динамических частей, направляемого браузером путем следования предписанию, содержащемуся в JS-скрипте композитного кода;- receiving from the browser a request for up-to-date data for the dynamic parts sent by the browser by following the order contained in the composite code JS script;

- выполнение по запросу от браузера программного кода динамических частей с получением актуального html-кода, соответствующего этим частям;- execution, upon request from the browser, of the program code of the dynamic parts with the receipt of the current html-code corresponding to these parts;

- досылка актуального html-кода динамических частей на оборудование пользователя для их отображения браузером, установленным на оборудовании пользователя, в соответствующих полях уже выведенной статической части веб-страницы, согласно сформированному актуальному html-коду этих динамических частей.- sending the actual html code of the dynamic parts to the user’s equipment for display by the browser installed on the user’s equipment in the corresponding fields of the already displayed static part of the web page, according to the generated html code of these dynamic parts.

Согласно одному из вариантов изобретения, веб-сервер выполнен также с возможностью обнаружения в html-коде веб-страницы кода, относящегося к динамическим частям, с использованием указаний в коде веб-страницы, помечающих эти части страницы как динамические.According to one embodiment of the invention, the web server is also configured to detect in the html code of the web page the code relating to the dynamic parts using the directions in the web page code marking these parts of the page as dynamic.

Согласно другому варианту изобретения, веб-сервер выполнен также с возможностью проверки, перед этапом выдачи оборудованию пользователя композитного кода, наличия этого композитного кода в запоминающем устройстве, причем если композитный код отсутствует, веб-сервер расценивает данное обращение оборудования пользователя к веб-странице как первое.According to another embodiment of the invention, the web server is also configured to check, before the step of issuing the composite code to the user equipment, the presence of this composite code in the storage device, and if there is no composite code, the web server considers this user equipment access to the web page as the first .

В предпочтительном случае веб-сервер выполнен также с возможностью во время выдачи оборудованию пользователя композитного кода, сохраненного в запоминающем устройстве, направлять оборудованию пользователя дополнительно код объекта, предназначенного для временной подмены динамических частей веб-страницы.In a preferred case, the web server is also configured to, during the issuance to the user equipment of the composite code stored in the storage device, send to the user equipment an additional object code for temporarily replacing the dynamic parts of the web page.

В соответствии с еще одним вариантом изобретения, веб-сервер выполнен также с возможностью высчитывания контрольной суммы композитного кода после этапа его формирования при первом обращении оборудования пользователя к веб-странице, а также с возможностью выполнения следующих действий, осуществляемых после досылки веб-сервером актуального html-кода динамических частей на оборудование пользователя:In accordance with another embodiment of the invention, the web server is also capable of calculating the checksum of the composite code after the stage of its generation when the user equipment first accesses the web page, as well as the ability to perform the following actions after the web server sends the actual html code of dynamic parts for user equipment:

формирование обновленного html-кода веб-страницы включающего актуальный html-код статической части и указанный актуальный html-код динамических частей;generating an updated html-code of the web page including the actual html-code of the static part and the specified actual html-code of the dynamic parts;

- замена в обновленном html-коде веб-страницы указанного кода, относящегося к динамическим частям, на JS-скрипт, содержащий предписание на получение актуального кода этих динамических частей с веб-сервера, с формированием обновленного композитного кода;- replacement in the updated html code of the web page of the specified code related to the dynamic parts with a JS script containing an instruction to receive the actual code of these dynamic parts from the web server, with the formation of the updated composite code;

- высчитывание контрольной суммы обновленного композитного кода и сверка суммы обновленного композитного кода с прежней суммой композитного кода и, если суммы не совпадают, то сохранение обновленного композитного кода в запоминающем устройстве для использования в дальнейшем.- calculating the checksum of the updated composite code and reconciling the sum of the updated composite code with the previous sum of the composite code and, if the amounts do not match, then saving the updated composite code in the storage device for future use.

Согласно другому варианту изобретения, веб-сервер выполнен также с возможностью выдачи обновленного html-кода веб-страницы оборудованию пользователя для отображения обновленной веб-страницы браузером, установленным на оборудовании пользователя, если сумма обновленного композитного кода и прежняя сумма композитного кода не совпадают.According to another embodiment of the invention, the web server is also configured to provide updated html code of the web page to the user equipment for displaying the updated web page by a browser installed on the user equipment, if the sum of the updated composite code and the previous sum of the composite code do not match.

В предпочтительном случае веб-сервер выполнен также с возможностью пересохранения прежнего композитного кода с присвоением ему нового имени.In a preferred case, the web server is also configured to resave the previous composite code with a new name.

Как вариант, веб-сервер выполнен также с возможностью имитации первого обращения оборудования пользователя к веб-странице.Alternatively, the web server is also configured to simulate a user’s first access to a web page.

Под композитным кодом в настоящей заявке понимается код, содержащий код статической части веб-страницы и специальный JS-скрипт (скрипт на языке JavaScript), содержащий предписание оборудованию пользователя на получение с веб-сервера актуального кода всех динамических частей, входящих в эту веб-страницу.Composite code in this application is understood to mean code containing the code of the static part of the web page and a special JS-script (script in JavaScript) containing a prescription for the user equipment to receive from the web server the actual code of all the dynamic parts included in this web page .

Краткое описание графических материаловA brief description of the graphic materials

Далее изобретение раскрыто более подробно на примере предпочтительных вариантов его выполнения, описанных со ссылкой на приложенные графические материалы, из которых:The invention is further disclosed in more detail by way of example of preferred embodiments thereof described with reference to the attached graphic materials, of which:

- фиг.1 изображает блок-схему заявляемой системы выдачи веб-страниц на оборудование пользователя и схематично иллюстрирует функционирование данной системы;- figure 1 depicts a block diagram of the inventive system for issuing web pages to user equipment and schematically illustrates the operation of this system;

- фиг.2 изображает скриншот веб-страницы, содержащей статические и динамические части;- figure 2 depicts a screenshot of a web page containing static and dynamic parts;

- фиг.3 изображает таблицу, отражающую время выдачи пользователю компонентов показанной на фиг.2 страницы при использовании технологии известного уровня техники;- figure 3 depicts a table reflecting the time of issuance to the user of the components shown in figure 2 of the page when using technology of the prior art;

- фиг.4 изображает таблицу, отражающую время выдачи пользователю компонентов показанной на фиг.2 страницы при использовании технологии, предложенной в настоящем изобретении.- figure 4 depicts a table reflecting the time of delivery to the user of the components shown in figure 2 of the page using the technology proposed in the present invention.

Осуществление изобретенияThe implementation of the invention

Блок-схема заявляемой системы показана в правой части фиг.1 обведенной прерывистой линией. Как следует из этого рисунка, система 1 выдачи веб-страниц на оборудование 50 пользователя, в частности, на стационарный компьютер, ноутбук, смартфон, планшет и пр., содержит веб-сервер 10 с размещенными на нем веб-страницами 100 и запоминающее устройство 15. В частных случаях система 1 может также включать в себя отдельные приемо-передающие устройства, коммутаторы, маршрутизаторы, консоли, блоки питания, контроллеры, дисковые массивы и пр. Однако заметим, что в данной области техники принято считать, что стандартный веб-сервер уже содержит в себе функции перечисленных выше устройств, реализуемых на нем аппаратным и/или программным образом. В некоторых вариантах изобретения веб-сервер 10 может включать в свой состав и запоминающее устройство 15 (ЗУ).A block diagram of the inventive system is shown in the right part of figure 1 circled by a dashed line. As follows from this figure, the system 1 for issuing web pages to user equipment 50, in particular to a stationary computer, laptop, smartphone, tablet, etc., contains a web server 10 with web pages 100 and a storage device 15 In special cases, system 1 may also include separate transceivers, switches, routers, consoles, power supplies, controllers, disk arrays, etc. However, we note that it is generally accepted in the art that a standard web server contains Functions of the above devices, hardware implemented thereon and / or software. In some embodiments of the invention, the web server 10 may include a storage device 15 (memory).

Если давать определение, веб-сервер 10 - это программно-аппаратный комплекс доступный пользователю через Интернет и выполненный с возможностью приема http-запросов пользователей, обычно от веб-браузеров, и выдающий им http-ответы, как правило, вместе с html-страницей, изображением, файлом, медиа-потоком или другими данными. В качестве конкретных примеров веб-сервера 10 можно назвать http-серверы Apache, US, Cherokee и Resin на базе операционных систем Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS. Неисчерпывающий список функций стандартного веб-сервера включает в себя следующее:If you define it, web server 10 is a software and hardware complex accessible to the user via the Internet and configured to receive http-requests from users, usually from web browsers, and give them http-answers, usually together with an html page, image, file, media stream or other data. As specific examples of web server 10, Apache, US, Cherokee, and Resin http servers based on Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS operating systems can be named. A non-exhaustive list of features on a standard web server includes the following:

- Прием запросов от веб-браузеров по протоколу стандарта HTTP с использованием сетевых протоколов TCP/IP;- Receiving requests from web browsers using the HTTP standard protocol using TCP / IP network protocols;

- Выполнение поиска и отсылки файлов с гипертекстом или каких-либо документов в браузер по протоколу HTTP;- Performing searches and sending files with hypertext or any documents to the browser via HTTP;

- Обслуживание и обработка запросов, типа: mailto: …, FTP, Telnet и т.п.;- Service and processing of requests, such as: mailto: ..., FTP, Telnet, etc .;

- Запуск прикладных программ на веб-сервере с последующей передачей и возвратом параметров обработки через стандарт интерфейса CGI;- Launching applications on a web server with subsequent transfer and return of processing parameters through the standard CGI interface;

- Работа и обслуживание навигационных карт изображений (Image map);- Work and maintenance of navigation image maps (Image map);

- Загрузка Java-приложений;- Download Java applications;

- Авторизация пользователей и их аутентификация;- Authorization of users and their authentication;

- Ведение регистрационного журнала обращений пользователей к различным ресурсам;- Maintaining a registration log of user requests to various resources;

- Автоматизированная работа веб-страниц;- Automated operation of web pages;

- Поддержка страниц, которые генерируются динамически;- Support for pages that are generated dynamically;

- Поддержка работы протокола HTTPS для защищенных соединений с клиентами.- Support for HTTPS protocol for secure connections with clients.

Используемое в системе 1 запоминающее устройство 15 предназначено для записи и хранения данных, используемых веб-сервером 10, в частности, композитных html-страниц, динамических и статических частей html-страниц, контента, необходимого для наполнения html-страниц, вспомогательной информации и пр. В качестве запоминающего устройства 15 может использоваться жесткий диск веб-сервера, оперативная память этого веб-сервера или память других компьютеров, размещенных в сети Интернет, а также могут использоваться базы данных, программные продукты типа Memcache и пр.The storage device 15 used in the system 1 is intended for recording and storing data used by the web server 10, in particular, composite html pages, dynamic and static parts of html pages, content necessary for filling html pages, supporting information, etc. As the storage device 15 can be used the hard drive of the web server, the RAM of this web server or the memory of other computers located on the Internet, and can also be used databases, software products such as Memc ache etc.

Согласно принципам настоящего изобретения, веб-сервер 10, входящий в предложенную систему выдачи веб-страниц на оборудование пользователя, сконфигурирован с возможностью осуществления следующих действий:According to the principles of the present invention, the web server 10 included in the proposed system for issuing web pages to user equipment is configured to perform the following actions:

- при первом обращении оборудования пользователя к веб-странице 100 совершать следующие действия:- when the user equipment first accesses the web page 100, perform the following actions:

- выполнение программного кода веб-страницы 100, в том числе всех имеющихся на ней динамических частей 101, 102, 103, с формированием html-кода веб-страницы 100, включающего html-код статической части и html-код динамических частей 101, 102, 103;- execution of the program code of the web page 100, including all the dynamic parts 101, 102, 103 present on it, with the formation of the html code of the web page 100, including the html code of the static part and the html code of the dynamic parts 101, 102, 103;

- выдача html-кода веб-страницы 100 оборудованию пользователя для отображения этой веб-страницы 100 браузером, установленным на оборудовании пользователя;- issuing the html code of the web page 100 to the user equipment for displaying this web page 100 by a browser installed on the user equipment;

- обнаружение в html-коде веб-страницы 100, полученном на этапе формирования html-кода, кода, относящегося к динамическим частям 101,102, 103;- detection in the html code of the web page 100, obtained at the stage of generating the html code, the code related to the dynamic parts 101,102, 103;

- замена в html-коде веб-страницы 100 указанного кода, относящегося к динамическим частям 101, 102, 103, на JS-скрипт, содержащий предписание на получение актуального кода этих динамических частей 101, 102, 103 с веб-сервера 10, с формированием композитного кода 110 и сохранение этого композитного кода 110 в запоминающем устройстве 15;- replacement in the html code of the web page 100 of the specified code relating to the dynamic parts 101, 102, 103, with a JS script containing a prescription for receiving the actual code of these dynamic parts 101, 102, 103 from the web server 10, with the formation composite code 110 and storing this composite code 110 in memory 15;

- при втором и последующих обращениях оборудования пользователя к веб-странице 100 совершать следующие действия:- during the second and subsequent calls of the user equipment to the web page 100 to perform the following actions:

- выдача оборудованию пользователя композитного кода 110, сохраненного в запоминающем устройстве 15, для отображения браузером, установленным на оборудовании пользователя, статической части этой веб-страницы 100;- issuing to the user equipment a composite code 110, stored in the storage device 15, for display by the browser installed on the user equipment, the static part of this web page 100;

- прием от браузера запроса на актуальные данные для динамических частей 101, 102, 103, направляемого браузером путем следования предписанию, содержащемуся в JS-скрипте композитного кода 110;- receiving from the browser a request for relevant data for the dynamic parts 101, 102, 103 sent by the browser by following the instruction contained in the JS script of composite code 110;

- выполнение по запросу от браузера программного кода динамических частей 101, 102, 103 с получением актуального html-кода, соответствующего этим частям 101, 102, 103;- execution, upon request from the browser, of the program code of the dynamic parts 101, 102, 103 to obtain the actual html code corresponding to these parts 101, 102, 103;

- досылка актуального html-кода динамических частей 101, 102, 103 на оборудование пользователя для их отображения браузером, установленным на оборудовании пользователя, в соответствующих полях уже выведенной статической части веб-страницы 100, согласно сформированному актуальному html-коду этих динамических частей 101, 102,103.- sending the actual html code of the dynamic parts 101, 102, 103 to the user’s equipment for display by the browser installed on the user’s equipment, in the corresponding fields of the already displayed static part of the web page 100, according to the generated html code of these dynamic parts 101, 102,103 .

Благодаря такому конфигурированию веб-сервера, заявляемые система и способ позволяют загружать веб-страницы на оборудование пользователя, во-первых, быстрее, чем это происходит при использовании средств известного уровня техники, а во-вторых, более плавно и с меньшей нагрузкой на сервер. Статическая часть страницы выдается пользователю практически мгновенно, в силу чего пользователь может практически сразу начинать просмотр страницы. В скором времени пользователю последовательно и в фоновом режиме выводятся также динамические части страницы. Процесс вывода страницы протекает плавно и равномерно, не приводя к перегрузкам используемого оборудования.Due to such a configuration of the web server, the inventive system and method allows downloading web pages to user equipment, firstly, faster than when using means of the prior art, and secondly, more smoothly and with less load on the server. The static part of the page is issued to the user almost instantly, whereby the user can almost immediately start viewing the page. Soon, the user will also see the dynamic parts of the page sequentially and in the background. The process of page output proceeds smoothly and evenly, without overloading the equipment used.

Указанные и прочие преимущества изобретения проще понять, обратившись к фиг.2-4, иллюстрирующим конкретный пример загрузки веб-страницы, содержащей динамические части.These and other advantages of the invention are easier to understand by referring to FIGS. 2-4, illustrating a specific example of loading a web page containing dynamic parts.

На фиг.2 изображен скриншот (т.е. снимок экрана) веб-страницы 100, содержащей статические и динамические части. Как видно из приведенного примера, показанная страница относится к Интернет-магазину, занимающемуся торговлей одеждой. На этой странице предусмотрены три динамические части 101, 102, 103, каждая из которых выделена прямоугольной рамкой.Figure 2 shows a screenshot (i.e., screenshot) of a web page 100 containing static and dynamic parts. As you can see from the above example, the page shown refers to an online clothing store. Three dynamic parts 101, 102, 103 are provided on this page, each of which is highlighted by a rectangular frame.

Часть 101 обозначает корзину покупателя; часть 102 - телефон и время работы пункта доставки; часть 103 - цену. Данные части могут меняться в зависимости от условий и времени запрашивания страницы 100. Например, цена, телефон и условия работы, соответствующие частям 102 и 103, могут различаться в зависимости от статуса клиента. В частности, оптовые клиенты и клиенты, обладающие статусом «золотого» клиента, могут работать по одной цене и обслуживаться в одни часы работы, тогда как остальные клиенты будут обслуживаться в другое время и по другим ценам. Контент части 101, относящейся к корзине пользователя, зависит от цены товара и от числа единиц товара, заказанного пользователем.Part 101 denotes a shopping cart; part 102 - telephone and opening hours of the delivery point; part 103 - the price. These parts may vary depending on the conditions and time of requesting page 100. For example, the price, telephone and working conditions corresponding to parts 102 and 103 may vary depending on the status of the client. In particular, wholesale customers and customers with the status of a "golden" customer can work at one price and be served at one business hours, while other customers will be served at another time and at different prices. The content of the part 101 relating to the user's basket depends on the price of the goods and on the number of units of goods ordered by the user.

Остальная часть страницы 100 является статической, т.е. является неизменной и не зависит от условий и времени запрашивания.The rest of page 100 is static, i.e. is unchanged and does not depend on the conditions and time of the request.

Хранимые на веб-сервере 10 веб-страницы 100 могут быть созданы с использованием компонентов с шаблонами CMS-системы или других модификаторов вывода. Как вариант, код страниц 100 может быть написан программистом на языке низкого уровня, без использования CMS системы и другого подобного программного обеспечения, управляющего контентом веб-страницы.The web pages 100 stored on the web server 10 can be created using components with CMS system templates or other output modifiers. Alternatively, the code of the pages 100 can be written by a programmer in a low-level language, without using a CMS system or other similar software that manages the content of a web page.

Рассмотрим вначале, что происходит при попытке пользователя открыть эту страницу 100 с использованием технологии известного уровня техники.Consider first what happens when a user tries to open this page 100 using prior art technology.

Итак, браузер оборудования пользователя посылает клиентский запрос на веб-сервер с адресом страницы 100. Веб-сервер, получив запрос на страницу 100, предпринимает действия по сборке html-кода этой страницы, в ходе которой выполняется следующее:So, the user equipment browser sends a client request to the web server with the page address of 100. The web server, having received the request to page 100, takes steps to assemble the html code of this page, during which the following is performed:

- выполнение программного кода динамических частей 101, 102, 103, относящегося к расчету корзины для данного пользователя, выводу телефона и времени работы пункта доставки и цены товара. Данный этап может проводиться с учетом проверки статуса и прав доступа пользователя, а также других возможных условий формирования страницы, и включает в себя выборку необходимых данных из баз данных, относящихся к клиентам, ценам и ассортименту, фильтрацию и сортировку этих данных и прочие действия, необходимые для формирования html-кода частей 101, 102, 103. В качестве программного кода обычно используется php-код, но может также выступать perl, asp, jsp и пр. Результатом этапа выполнения программного кода динамических частей является получение html-кода, соответствующего указанным частям 101, 102, 103;- execution of the program code of the dynamic parts 101, 102, 103 related to the calculation of the basket for a given user, the output of the phone and the opening hours of the delivery point and the price of the goods. This stage can be carried out taking into account the status and access rights of the user, as well as other possible conditions for the formation of the page, and includes the selection of necessary data from databases related to customers, prices and assortment, filtering and sorting of these data and other actions necessary for generating the html code of parts 101, 102, 103. The php code is usually used as the program code, but perl, asp, jsp, etc. can also be used. The result of the execution of the program code of the dynamic parts is to obtain the html code a, corresponding to the indicated parts 101, 102, 103;

- формирование html-кода веб-страницы 100, включающего html-код статической части и html-код динамических частей 101, 102, 103, полученный на предыдущем этапе путем выполнения их программного кода;- the formation of the html code of the web page 100, including the html code of the static part and the html code of the dynamic parts 101, 102, 103 obtained in the previous step by executing their program code;

- выдача сформированного html-кода веб-страницы 100 на оборудование пользователя с последующим отображением веб-страницы 100 браузером пользователя.- the issuance of the generated html code of the web page 100 to the user equipment, followed by the display of the web page 100 by the user's browser.

Как следует из фиг.3, в рассматриваемом очень простом примере время, проходящее с момента обращения пользователя к странице 100, содержащей всего три динамические части 101, 102, 103, до момента ее вывода в браузере пользователя, составляет 483 мс, из которых собственно отображение страницы занимает 26 мс, а остальное время уходит на сборку конечного html-кода. Все это время пользователь сидит перед пустым экраном своего оборудования, ожидая когда окончатся процессы формирования кода страницы 100, а также его пересылки и отображения.As follows from figure 3, in this very simple example, the time elapsing from the moment the user accesses page 100, which contains only three dynamic parts 101, 102, 103, until it is displayed in the user's browser, is 483 ms, of which the actual display the page takes 26 ms, and the rest of the time it takes to assemble the final html code. All this time, the user sits in front of a blank screen of his equipment, waiting for the completion of the process of generating the page 100 code, as well as forwarding and displaying it.

Теперь рассмотрим получение пользователем той же самой страницы 100 с использованием технологии, предложенной в настоящем изобретении. Как указано выше, действия, совершаемые настоящим изобретением по формированию и выдаче страницы при первом обращении к ней пользователя, отличаются от аналогичных действий при последующих обращениях пользователей к этой странице.Now consider the user receiving the same page 100 using the technology proposed in the present invention. As indicated above, the actions performed by the present invention to generate and issue a page upon first access to a user’s page are different from similar actions on subsequent user accesses to this page.

При первом обращении оборудования 50 пользователя к веб-странице 100, действия заявляемой системы 1 по сути совпадают с аналогичными действиями системы известного уровня техники. Последовательность этапов в этом случае такая. Браузер оборудования 50 пользователя посылает клиентский запрос на веб-сервер 10 с адресом страницы 100. Веб-сервер 10, получив запрос на страницу 100, предпринимает действия по сборке html-кода этой страницы, в ходе которой выполняется следующее:When the user equipment 50 first accesses the web page 100, the actions of the claimed system 1 essentially coincide with similar actions of the prior art system. The sequence of steps in this case is as follows. Browser of user equipment 50 sends a client request to web server 10 with page address 100. Web server 10, having received a request to page 100, takes steps to assemble the html code of this page, during which the following is performed:

- выполнение программного кода динамических частей 101, 102, 103, относящегося к расчету корзины для данного пользователя, выводу телефона и времени работы пункта доставки и цены товара. Данный этап может проводиться с учетом проверки статуса и прав доступа пользователя, а также других возможных условий формирования страницы, и включает в себя выборку необходимых данных из баз данных, относящихся к клиентам, ценам и ассортименту, фильтрацию и сортировку этих данных и прочие действия, необходимые для формирования html-кода частей 101, 102, 103. В качестве программного кода обычно используется php-код, но может также выступать perl, asp, jsp и пр. Результатом этапа выполнения программного кода динамических частей является получение html-кода, соответствующего указанным частям 101, 102, 103;- execution of the program code of the dynamic parts 101, 102, 103 related to the calculation of the basket for a given user, the output of the phone and the opening hours of the delivery point and the price of the goods. This stage can be carried out taking into account the status and access rights of the user, as well as other possible conditions for the formation of the page, and includes the selection of necessary data from databases related to customers, prices and assortment, filtering and sorting of these data and other actions necessary for generating the html code of parts 101, 102, 103. The php code is usually used as the program code, but perl, asp, jsp, etc. can also be used. The result of the execution of the program code of the dynamic parts is to obtain the html code a, corresponding to the indicated parts 101, 102, 103;

- формирование html-кода веб-страницы 100, включающего html-код статической части и html-код динамических частей 101, 102, 103, полученный на предыдущем этапе путем выполнения программного кода динамических частей 101, 102, 103 (данный этап в общем случае может быть объединен с предыдущим этапом способа выдачи веб-страниц по настоящему изобретению);- generation of the html code of the web page 100, including the html code of the static part and the html code of the dynamic parts 101, 102, 103, obtained in the previous step by executing the program code of the dynamic parts 101, 102, 103 (this step in the general case may be combined with the previous step of the method of issuing web pages of the present invention);

- выдача сформированного html-кода веб-страницы 100 на оборудование 50 пользователя с последующим отображением веб-страницы 100 браузером пользователя.- the issuance of the generated html code of the web page 100 to the equipment 50 of the user, followed by the display of the web page 100 by the user's browser.

Браузер пользователя отображает страницу 100 за те же 483 мс. Однако для веб-сервера 10 действия по обработке страницы 100 на этом не закончены. Он в фоновом режиме выполняет еще два этапа, дополнительные по сравнению со способом известного уровня техники. Первый из этих этапов - обнаружение в html-коде веб-страницы 100, полученном на этапе формирования html-кода, кода, относящегося к динамическим частям 101, 102, 103. Второй дополнительный этап заключается в замене в сформированном html-коде страницы 100 указанного кода, относящегося к динамическим частям 101, 102, 103, на специальный JS-скрипт, содержащий предписание на получение актуального кода этих динамических частей 101, 102, 103 с веб-сервера 10, с формированием в результате композитного кода 110 и в сохранении этого композитного кода 110 в своем запоминающем устройстве 15. После создания и сохранения композитного кода 110 действия предложенной системы 1 по формированию и выдаче веб-страницы 100 первому пользователю считаются выполненными.The user's browser displays page 100 in the same 483 ms. However, for the web server 10, the processing steps for page 100 are not finished. He in the background performs two more steps, additional in comparison with the method of the prior art. The first of these stages is the detection in the html code of the web page 100, obtained at the stage of generating the html code, of the code related to the dynamic parts 101, 102, 103. The second additional step is to replace the specified code in the generated html code of the page relating to the dynamic parts 101, 102, 103, to a special JS-script containing a prescription for receiving the actual code of these dynamic parts 101, 102, 103 from the web server 10, with the formation of the composite code 110 as a result and saving this composite code 110 in its memory 15. After creating and saving the composite code 110, the actions of the proposed system 1 for generating and issuing the web page 100 to the first user are considered completed.

При втором и последующих обращениях пользователя к странице 100, причем неважно, того же самого или нового, использующего то же самое оборудование или новое, действия системы таковы. Браузер пользователя посылает клиентский запрос на веб-сервер 10 с адресом страницы 100. Веб-сервер 10 отправляет на оборудование 50 пользователя сохраненный в запоминающем устройстве 15 композитный код 110 страницы 100. Перед отправкой веб-сервер 10 обычно проверяет, есть ли в запоминающем устройстве 15 файл с кодом 110, соответствующим запрошенной пользователем странице. Такая проверка целесообразна для исключения внештатных ситуаций. Если файла нет, то дальнейшее выполнение способа происходит, как это указано выше в отношении первого обращения пользователя. Если же файл есть, то он отсылается пользователю. Браузер пользователя, получив код 110, отображает его пользователю, и начиная с этого момента, пользователь уже может видеть на своем мониторе запрошенную страницу, пока, правда, только статическую ее часть, не заполненную динамическим контентом.At the second and subsequent calls of the user to page 100, it doesn’t matter the same or new, using the same equipment or new, the actions of the system are as follows. The user browser sends a client request to the web server 10 with a page address of 100. The web server 10 sends the composite code 110 of the page 100 stored in the storage device 15 to the user equipment 50. Before sending, the web server 10 usually checks if the storage device 15 has file with code 110 corresponding to the page requested by the user. Such a check is advisable to exclude emergency situations. If there is no file, then the further execution of the method occurs, as indicated above in relation to the first user call. If there is a file, then it is sent to the user. Having received the code 110, the user's browser displays it to the user, and starting from this moment, the user can already see the requested page on his monitor, so far, however, only its static part, not filled with dynamic content.

Одновременно с процедурой отображения статической части страницы пользователю, браузер, руководствуясь предписанием, содержащимся в JS-скрипте, посылает на веб-сервер фоновый для пользователя запрос на получение актуальных данных для динамических частей 101, 102, 103. Получив второй запрос от браузера, веб-сервер 10 выполняет программный код динамических частей 101, 102, 103, действуя по сути аналогично тому, как это описано в соответствующей части данного способа, относящейся к первому обращению пользователя к веб-странице 100. Результатом этапа выполнения программного кода динамических частей является получение html-кода, соответствующего указанным частям 101, 102, 103.Along with the procedure for displaying the static part of the page to the user, the browser, guided by the instruction contained in the JS script, sends a background request to the web server for the user to receive relevant data for the dynamic parts 101, 102, 103. After receiving the second request from the browser, the web the server 10 executes the program code of the dynamic parts 101, 102, 103, acting essentially in the same way as described in the corresponding part of this method relating to the first user access to the web page 100. The result of the step The completion of the program code of the dynamic parts is to obtain the html code corresponding to the indicated parts 101, 102, 103.

Далее, веб-сервер 10 досылает на компьютер пользователя html-код динамических частей 101, 102, 103, содержащий актуальную информацию о корзине пользователя, телефоне и времени работы пункта доставки и цене товара. Браузер пользователя сразу же после получения html-кода динамических частей отображает эти динамические части, например, последовательно по мере их получения, для пользователя в соответствующих полях уже выведенной статической части веб-страницы100.Further, the web server 10 sends the html-code of the dynamic parts 101, 102, 103 to the user's computer, containing up-to-date information about the user's basket, phone and the time of the delivery point and the price of the goods. The user browser immediately after receiving the html code of the dynamic parts displays these dynamic parts, for example, sequentially as they are received, for the user in the corresponding fields of the already displayed static part of the web page100.

Если обратиться к фиг.4, можно видеть, что при втором и последующих обращениях к странице 100 пользователь получает сохраненную страницу всего за 15 мс, из которых собственно отображение страницы занимает 13 мс. Сравнив это с 483 мс для способа вывода страниц, известного из уровня техники, нетрудно понять, что настоящее изобретение дает существенный выигрыш при отображении даже таких несложных страниц, характеризующихся относительно небольшим числом динамических частей. Последующие динамические данные приходят к пользователю и отображаются для него через 500 мс, но в виду того, что мозг и органы зрения человека не способны контролировать такое скоротечное изменение визуальной информации в разных частях выводимой на экран веб-страницы, пользователь не замечает процесса актуализации страницы, и у него складывается полное впечатление о моментальной загрузке запрашиваемой страницы, т.е. практически сразу же после обращения за ней к серверу. В результате, согласно техническому решению, предложенному в настоящем изобретении, работа с веб-страницами происходит в быстром, комфортном режиме, независимо от объема динамического контента на запрашиваемой странице. Кроме того, благодаря разделению процессов вывода статической и динамической частей веб-страницы на оборудование пользователя, веб-сервер загружается более равномерно, что благоприятно сказывается на сроке его службы.If you turn to figure 4, you can see that during the second and subsequent calls to page 100, the user receives a saved page in just 15 ms, of which the actual display of the page takes 13 ms. Comparing this with 483 ms for the method of outputting pages known from the prior art, it is easy to understand that the present invention provides significant benefits in displaying even such simple pages, characterized by a relatively small number of dynamic parts. The following dynamic data comes to the user and is displayed for him after 500 ms, but since the human brain and organs of vision are not able to control such a transient change in visual information in different parts of the displayed web page, the user does not notice the process of updating the page, and he has the full impression of instantly loading the requested page, i.e. almost immediately after contacting the server for it. As a result, according to the technical solution proposed in the present invention, work with web pages occurs in a quick, comfortable mode, regardless of the amount of dynamic content on the requested page. In addition, due to the separation of the processes of outputting the static and dynamic parts of the web page to the user’s equipment, the web server loads more evenly, which favorably affects its service life.

В общем случае, этап обнаружения в html-коде веб-страницы 100 кода, относящегося к динамическим частям, выполняется веб-сервером 10 путем анализа ее html-кода при помощи соответствующего распознающего программного модуля. При этом согласно предпочтительному варианту изобретения, обнаружение динамических частей происходит по специальным указаниям, расставленным в коде страницы разработчиками сайта. Например, установленная на веб-сервере CMS-система анализирует код веб-страницы при сохранении ее на сервер. Если CMS-система встречает установленные разработчиком сайта программные указания, то система заменяет их на собственные метки, по которым она впоследствии определяет места замены устаревших данных на актуальные. В этом случае этапы обнаружения динамических частей и их замены JS-скриптом протекают наиболее быстро, что дает дополнительный выигрыш в скорости при отображении веб-страницы.In the general case, the step of detecting in the html code of the web page 100 the code related to the dynamic parts is performed by the web server 10 by analyzing its html code using the corresponding recognition software module. Moreover, according to a preferred embodiment of the invention, the detection of dynamic parts occurs according to special instructions placed in the code of the page by the developers of the site. For example, a CMS system installed on a web server analyzes the code of a web page while saving it to the server. If the CMS-system meets the program instructions set by the website developer, then the system replaces them with its own labels, by which it subsequently determines where to replace obsolete data with current ones. In this case, the stages of detecting dynamic parts and replacing them with a JS script proceed most quickly, which gives an additional gain in speed when displaying a web page.

Согласно другому предпочтительному варианту изобретения, веб-сервер 10 на этапе выдачи оборудованию 50 пользователя композитного кода 110, сохраненного в запоминающем устройстве 15, направляет оборудованию пользователя дополнительно код объекта, предназначенного для временной подмены динамических частей 101, 102, 103 веб-страницы, т.е. до того момента, пока от сервера 10 не придет актуальная информация, относящаяся к этим динамическим частям. Это сделано для того, чтобы пользователь по внешнему виду отображенной статической части мог определить, что процесс вывода страницы выполнен не до конца. В соответствии с некоторыми типовыми случаями, на месте динамических частей в веб-странице может временно отображаться, например, некий информирующий пользователя текст, в частности, слово «Загрузка», или информация, которая выводилась при прошлом посещении страницы, а может вообще ничего не отражаться. Код объекта, отображаемого в динамической части до обращения JS-скрипта к серверу, как правило, зависит от предпочтений разработчика сайта. Его можно регулировать программным путем при настройке шаблонов компонентов.According to another preferred embodiment of the invention, the web server 10, at the stage of issuing to the user equipment 50 a composite code 110 stored in the storage device 15, sends to the user equipment an additional object code for temporarily replacing the dynamic parts of the web page 101, 102, 103, i.e. e. until the moment when the actual information related to these dynamic parts comes from the server 10. This is done so that the user can determine by the appearance of the displayed static part that the page display process is not completed to the end. In accordance with some typical cases, at the place of the dynamic parts in a web page, for example, some information informing the user, in particular, the word “Download”, or information that was displayed during the last visit to the page, or may not be reflected at all, can be temporarily displayed . The code of the object displayed in the dynamic part before the JS script contacts the server, as a rule, depends on the preferences of the site developer. It can be adjusted programmatically when configuring component templates.

В предпочтительном случае веб-сервер 10 при выдаче веб-страниц на оборудование пользователя осуществляет проверку того, изменилась или нет статическая часть страницы. Дело в том, что статические части страницы тоже иногда могут меняться. Эти изменения происходят гораздо реже, чем в случае динамических частей. Они носят не систематический, а эпизодический характер и связаны, как правило, с обновлением стиля сайта его создателями. Например, разработчик сайта решил заменить какую-либо картинку на странице или просто поменял фон всего сайта. Для более корректной работы предложенных способа и системы, целесообразно отслеживать указанные изменения статической части страниц и вносить соответствующие им поправки. В этих целях принято использовать механизм контрольных сумм, работающий по следующему принципу. Высчитывается контрольная сумма статической части и сохраняется в запоминающем устройстве в служебных данных кэша. При повторном заходе пользователя на страницу, при выполнении ее динамической части, заново высчитывается контрольная сумма обновленной страницы и сравнивается со старой суммой. Если они не совпали, то сервер делает вывод, что статическая часть страницы устарела и в кэш перезаписывается новая страница. Таким образом система автоматически, без участия человека отслеживает подобные изменения в статической части.In a preferred case, the web server 10, when issuing web pages to user equipment, checks to see if the static part of the page has changed. The fact is that the static parts of the page can also sometimes change. These changes occur much less frequently than in the case of dynamic parts. They are not systematic, but episodic in nature and are usually associated with updating the style of the site by its creators. For example, the site developer decided to replace any picture on the page or simply changed the background of the entire site. For more correct operation of the proposed method and system, it is advisable to track these changes in the static part of the pages and make corrections accordingly. For these purposes, it is customary to use a checksum mechanism that works according to the following principle. The checksum of the static part is calculated and stored in the storage device in the cache overhead. When the user visits the page again, when the dynamic part is executed, the checksum of the updated page is re-calculated and compared with the old amount. If they do not match, then the server concludes that the static part of the page is out of date and a new page is being rewritten to the cache. Thus, the system automatically, without human intervention, monitors such changes in the static part.

В этой связи, чтобы корректно учитывать возможные изменения в статической части запрашиваемой веб-страницы, предложенный способ (а значит, и с соответсвующими изменениями предложенная система) может включать в себя дополнительный этап высчитывания веб-сервером 10 контрольной суммы композитного кода 110, осуществляемый после этапа его формирования при первом обращении пользователя к веб-странице 100, а также следующие этапы, выполняемые после этапа досылки веб-сервером 10 актуального html-кода динамических частей 101, 102, 103 на оборудование 50 пользователя:In this regard, in order to correctly take into account possible changes in the static part of the requested web page, the proposed method (and, hence, the proposed system with corresponding changes) may include an additional step of calculating the checksum of the composite code 110 by the web server 10 after the step its formation when the user first accesses the web page 100, as well as the following steps that are performed after the web server 10 sends the actual html code of the dynamic parts 101, 102, 103 to the equipment 50 floors zovatelya:

- формирование веб-сервером 10 обновленного html-кода веб-страницы 100 включающего актуальный html-код статической части и указанный актуальный html-код динамических частей 101, 102, 103;- the formation by the web server 10 of the updated html code of the web page 100 including the actual html code of the static part and the specified actual html code of the dynamic parts 101, 102, 103;

- замена веб-сервером 10 в обновленном html-коде веб-страницы 100 указанного кода, относящегося к динамическим частям 101, 102, 103, на JS-скрипт, содержащий предписание на получение актуального кода этих динамических частей 101, 102, 103 с веб-сервера 10, с формированием обновленного композитного кода 110;- replacement by the web server 10 in the updated html code of the web page 100 of the indicated code relating to the dynamic parts 101, 102, 103, with a JS script containing a prescription for receiving the actual code of these dynamic parts 101, 102, 103 from the web server 10, with the formation of an updated composite code 110;

- высчитывание веб-сервером 10 контрольной суммы обновленного композитного кода 110 и сверка суммы обновленного композитного кода с прежней суммой композитного кода и, если суммы не совпадают, то сохранение сервером 10 обновленного композитного кода 110 в запоминающем устройстве 15 для использования в дальнейшем.- calculating by the web server 10 the checksum of the updated composite code 110 and reconciling the sum of the updated composite code with the previous sum of the composite code and, if the amounts do not match, then the server 10 stores the updated composite code 110 in the storage device 15 for future use.

При таком конфигурировании веб-сервера он будет автоматически отслеживать возможные изменения в статической части. При этом если сумма обновленного композитного кода и прежняя сумма композитного кода будут разниться, веб-сервер 10 может выдать обновленный html-код веб-страницы 100 оборудованию 50 пользователя для отображения обновленной веб-страницы 100 браузером, установленным на оборудовании 50 пользователя. В этом случае оборудование пользователя будет перерисовывать отображаемую в браузере веб-страницу 100, делая поправку на произошедшее изменение статической части веб-страницы. Последнее действие, однако, не является строго обязательным, поскольку последующий пользователь в любом случае получит веб-страницу в ее обновленном виде благодаря обновлению сохраненного композитного кода, тогда как единичным случаем рассогласования между отображенной статической частью и реально существующей можно пренебречь в виду его крайней редкости.With this configuration of the web server, it will automatically monitor for possible changes in the static part. Moreover, if the amount of the updated composite code and the previous amount of the composite code are different, the web server 10 may issue the updated html code of the web page 100 to the user equipment 50 to display the updated web page 100 by a browser installed on the user equipment 50. In this case, the user equipment will redraw the web page 100 displayed in the browser, making allowance for the change in the static part of the web page. The last action, however, is not strictly necessary, since the subsequent user will in any case receive the web page in its updated form by updating the saved composite code, while the only case of a mismatch between the displayed static part and the real part can be neglected in view of its extreme rarity.

Кроме того, в случае замены прежнего композитного кода обновленным прежний композитный код может не удаляться, а перезаписываться с присвоением ему нового имени. Таким образом разработчик получает возможность сравнения старого и нового кода для выявления причины появления обновленного файла кэша, что является очень информативным при нахождении ошибок в программировании.In addition, if you replace the old composite code with an updated one, the previous composite code may not be deleted, but rewritten with a new name. Thus, the developer gets the opportunity to compare the old and new code to identify the reasons for the appearance of the updated cache file, which is very informative when finding errors in programming.

Согласно еще одному варианту изобретения, веб-сервер 10 может быть выполнен с возможностью имитации первого обращения оборудования 50 пользователя к веб-странице 100. В частности, это может осуществляться при помощи программного модуля, имитирующего обращение пользователя к веб-странице. В этом случае веб-сервер заблаговременно создает композитный код 110 веб-страниц, не дожидаясь запросов реальных пользователей, так что уже следующий обратившийся к странице пользователь может воспользоваться преимуществами предложенной в настоящем изобретении технологии.According to another embodiment of the invention, the web server 10 can be configured to simulate a first access of the user equipment 50 to the web page 100. In particular, this can be done using a software module that simulates a user access to the web page. In this case, the web server generates a composite code 110 of web pages in advance without waiting for requests from real users, so that the next user who accesses the page can take advantage of the technology proposed in the present invention.

Между тем, данный вариант хоть и имеет право на существование, не является предпочтительным. С практической точки зрения лучше, если первое обращение к странице происходит от реального пользователя. Причин здесь несколько. Во-первых, страниц на сайте, как правило, много, и для их обхода программным модулем требуется задействовать существенные вычислительные ресурсы. Во-вторых, многие страницы не особо привлекательны для пользователя, и нет смысла их специально обходить и кэшировать. В третьих, страницы могут устаревать, и их опять нужно обновлять, что опять влечет за собой вычислительные издержки. Основной вариант изобретения много проще и практичнее - сами пользователи своим посещением голосуют за наиболее интересные и часто запрашиваемые страницы. Соответственно, они сами определяют и создают важные, с точки зрения Интернет-пользователей, композитные страницы. Получается более экономно и эффективно, и проще для разработчиков сайтов.Meanwhile, this option, although it has the right to exist, is not preferred. From a practical point of view, it is better if the first access to the page comes from a real user. There are several reasons for this. Firstly, as a rule, there are a lot of pages on a site, and for them to be bypassed by a software module, significant computing resources are required. Secondly, many pages are not particularly attractive to the user, and there is no point in specially crawling and caching them. Thirdly, pages may become outdated, and again they need to be updated, which again entails computational overhead. The main embodiment of the invention is much simpler and more practical - users themselves by their visit vote for the most interesting and frequently requested pages. Accordingly, they themselves define and create important, from the point of view of Internet users, composite pages. It turns out more economically and efficiently, and easier for site developers.

Настоящее изобретение раскрыто выше на примере лишь некоторых вариантов его выполнения, которые не следует рассматривать в качестве условий, ограничивающих объем правовой охраны изобретения. Заявитель считает целесообразным отметить, что в указанные представленные варианты могут быть внесены различные изменения, дополнения и модификации, не приводящие к изменению сути настоящего изобретения, а следовательно все эти изменения, дополнения и модификации необходимо расценивать как подпадающие под объем притязаний изобретения, определяемый его приложенной формулой.The present invention has been disclosed above by way of example only certain embodiments thereof, which should not be construed as conditions limiting the scope of legal protection of the invention. The Applicant considers it appropriate to note that various changes, additions and modifications may be made to the indicated presented options that do not lead to a change in the essence of the present invention, and therefore all these changes, additions and modifications should be regarded as falling within the scope of the claims of the invention defined by its attached claims .

ПЕРЕЧЕНЬ ССЫЛОЧНЫХ НОМЕРОВLIST OF REFERENCE NUMBERS

1 - предложенная система формирования и выдачи веб-страниц пользователю1 - the proposed system for the formation and delivery of web pages to the user

10 - веб-сервер10 - web server

15 - запоминающее устройство15 - storage device

50 - оборудование пользователя50 - user equipment

100 - веб-страница100 - web page

101, 102, 103 - динамические части веб-страницы101, 102, 103 - dynamic parts of a web page

110 - композитный код.110 is a composite code.

Claims (16)

1. Способ выдачи веб-страниц, содержащих по меньшей мере одну динамическую часть, на оборудование пользователя, включающий следующие этапы:
- при первом обращении оборудования (50) пользователя к веб-странице (100), размещенной на веб-сервере (10):
- выполнение веб-сервером (10) программного кода веб-страницы (100), в том числе имеющихся на ней динамических частей (101, 102, 103), с формированием html-кода веб-страницы (100), включающего html-код статической части и html-код динамических частей (101, 102, 103);
- выдача веб-сервером (10) html-кода веб-страницы (100) оборудованию (50) пользователя для отображения этой веб-страницы (100) браузером, установленным на оборудовании (50) пользователя;
- обнаружение веб-сервером (10) в html-коде веб-страницы (100), полученном на этапе формирования html-кода, кода, относящегося к динамическим частям (101, 102, 103);
- замена веб-сервером (10) в html-коде веб-страницы (100) указанного кода, относящегося к динамическим частям (101, 102, 103), на JS-скрипт (скрипт на языке JavaScript), содержащий предписание на получение актуального кода этих динамических частей (101, 102, 103) с веб-сервера (10), с формированием композитного кода (110) и сохранение этого композитного кода (110) в запоминающем устройстве (15);
- при втором и последующих обращениях оборудования (50) пользователя к веб-странице (100):
- выдача веб-сервером (10) оборудованию (50) пользователя композитного кода (110), сохраненного в запоминающем устройстве (15), для отображения браузером, установленным на оборудовании (50) пользователя, статической части веб-страницы (100);
- прием веб-сервером (10) от браузера запроса на актуальные данные для динамических частей (101, 102, 103), направляемого браузером путем следования предписанию, содержащемуся в JS-скрипте композитного кода (110);
- выполнение веб-сервером (10) программного кода динамических частей (101, 102, 103) с получением актуального html-кода, соответствующего этим частям (101, 102, 103);
- досылка веб-сервером (10) актуального html-кода динамических частей (101, 102, 103) на оборудование (50) пользователя для отображения браузером, установленным на оборудовании (50) пользователя, указанных динамических частей (101, 102, 103) в соответствующих полях уже выведенной статической части веб-страницы (100), согласно сформированному актуальному html-коду этих динамических частей (101, 102, 103).
1. A method of issuing web pages containing at least one dynamic part to user equipment, comprising the following steps:
- upon the first access of the user equipment (50) to the web page (100) located on the web server (10):
- execution by the web server (10) of the program code of the web page (100), including the dynamic parts available on it (101, 102, 103), with the formation of the html code of the web page (100), including the html code of the static parts and html-code of the dynamic parts (101, 102, 103);
- issuance by the web server (10) of the html code of the web page (100) to the user equipment (50) for displaying this web page (100) by a browser installed on the user equipment (50);
- detection by the web server (10) in the html code of the web page (100) obtained at the stage of generating the html code, the code related to the dynamic parts (101, 102, 103);
- replacement by the web server (10) in the html code of the web page (100) of the specified code related to the dynamic parts (101, 102, 103) with a JS script (JavaScript script) containing a prescription for receiving the current code these dynamic parts (101, 102, 103) from a web server (10), with the formation of a composite code (110) and storing this composite code (110) in a storage device (15);
- at the second and subsequent calls of the user equipment (50) to the web page (100):
- issuance by the web server (10) to the user equipment (50) of the composite code (110) stored in the storage device (15) for displaying by the browser installed on the user equipment (50) the static part of the web page (100);
- the web server (10) receives from the browser a request for relevant data for the dynamic parts (101, 102, 103) sent by the browser by following the instruction contained in the composite code JS script (110);
- execution by the web server (10) of the program code of the dynamic parts (101, 102, 103) to obtain the actual html code corresponding to these parts (101, 102, 103);
- sending by the web server (10) of the current html code of the dynamic parts (101, 102, 103) to the user equipment (50) to display the specified dynamic parts (101, 102, 103) in a browser installed on the user equipment (50) in corresponding fields of the already displayed static part of the web page (100), according to the generated actual html code of these dynamic parts (101, 102, 103).
2. Способ по п.1, в котором этап обнаружения веб-сервером (10) в html-коде веб-страницы (100) кода, относящегося к динамическим частям, осуществляют с использованием указаний в коде веб-страницы, помечающих эти части страницы как динамические.2. The method according to claim 1, in which the step of detecting by the web server (10) in the html code of the web page (100) the code related to the dynamic parts is carried out using the indications in the code of the web page marking these parts of the page as dynamic. 3. Способ по п.1, в котором перед этапом выдачи оборудованию (50) пользователя композитного кода (110) веб-сервер (10) проверяет наличие этого композитного кода (110) в запоминающем устройстве (15), причем если композитный код (110) отсутствует, веб-сервер (10) расценивает данное обращение оборудования (50) пользователя к веб-странице (100) как первое и переходит к выполнению этапов, относящихся к первому обращению.3. The method according to claim 1, in which, before the step of issuing the composite code (110) to the user equipment (50), the web server (10) checks for the presence of this composite code (110) in the storage device (15), moreover, if the composite code (110) ) is missing, the web server (10) regards this user equipment (50) access to the web page (100) as the first and proceeds to the steps related to the first access. 4. Способ по п.1, в котором веб-сервер (10) на этапе выдачи оборудованию пользователя композитного кода (110), сохраненного в запоминающем устройстве (15), направляет оборудованию пользователя дополнительно код объекта, предназначенного для временной подмены динамических частей веб-страницы (100).4. The method according to claim 1, in which the web server (10) at the stage of issuing to the user equipment a composite code (110) stored in the storage device (15), additionally sends to the user equipment an object code for temporarily replacing the dynamic parts of the web pages (100). 5. Способ по п.1, дополнительно содержащий этап высчитывания веб-сервером (10) контрольной суммы композитного кода (110), осуществляемый после этапа его формирования при первом обращении оборудования пользователя к веб-странице (100), а также следующие этапы, выполняемые после этапа досылки веб-сервером (10) актуального html-кода динамических частей (101, 102, 103) на оборудование (50) пользователя:
- формирование веб-сервером (10) обновленного html-кода веб-страницы (100) включающего актуальный html-код статической части и указанный актуальный html-код динамических частей (101, 102, 103);
- замена веб-сервером (10) в обновленном html-коде веб-страницы (100) указанного кода, относящегося к динамическим частям (101, 102, 103), на JS-скрипт, содержащий предписание на получение актуального кода этих динамических частей (101, 102, 103) с веб-сервера (10), с формированием обновленного композитного кода (110);
- высчитывание веб-сервером (10) контрольной суммы обновленного композитного кода (110) и сверка суммы обновленного композитного кода с прежней суммой композитного кода и, если суммы не совпадают, то сохранение сервером (10) обновленного композитного кода (110) в запоминающем устройстве (15) для использования в дальнейшем.
5. The method according to claim 1, further comprising the step of calculating by the web server (10) the checksum of the composite code (110), carried out after the stage of its generation upon the first access of the user equipment to the web page (100), as well as the following steps performed after the step of sending by the web server (10) the current html code of the dynamic parts (101, 102, 103) to the user’s equipment (50):
- formation by the web server (10) of the updated html code of the web page (100) including the actual html code of the static part and the specified actual html code of the dynamic parts (101, 102, 103);
- replacement by the web server (10) in the updated html code of the web page (100) of the specified code related to the dynamic parts (101, 102, 103) with a JS script containing a prescription for receiving the actual code of these dynamic parts (101 , 102, 103) from the web server (10), with the formation of an updated composite code (110);
- calculating by the web server (10) the checksum of the updated composite code (110) and reconciling the sum of the updated composite code with the previous sum of the composite code and, if the amounts do not match, then the server (10) stores the updated composite code (110) in the storage device ( 15) for future reference.
6. Способ по п.5, в котором если сумма обновленного композитного кода и прежняя сумма композитного кода не совпадают, веб-сервер (10) выдает обновленный html-код веб-страницы (100) оборудованию (50) пользователя для отображения обновленной веб-страницы (100) браузером, установленным на оборудовании (50) пользователя.6. The method according to claim 5, in which if the sum of the updated composite code and the previous sum of the composite code do not match, the web server (10) issues the updated html code of the web page (100) to the user equipment (50) to display the updated web pages (100) by a browser installed on the equipment (50) of the user. 7. Способ по п.5, дополнительно содержащий этап пересохранения прежнего композитного кода с присвоением ему нового имени.7. The method according to claim 5, further comprising the step of re-saving the previous composite code with assigning a new name to it. 8. Способ по п.1, содержащий этап имитации веб-сервером (10) первого обращения оборудования (50) пользователя к веб-странице (100).8. The method according to claim 1, comprising the step of simulating by the web server (10) the first access of the user equipment (50) to the web page (100). 9. Система (1) выдачи веб-страниц, содержащих по меньшей мере одну динамическую часть, на оборудование пользователя, включающая в себя веб-сервер (10) с размещенными на нем веб-страницами (100) и запоминающее устройство (15), причем веб-сервер (10) выполнен с возможностью:
- при первом обращении оборудования (50) пользователя к веб-странице (100) совершать следующие действия:
- выполнение программного кода веб-страницы (100), в том числе имеющихся на ней динамических частей (101, 102, 103), с формированием html-кода веб-страницы (100), включающего html-код статической части и html-код динамических частей (101, 102, 103);
- выдача html-кода веб-страницы (100) оборудованию (50) пользователя для отображения этой веб-страницы (100) браузером, установленным на оборудовании (50) пользователя;
- обнаружение в html-коде веб-страницы (100), полученном на этапе формирования html-кода, кода, относящегося к динамическим частям (101, 102, 103);
- замена в html-коде веб-страницы (100) указанного кода, относящегося к динамическим частям (101, 102, 103), на JS-скрипт (скрипт на языке JavaScript), содержащий предписание на получение актуального кода этих динамических частей (101, 102, 103) с веб-сервера (10), с формированием композитного кода (110) и сохранение этого композитного кода (110) в запоминающем устройстве (15);
- при втором и последующих обращениях оборудования (50) пользователя к веб-странице (100) совершать следующие действия:
- выдача оборудованию (50) пользователя композитного кода (110), сохраненного в запоминающем устройстве (15), для отображения браузером, установленным на оборудовании (50) пользователя, статической части этой веб-страницы (100);
- прием от браузера запроса на актуальные данные для динамических частей (101, 102, 103), направляемого браузером путем следования предписанию, содержащемуся в JS-скрипте композитного кода (110);
- выполнение по запросу от браузера программного кода динамических частей (101, 102, 103) с получением актуального html-кода, соответствующего этим частям (101, 102, 103);
- досылка актуального html-кода динамических частей (101, 102, 103) на оборудование пользователя для их отображения браузером, установленным на оборудовании (50) пользователя, в соответствующих полях уже выведенной статической части веб-страницы (100), согласно сформированному актуальному html-коду этих динамических частей (101, 102, 103).
9. A system (1) for issuing web pages containing at least one dynamic part to user equipment, including a web server (10) with web pages (100) and a storage device (15) located on it, the web server (10) is configured to:
- upon the first access of the user equipment (50) to the web page (100), perform the following actions:
- execution of the program code of the web page (100), including the dynamic parts available on it (101, 102, 103), with the formation of the html code of the web page (100), including the html code of the static part and the html code of the dynamic parts (101, 102, 103);
- issuing the html code of the web page (100) to the user equipment (50) to display this web page (100) by a browser installed on the user equipment (50);
- detection in the html code of the web page (100) obtained at the stage of generating the html code, a code related to the dynamic parts (101, 102, 103);
- replacement in the html code of the web page (100) of the specified code related to the dynamic parts (101, 102, 103) with a JS script (JavaScript script) containing a prescription for receiving the actual code of these dynamic parts (101, 102, 103) from a web server (10), with the formation of a composite code (110) and storing this composite code (110) in a storage device (15);
- during the second and subsequent calls of the user equipment (50) to the web page (100), perform the following actions:
- the issuance to the equipment (50) of the user of the composite code (110) stored in the storage device (15), for display by the browser installed on the equipment (50) of the user, the static part of this web page (100);
- receiving from the browser a request for relevant data for the dynamic parts (101, 102, 103), sent by the browser by following the instruction contained in the composite code JS script (110);
- execution, upon request from the browser, of the program code of the dynamic parts (101, 102, 103) with the receipt of the current html-code corresponding to these parts (101, 102, 103);
- sending the actual html code of the dynamic parts (101, 102, 103) to the user’s equipment for display by a browser installed on the user’s equipment (50) in the corresponding fields of the already displayed static part of the web page (100), according to the generated html- the code of these dynamic parts (101, 102, 103).
10. Система по п.9, в которой веб-сервер (10) выполнен также с возможностью обнаружения в html-коде веб-страницы (100) кода, относящегося к динамическим частям, с использованием указаний в коде веб-страницы, помечающих эти части страницы как динамические.10. The system according to claim 9, in which the web server (10) is also configured to detect in the html code of the web page (100) the code related to the dynamic parts using the instructions in the code of the web page marking these parts pages as dynamic. 11. Система по п.9, в которой веб-сервер (10) выполнен также с возможностью проверки, перед этапом выдачи оборудованию (50) пользователя композитного кода (110), наличия этого композитного кода (110) в запоминающем устройстве (15), причем если композитный код (110) отсутствует, веб-сервер (10) расценивает данное обращение оборудования (50) пользователя к веб-странице (100) как первое.11. The system according to claim 9, in which the web server (10) is also configured to verify, before the step of issuing the user equipment (50) a composite code (110), the presence of this composite code (110) in the storage device (15), moreover, if there is no composite code (110), the web server (10) regards this user equipment (50) access to the web page (100) as the first. 12. Система по п.9, в которой веб-сервер (10) выполнен также с возможностью во время выдачи оборудованию пользователя композитного кода (110), сохраненного в запоминающем устройстве (15), направлять оборудованию пользователя дополнительно код объекта, предназначенного для временной подмены динамических частей веб-страницы (100).12. The system according to claim 9, in which the web server (10) is also configured to, during the issuance of the user equipment a composite code (110) stored in the storage device (15), send to the user equipment an additional code of the object intended for temporary substitution dynamic parts of a web page (100). 13. Система по п.9, в которой веб-сервер (10) выполнен также с возможностью высчитывания контрольной суммы композитного кода (110) после этапа его формирования при первом обращении оборудования пользователя к веб-странице (100), а также с возможностью выполнения следующих действий, осуществляемых после досылки веб-сервером (10) актуального html-кода динамических частей (101, 102, 103) на оборудование (50) пользователя:
- формирование обновленного html-кода веб-страницы (100), включающего актуальный html-код статической части и указанный актуальный html-код динамических частей (101, 102, 103);
- замена в обновленном html-коде веб-страницы (100) указанного кода, относящегося к динамическим частям (101, 102, 103), на JS-скрипт, содержащий предписание на получение актуального кода этих динамических частей (101, 102, 103) с веб-сервера (10), с формированием обновленного композитного кода (110);
- высчитывание контрольной суммы обновленного композитного кода (110) и сверка суммы обновленного композитного кода с прежней суммой композитного кода и, если суммы не совпадают, то сохранение обновленного композитного кода (110) в запоминающем устройстве (15) для использования в дальнейшем.
13. The system according to claim 9, in which the web server (10) is also configured to calculate the checksum of the composite code (110) after the stage of its formation at the first access of the user equipment to the web page (100), as well as with the possibility of execution the following actions performed after the web server (10) sends the current html code of the dynamic parts (101, 102, 103) to the user’s equipment (50):
- the formation of an updated html-code of the web page (100), including the actual html-code of the static part and the specified actual html-code of the dynamic parts (101, 102, 103);
- replacement in the updated html code of the web page (100) of the specified code related to the dynamic parts (101, 102, 103) with a JS script containing a prescription for receiving the actual code of these dynamic parts (101, 102, 103) with web server (10), with the formation of an updated composite code (110);
- calculating the checksum of the updated composite code (110) and reconciling the sum of the updated composite code with the previous sum of the composite code and, if the amounts do not match, then saving the updated composite code (110) in the storage device (15) for future use.
14. Система по п.13, в которой веб-сервер (10) выполнен также с возможностью выдачи обновленного html-кода веб-страницы (100) оборудованию (50) пользователя для отображения обновленной веб-страницы (100) браузером, установленным на оборудовании (50) пользователя, если сумма обновленного композитного кода и прежняя сумма композитного кода не совпадают.14. The system of claim 13, wherein the web server (10) is also configured to provide updated html code of the web page (100) to the user equipment (50) to display the updated web page (100) by a browser installed on the equipment (50) the user if the sum of the updated composite code and the previous sum of the composite code do not match. 15. Система по п.13, в которой веб-сервер (10) выполнен также с возможностью пересохранения прежнего композитного кода с присвоением ему нового имени.15. The system according to item 13, in which the web server (10) is also configured to re-save the previous composite code with a new name. 16. Система по п.9, в которой веб-сервер (10) выполнен также с возможностью имитации первого обращения оборудования (50) пользователя к веб-странице (100). 16. The system according to claim 9, in which the web server (10) is also configured to simulate the first access of the user equipment (50) to the web page (100).
RU2014114859/08A 2014-04-15 2014-04-15 Method of outputting web pages to user equipment and system therefor RU2571577C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2014114859/08A RU2571577C2 (en) 2014-04-15 2014-04-15 Method of outputting web pages to user equipment and system therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2014114859/08A RU2571577C2 (en) 2014-04-15 2014-04-15 Method of outputting web pages to user equipment and system therefor

Publications (2)

Publication Number Publication Date
RU2014114859A RU2014114859A (en) 2015-10-20
RU2571577C2 true RU2571577C2 (en) 2015-12-20

Family

ID=54326954

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014114859/08A RU2571577C2 (en) 2014-04-15 2014-04-15 Method of outputting web pages to user equipment and system therefor

Country Status (1)

Country Link
RU (1) RU2571577C2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108536522A (en) * 2018-04-12 2018-09-14 江南大学 A kind of intelligent form application process and system
RU2719297C1 (en) * 2018-07-10 2020-04-17 Кэнон Кабусики Кайся Information processing device, method for controlling information processing device and data medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5483631A (en) * 1990-05-01 1996-01-09 Hitachi, Ltd. Communication network management system for displaying operation states of network elements on a remote display unit
RU2084949C1 (en) * 1993-07-27 1997-07-20 Логутко Альберт Леонидович Method for input of information in computer
RU2202825C2 (en) * 2001-06-04 2003-04-20 Арсен Ревазов Method for visualizing object of advertising-andinformational character
US6591271B1 (en) * 1999-07-13 2003-07-08 Politecnico Di Milano Model for the definition of world wide web sites and method for their design and verification
RU2427912C2 (en) * 2006-10-19 2011-08-27 Исфору Ко., Лтд. System for visual display and information control on web-page with application of indicator

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5483631A (en) * 1990-05-01 1996-01-09 Hitachi, Ltd. Communication network management system for displaying operation states of network elements on a remote display unit
RU2084949C1 (en) * 1993-07-27 1997-07-20 Логутко Альберт Леонидович Method for input of information in computer
US6591271B1 (en) * 1999-07-13 2003-07-08 Politecnico Di Milano Model for the definition of world wide web sites and method for their design and verification
RU2202825C2 (en) * 2001-06-04 2003-04-20 Арсен Ревазов Method for visualizing object of advertising-andinformational character
RU2427912C2 (en) * 2006-10-19 2011-08-27 Исфору Ко., Лтд. System for visual display and information control on web-page with application of indicator

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108536522A (en) * 2018-04-12 2018-09-14 江南大学 A kind of intelligent form application process and system
RU2719297C1 (en) * 2018-07-10 2020-04-17 Кэнон Кабусики Кайся Information processing device, method for controlling information processing device and data medium
US10917474B2 (en) 2018-07-10 2021-02-09 Canon Kabushiki Kaisha Information processing apparatus, method for controlling information processing apparatus, and storage medium

Also Published As

Publication number Publication date
RU2014114859A (en) 2015-10-20

Similar Documents

Publication Publication Date Title
US10346522B2 (en) Optimization for rendering web pages
CN108279932B (en) Method and device for dynamically configuring user interface of mobile terminal
EP2704037A2 (en) A method for generating or updating an interactive webpage
JP4857349B2 (en) Method, system, and computer program for providing asynchronous portal pages within a portal system
US8312450B2 (en) Widgetizing a web-based application
EP2227760A1 (en) Templating system and method for updating content in real time
US20090085921A1 (en) Populate Web-Based Content Based on Space Availability
US20100313129A1 (en) Self-Expanding AD Unit
US20100138477A1 (en) Crunching Dynamically Generated Script Files
US11562037B2 (en) Crawlability of single page applications
US8516041B1 (en) Pre-fetching asynchronously requested content
CN113343154B (en) Page loading method and device, electronic equipment and storage medium
US10606618B2 (en) Contextual assistance system
CN110795649A (en) Target page display method, device and system and electronic equipment
WO2015080903A1 (en) Systems and methods for executing aspects of a document
US10324970B2 (en) Feedback analysis for content improvement tasks
US20170147543A1 (en) Enabling legacy web applications for mobile devices
WO2023179725A1 (en) Application integration method and device
US20210286857A1 (en) System and method for browser-based target data extraction
RU2571577C2 (en) Method of outputting web pages to user equipment and system therefor
CN112784195A (en) Page data publishing method and system
US20170075871A1 (en) Treatment controller
CN112565472A (en) Static resource processing method and device
CN113655977A (en) Material display method and device, electronic equipment and storage medium
US11487931B1 (en) Replaying a webpage based on virtual document object model
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载