Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Протоколы сети Интернет

Содержание

Общие сведенияИнтернет  — всемирная система объединённых компьютерных сетей, построенная на использовании протокола IP и маршрутизации пакетов данных. Интернет образует глобальное информационное пространство, служит физической основой для Всемирной паутины и множества других систем (протоколов) передачи данных.
Web, UrllibКратко о том, что и как в инете, и причем здесь Питон. Общие сведенияИнтернет  — всемирная система объединённых компьютерных сетей, построенная на использовании протокола Всемирная паутина — распределенная система, предоставляющая доступ к связанным между собой документам, расположенным Большинство ресурсов всемирной паутины представляет собой гипертекст. Гипертекстовые документы, размещаемые во всемирной Для облегчения создания, хранения и отображения гипертекста во Всемирной паутине традиционно используется Семантическая паутина — это направление развития Всемирной паутины — это направление развития Всемирной паутины, URI (англ. Uniform Resource Identifier) — унифицированный (единообразный) идентификатор ресурса.URI — это последовательность символов, идентифицирующая абстрактный Ключевые принципы Интернет состоит из многих тысяч корпоративных, научных, правительственных и домашних Протокол IP используется для негарантированной доставки данных, разделяемых на так называемые пакеты используется Transmission Control Protocol (TCP) — один из основных сетевых протоколов — один из основных сетевых протоколов Интернета, Сетевой протокол — набор правил, позволяющий осуществлять соединение и обмен данными между Протокол IP был специально создан агностическим в отношении физических каналов связи. На Сетевая модель OSI (ЭМВОС) — абстрактная сетевая модель — абстрактная сетевая модель HTTPHTTP ( HyperText Transfer Protocol ) — протокол прикладного уровня передачи данных (изначально — в виде гипертекстовых документов). Основой HTTP является технология «клиент-сервер». Предполагается существование: Потребителей (клиентов), которые инициируют соединение и Метод HTTP — последовательность из любых символов, кроме управляющих и разделителей, указывающая на GET - используется для запроса содержимого указанного ресурса. С помощью метода GET можно также httplibЭтот модуль определяет классы, реализующие HTTP и HTTPS протоколы.Обычно он не используется Классы httplibclass httplib.HTTPSConnection(…)class httplib.HTTPResponse(…)class httplib.HTTPMessage(Provides utility functions to deal with HTTP Headers.)Также в этом модуле много объектов класса Exception. class httplib.HTTPConnection(host[, port[, strict[, timeout[, source_address]]]])  (предоставляет один сеанс с HTTP сервером.)h3 = httplib.HTTPConnection('www.google.ru', 80) h3 HTTPConnection.request(method, url[, body[, headers]]) request(…) отправляет запрос серверу используя HTTP метод method и селектор url.HTTPConnection.getresponse() class httplib.HTTPResponse(sock[, debuglevel=0][, strict=0])   Объект - то, что возвращается после успешного соединения. UrllibЭтот модуль предоставляет средства высокого уровня для чтения сетевых ресурсов, используя различные протоколы. Определенные в этом модуле средства позволяют обращаться к ресурсам через proxy- сервер, Стоит отметить, что при работе с WWW используется в основном протокол HTTP, Средства urlliburlopen(url [, data])Создает и возвращает объект, реализующий чтение ресурса url. Использует urlencode(dict) dict – словарь.Возвращает строку с данными dict в формате ‘application/x-www-form-urlencoded’. Возвращаемая read(), readline(), readlines(), fileno() и close() реализуют чтение ресурса.info() возвращает информацию о Модуль urlparseЭтот модуль определяет средства для разбиения Url на компоненты, конструирования URL Средства urlparseurlparse(urlstring [, default_scheme [, allow_fragments]])Разбивает URL на части, и возвращает tuple urlunparse(tuple)Восстанавливает по tuple url адрес.urljoin(base, rel_url [, allow_fragments])Конструирует и возвращает полный url адрес. Всё программное обеспечение для работы с протоколом HTTP разделяется на три больших Прокси-серверПрокси-сервер — служба в компьютерных сетях — служба в компьютерных сетях, позволяющая клиентам выполнять косвенные запросы к другим сетевым службам. Сначала клиент подключается к прокси-серверу и запрашивает какой-либо ресурс (например, e-mailСначала клиент подключается Виды прокси-серверовПрозрачный прокси — схема связи, при которой трафик, или его часть, перенаправляется import urllib2   uri = Модуль CGICGI- программа вызывается HTTP-сервером, обычно для обработки данных, переданных пользователем через Модуль cgi берет на себя заботу обо всех возможных способах передачи данных Средства cgiFieldStorage([**keyword_args])При инициализации его без аргументов происходит обработка данных со стандартного потока Конструктор класса принимает след. Аргументы:fp – альтернативный файловый объектHeaders – отобр- е Атрибуты класса FieldStoragenamefilenameValuefiletypeHeaders и др. import cgiprint CookieКуки — небольшой фрагмент данных, созданный веб-сервером — небольшой фрагмент данных, созданный веб-сервером или веб-страницей и хранимый В техническом плане куки представляют собой фрагменты данных, изначально отправляемых веб-сервером браузеру. Установка кукиЗапрашивая страницу, браузер отправляет веб-серверу короткий текст с HTTP-запросом. Например, для Сервер отвечает Пример:import http.cookiejar, urllib.request cj = http.cookiejar.CookieJar() opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj)) r = opener.open( I am just asking…
Слайды презентации

Слайд 2 Общие сведения
Интернет  — всемирная система объединённых компьютерных сетей,

Общие сведенияИнтернет  — всемирная система объединённых компьютерных сетей, построенная на использовании

построенная на использовании протокола IP и маршрутизации пакетов данных.

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

Слайд 3

Всемирная паутина — распределенная система, предоставляющая доступ к связанным

Всемирная паутина — распределенная система, предоставляющая доступ к связанным между собой документам,

между собой документам, расположенным на различных компьютерах, подключенных к

Интернету. Всемирную паутину образуют миллионы web-серверов.


Слайд 5 Большинство ресурсов всемирной паутины представляет собой гипертекст. Гипертекстовые

Большинство ресурсов всемирной паутины представляет собой гипертекст. Гипертекстовые документы, размещаемые во

документы, размещаемые во всемирной паутине, называются web-страницами.

Для загрузки и

просмотра web-страниц используются специальные программы — браузеры.




Слайд 6
Для облегчения создания, хранения и отображения гипертекста во

Для облегчения создания, хранения и отображения гипертекста во Всемирной паутине традиционно

Всемирной паутине традиционно используется язык HTML (англ. HyperText Markup Language),

язык разметки гипертекста.

После того, как HTML-файл становится доступен веб-серверу, его начинают называть «веб-страницей».

В целом, Всемирная паутина стоит на «трёх китах»: HTTP, HTML и URL.

Слайд 7 Семантическая паутина — это направление развития Всемирной паутины —

Семантическая паутина — это направление развития Всемирной паутины — это направление развития Всемирной

это направление развития Всемирной паутины, целью которого является представление информации в виде,

пригодном для машинной обработки.

Семантическая паутина работает параллельно с обычной Паутиной и на её основе, используя протокол HTTPСемантическая паутина работает параллельно с обычной Паутиной и на её основе, используя протокол HTTP и идентификаторы ресурсов URI.

Слайд 8 URI (англ. Uniform Resource Identifier) — унифицированный (единообразный) идентификатор ресурса.

URI — это

URI (англ. Uniform Resource Identifier) — унифицированный (единообразный) идентификатор ресурса.URI — это последовательность символов, идентифицирующая

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

Структура URI очень

гибка, синтаксис не сложен. В базовом виде URI представляется как:
<схема>:<идентификатор-в-зависимости-от-схемы>

Самый известный пример URI — это URL.
http://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%BA%D1%80%D0%


Слайд 9 Ключевые принципы
Интернет состоит из многих тысяч корпоративных, научных,

Ключевые принципы Интернет состоит из многих тысяч корпоративных, научных, правительственных и

правительственных и домашних компьютерныхИнтернет состоит из многих тысяч корпоративных,

научных, правительственных и домашних компьютерных сетей. Объединение сетей разной архитектуры и топологииИнтернет состоит из многих тысяч корпоративных, научных, правительственных и домашних компьютерных сетей. Объединение сетей разной архитектуры и топологии стало возможно благодаря протоколу IPИнтернет состоит из многих тысяч корпоративных, научных, правительственных и домашних компьютерных сетей. Объединение сетей разной архитектуры и топологии стало возможно благодаря протоколу IP (англ. Internet Protocol) и принципу маршрутизации пакетов данных.

Слайд 10
Протокол IP используется для негарантированной доставки данных, разделяемых

Протокол IP используется для негарантированной доставки данных, разделяемых на так называемые пакеты

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

на так называемые пакеты от одного узла сети к другому.

IP-пакет — форматированный блок информации — форматированный блок информации, передаваемый по вычислительной сети — форматированный блок информации, передаваемый по вычислительной сети. Соединения вычислительных сетей, которые не поддерживают пакеты, такие как традиционные соединения типа «точка-точка» в телекоммуникациях, просто передают данные в виде последовательности байтов — форматированный блок информации, передаваемый по вычислительной сети. Соединения вычислительных сетей, которые не поддерживают пакеты, такие как традиционные соединения типа «точка-точка» в телекоммуникациях, просто передают данные в виде последовательности байтов, символов — форматированный блок информации, передаваемый по вычислительной сети. Соединения вычислительных сетей, которые не поддерживают пакеты, такие как традиционные соединения типа «точка-точка» в телекоммуникациях, просто передают данные в виде последовательности байтов, символов или битов.



Слайд 11 Transmission Control Protocol (TCP) — один из основных сетевых протоколов —

Transmission Control Protocol (TCP) — один из основных сетевых протоколов — один из основных сетевых

один из основных сетевых протоколов Интернета, предназначенный для управления передачей данных — один

из основных сетевых протоколов Интернета, предназначенный для управления передачей данных в сетях и подсетях TCP/IP.

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

Слайд 12
Сетевой протокол — набор правил, позволяющий осуществлять соединение

Сетевой протокол — набор правил, позволяющий осуществлять соединение и обмен данными

и обмен данными между двумя и более включёнными в сеть устройствами.

Систему

протоколов Интернет называют «стеком протоколов TCP/IP».


Слайд 13


Протокол IP был специально создан агностическим в отношении

Протокол IP был специально создан агностическим в отношении физических каналов связи.

физических каналов связи.


На стыках сетей специальные маршрутизаторыНа стыках

сетей специальные маршрутизаторы (программные или аппаратные) занимаются автоматической сортировкой и перенаправлением пакетов данных, исходя из IP-адресов получателей этих пакетов.

Слайд 14 Сетевая модель OSI (ЭМВОС) — абстрактная сетевая модель

Сетевая модель OSI (ЭМВОС) — абстрактная сетевая модель — абстрактная сетевая

— абстрактная сетевая модель для коммуникаций и разработки сетевых

протоколов — абстрактная сетевая модель для коммуникаций и разработки сетевых протоколов. Предлагает взгляд на компьютерную сеть с точки зрения измерений. Каждое измерение обслуживает свою часть процесса взаимодействия.




Слайд 16 HTTP


HTTP ( HyperText Transfer Protocol ) — протокол прикладного уровня передачи данных (изначально —

HTTPHTTP ( HyperText Transfer Protocol ) — протокол прикладного уровня передачи данных (изначально — в виде гипертекстовых документов).

в виде гипертекстовых документов).


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

Потребителей (клиентов),

Основой HTTP является технология «клиент-сервер». Предполагается существование: Потребителей (клиентов), которые инициируют соединение

которые инициируют соединение и посылают запрос.

Поставщиков (серверов), которые

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


Слайд 18
Метод HTTP — последовательность из любых символов, кроме управляющих

Метод HTTP — последовательность из любых символов, кроме управляющих и разделителей, указывающая

и разделителей, указывающая на основную операцию над ресурсом. 
Список методов:
GET,

HEAD, POST,
PUT, PATCH, DELETE, TRACE, LINK, UNLINK, CONNECT, OPTIONS.


Слайд 19 GET - используется для запроса содержимого указанного ресурса.

GET - используется для запроса содержимого указанного ресурса. С помощью метода GET можно

С помощью метода GET можно также начать какой-либо процесс.

HEAD - Аналогичен

методу GET, за исключением того, что в ответе сервера отсутствует тело.

POST - Применяется для передачи пользовательских данных заданному ресурсу.


Слайд 20 httplib
Этот модуль определяет классы, реализующие HTTP и HTTPS

httplibЭтот модуль определяет классы, реализующие HTTP и HTTPS протоколы.Обычно он не

протоколы.

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

использует библиотека urllib для обработки URL адресов, которые используют HTTP и HTTPS.

Слайд 21 Классы httplib
class httplib.HTTPSConnection(…)
class httplib.HTTPResponse(…)
class httplib.HTTPMessage
(Provides utility functions to deal with HTTP

Классы httplibclass httplib.HTTPSConnection(…)class httplib.HTTPResponse(…)class httplib.HTTPMessage(Provides utility functions to deal with HTTP Headers.)Также в этом модуле много объектов класса Exception.

Headers.)


Также в этом модуле много объектов класса Exception.


Слайд 22
class httplib.HTTPConnection(host[, port[, strict[, timeout[, source_address]]]])
(предоставляет один сеанс с HTTP сервером.)

h3

class httplib.HTTPConnection(host[, port[, strict[, timeout[, source_address]]]]) (предоставляет один сеанс с HTTP сервером.)h3 = httplib.HTTPConnection('www.google.ru', 80) h3 = httplib.HTTPConnection('www.google.ru’, 80, timeout=10)

= httplib.HTTPConnection('www.google.ru', 80)
h3 = httplib.HTTPConnection('www.google.ru’, 80, timeout=10)


Слайд 23
HTTPConnection.request(method, url[, body[, headers]])
request(…) отправляет запрос серверу используя HTTP метод

HTTPConnection.request(method, url[, body[, headers]]) request(…) отправляет запрос серверу используя HTTP метод method и селектор

method и селектор url.

HTTPConnection.getresponse() вызывается после request(…) для получения

ответа от сервера. Возвращает объект класса HTTPResponse

HTTPConnection.close() прекращает связь с сервером.





Слайд 24 class httplib.HTTPResponse(sock[, debuglevel=0][, strict=0])
Объект - то, что возвращается

class httplib.HTTPResponse(sock[, debuglevel=0][, strict=0])  Объект - то, что возвращается после успешного соединения.

после успешного соединения.
Не инициализируется пользователем.

HTTPResponse.getheaders()
Возвращает список из пар (header, value). Этот список дает информацию о сайте и сервере.

Пример программы с использованием httlib:
import httplib
conn = httplib.HTTPConnection("www.python.org")
conn.request("GET", "/index.html")
j = conn.getresponse()
print j.getheaders()



Слайд 25 Urllib


Этот модуль предоставляет средства высокого уровня для чтения

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

сетевых ресурсов, используя различные протоколы.


Слайд 26 Определенные в этом модуле средства позволяют обращаться к

Определенные в этом модуле средства позволяют обращаться к ресурсам через proxy-

ресурсам через proxy- сервер, не требующий аутентификации.

Аутентификация— проверка принадлежности

субъекту доступа предъявленного им идентификатора; подтверждение подлинности.

(Не путать с авторизацией и идентификацией)


Слайд 27
Стоит отметить, что при работе с WWW используется

Стоит отметить, что при работе с WWW используется в основном протокол

в основном протокол HTTP, однако WWW охватывает не только

HTTP,
но и многие другие протоколы
(FTP, gopher, HTTPS и т.п.).

Слайд 28 Средства urllib

urlopen(url [, data])
Создает и возвращает объект, реализующий

Средства urlliburlopen(url [, data])Создает и возвращает объект, реализующий чтение ресурса url.

чтение ресурса url.
Использует HTTP метод GET по умолчанию.

Чтобы использовался метод POST необходимо указать строку data с данными в формате ‘application/x-www-form-urlencoded’.



Слайд 29
urlencode(dict) dict – словарь.
Возвращает строку с данными dict

urlencode(dict) dict – словарь.Возвращает строку с данными dict в формате ‘application/x-www-form-urlencoded’.

в формате ‘application/x-www-form-urlencoded’. Возвращаемая строка состоит из фрагментов ‘key=value’,

разделенных ‘&’, где key и value преобразуются с помощью функции quote_plus().

quote_plus(string [, safe]) – заменяет спец. Символы в строке string на последовательности вида ‘%xx’
Преобразованию не подвергаются буквы, цифры и символы ‘_’ , ‘,’ , ‘.’ и ‘-’. Пробелы заменяются на ‘+’. Если + в строке safe, то заменяет на ‘%2b’.

Слайд 30 read(), readline(), readlines(), fileno() и close() реализуют чтение

read(), readline(), readlines(), fileno() и close() реализуют чтение ресурса.info() возвращает информацию

ресурса.
info() возвращает информацию о ресурсе.
geturl() возвращает истинную информацию о

ресурсе.
Пример:
import urllib
params = urllib.urlencode({’spam’ : 1, ’eggs’ : 2, ’bacon’: 0})
f = urllib.urlopen("http://www.musi-cal.com/cgi-bin/query?" +params)
print f.read()
#выведет код страницы.

Слайд 32 Модуль urlparse


Этот модуль определяет средства для разбиения Url

Модуль urlparseЭтот модуль определяет средства для разбиения Url на компоненты, конструирования

на компоненты, конструирования URL из компонент и преобразования относительных

URL в абсолютные (RFC 1808).

Слайд 33 Средства urlparse
urlparse(urlstring [, default_scheme [, allow_fragments]])

Разбивает URL на

Средства urlparseurlparse(urlstring [, default_scheme [, allow_fragments]])Разбивает URL на части, и возвращает

части, и возвращает tuple из
6 элементов. Идентификатор протокола,

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

’scheme://netloc/path;parameters?query#fragment’
выдает ‘(scheme, netloc, path, parameters, query, fragment)’.

Слайд 34 urlunparse(tuple)
Восстанавливает по tuple url адрес.

urljoin(base, rel_url [, allow_fragments])
Конструирует

urlunparse(tuple)Восстанавливает по tuple url адрес.urljoin(base, rel_url [, allow_fragments])Конструирует и возвращает полный url адрес.

и возвращает полный url адрес.



Слайд 35 Всё программное обеспечение для работы с протоколом HTTP

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

разделяется на три больших категории:

Серверы как основные поставщики услуг хранения

и обработки информации (обработка запросов).

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

Прокси для выполнения транспортных служб.


Слайд 36 Прокси-сервер


Прокси-сервер — служба в компьютерных сетях — служба в компьютерных сетях, позволяющая клиентам выполнять

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

косвенные запросы к другим сетевым службам.


Слайд 37 Сначала клиент подключается к прокси-серверу и запрашивает какой-либо

Сначала клиент подключается к прокси-серверу и запрашивает какой-либо ресурс (например, e-mailСначала клиент

ресурс (например, e-mailСначала клиент подключается к прокси-серверу и запрашивает какой-либо

ресурс (например, e-mail), расположенный на другом сервере.

Затем прокси-сервер либо подключается к указанному серверу и получает ресурс у него, либо возвращает ресурс из собственного кэша (в случаях, если прокси имеет свой кэш).


Слайд 38 Виды прокси-серверов
Прозрачный прокси — схема связи, при которой трафик,

Виды прокси-серверовПрозрачный прокси — схема связи, при которой трафик, или его часть,

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

Обратный прокси —

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

Слайд 40 Модуль CGI


CGI- программа вызывается HTTP-сервером, обычно для обработки

Модуль CGICGI- программа вызывается HTTP-сервером, обычно для обработки данных, переданных пользователем

данных, переданных пользователем через элементы ‘FORM’ и ‘ISINDEX’ языка

HTML.

Слайд 41

Модуль cgi берет на себя заботу обо всех

Модуль cgi берет на себя заботу обо всех возможных способах передачи

возможных способах передачи данных и предоставляет их программе через

простой интерфейс.

Слайд 45 Средства cgi

FieldStorage([**keyword_args])
При инициализации его без аргументов происходит обработка

Средства cgiFieldStorage([**keyword_args])При инициализации его без аргументов происходит обработка данных со стандартного

данных со стандартного потока ввода и /или из переменных

окружения в соответствии со стандартом CGI.()

Слайд 46 Конструктор класса принимает след. Аргументы:

fp – альтернативный файловый

Конструктор класса принимает след. Аргументы:fp – альтернативный файловый объектHeaders – отобр-

объект

Headers – отобр- е ин. о HTTP заголовках

и т.д.


И для остальных сущ. значение по умолчанию.

Слайд 47 Атрибуты класса FieldStorage
name
filename
Value
file
type
Headers
и др.

Атрибуты класса FieldStoragenamefilenameValuefiletypeHeaders и др.

Слайд 48 import cgi
print """\
Content-Type: text/html

"""
form = cgi.FieldStorage()
if form.has_key("name") and

import cgiprint

form.has_key("addr"):
print """\
Имя: %s
Адрес: %s"""
else:
print """\
Ошибка
Введите пожалуйста имя и адрес"""
print

"""\

"""


Слайд 49 Cookie
Куки — небольшой фрагмент данных, созданный веб-сервером — небольшой фрагмент данных,

CookieКуки — небольшой фрагмент данных, созданный веб-сервером — небольшой фрагмент данных, созданный веб-сервером или веб-страницей и

созданный веб-сервером или веб-страницей и хранимый на компьютере — небольшой фрагмент данных, созданный веб-сервером или

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

Слайд 50

В техническом плане куки представляют собой фрагменты данных,

В техническом плане куки представляют собой фрагменты данных, изначально отправляемых веб-сервером

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

браузер пересылает их обратно серверу.



Слайд 51 Установка куки
Запрашивая страницу, браузер отправляет веб-серверу короткий текст

Установка кукиЗапрашивая страницу, браузер отправляет веб-серверу короткий текст с HTTP-запросом. Например,

с HTTP-запросом.
Например, для доступа к странице http://www.example.org/index.html, браузер

отправляет
на сервер www.example.org следующий запрос:


Слайд 52 Сервер отвечает


Сервер отвечает

Слайд 54 Пример:
import http.cookiejar, urllib.request
cj = http.cookiejar.CookieJar()
opener =

Пример:import http.cookiejar, urllib.request cj = http.cookiejar.CookieJar() opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj)) r = opener.open(

urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
r = opener.open("http://example.com/")


  • Имя файла: protokoly-seti-internet.pptx
  • Количество просмотров: 254
  • Количество скачиваний: 2
- Предыдущая Десятичные дроби
Следующая - олимпийские игры