Кратко о том, что и как в инете, и причем здесь Питон.

Презентация:



Advertisements
Похожие презентации
Поддержка протоколов Internet cgi - протокол CGI используемый для интерпретации форм HTML на стороне сервера. cgi - протокол CGI используемый для интерпретации.
Advertisements

Hypertext Transfer Protocol (HTTP) Протокол передачи гипертекста.
Сети и Интернет. Интернет, ЛВС История развития сетей Мейнфреймы: Один многозадачный компьютер Множество рабочих терминалов.
Файловые архивы Internet Файловые архивы Internet Протокол FTP Протокол FTP Режимы обмена данными Режимы обмена данными Программное обеспечение доступа.
Протокол передачи данных Демонстрационный материал к уроку информатики и ИКТ в 11 классе Епифанова Т.Н. / 2010.
Решение задач 1. Скорость модема бит / с. Сколько времени потребуется для передачи 1 страницы текста, состоящей из 40 строк по 60 символов? 2. Скорость.
Протоколы Internet. Службы Internet. HTTP-Сервер..
ИНТЕРНЕТ. Адресация в Интернете. ИНТЕРНЕТ Интернет наиболее популярная глобальная компьютерная сеть. В состав её входят и отдельные компьютеры, но большей.
Материалы взяты из википедии. HTTP HTTP (англ. HyperText Transfer Protocol «протокол передачи гипертекста»)англ. гипертекста.
Сервис WWW Веб-программирование. World Wide Web WWW - распределенная информационная система, предоставляющая доступ к гипертекстовым документам по протоколу.
Web-узлы. Разработка и администрирование.. Часть 1. Web-технология.
ТЕМА 5 Протоколы передачи данных Протоколы передачи данных.
Лекция 11 Тема «Формы » Преподаватель: Халелова Е.Н.
Доменная система имен. Всемирная паутина. Поисковые системы В этой лекции вы найдете ответы на следующие вопросы: Как построена и как работает система.
Протоколы Интернет Выполнила Трайт Анастасия ПИМО I курс.
Организация глобальных сетей. История развития глобальных сетей 1964 год США. Создана компьютерная система раннего оповещения о приближении ракет противника.
Мировые информационные ресурсы Семиуровневая модель сетевого обмена OSI /ISO. Протоколы сети Интернет Тема 6.
Различия и особенности распространенных протоколов. Принципы работы протоколов разных уровней. Предоставление сетевых услуг. Борисов В.А. КАСК – филиал.
Локальная РегиональнаяКорпоративная Глобальная ИНТЕРНЕТ (от англ. International – международный и net - сеть, т.е. международная сеть) – международная.
это десятки миллионов Web-серверов Интернета, содержащих Web-страницы, в которых используется технология гипертекста. Технология WWW позволяет создавать.
Транксрипт:

Кратко о том, что и как в инете, и причем здесь Питон.

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

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

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

Для облегчения создания, хранения и отображения гипертекста во Всемирной паутине традиционно используется язык HTML ( англ. HyperText Markup Language ), язык разметки гипертекста.HTML После того, как HTML- файл становится доступен веб - серверу, его начинают называть « веб - страницей ». В целом, Всемирная паутина стоит на « трёх китах »: HTTP, HTML и URL.

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

URI ( англ. Uniform Resource Identifier ) унифицированный ( единообразный ) идентификатор ресурса. англ. URI это последовательность символов, идентифицирующая абстрактный или физический ресурс. Структура URI очень гибка, синтаксис не сложен. В базовом виде URI представляется как : синтаксис : Самый известный пример URI это URL.URL D1%80%D0%BE%D0%BA%D1%80%D0%

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

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

Transmission Control Protocol (TCP) один из основных сетевых протоколов Интернета, предназначенный для управления передачей данных в сетях и подсетях TCP/IP. сетевых протоколов передачей данныхTCP/IP TCP это транспортный механизм, предоставляющий поток данных, с предварительной установкой соединения, за счёт этого дающий уверенность в достоверности получаемых данных, осуществляет повторный запрос данных в случае потери данных и устраняет дублирование при получении двух копий одного пакета. поток данных

Сетевой протокол набор правил, позволяющий осуществлять соединение и обмен данными между двумя и более включёнными в сеть устройствами. сеть Систему протоколов Интернет называют « стеком протоколов TCP/IP».TCP/IP

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

Сетевая модель OSI ( ЭМВОС ) абстрактная сетевая модель для коммуникаций и разработки сетевых протоколов. Предлагает взгляд на компьютерную сеть с точки зрения измерений. Каждое измерение обслуживает свою часть процесса взаимодействия. сетевая модель сетевых протоколов компьютерную сеть Модель OSI Тип данных УровеньФункции Данные 7. Прикладной уровень Доступ к сетевым службам 6. Уровень представления Представление и кодирование данных 5. Сеансовый уровень Управление сеансом связи Сегменты 4. Транспортный Прямая связь между конечными пунктами и надежность Пакеты 3. Сетевой Определение маршрута и логическая адресация Кадры 2. КанальныйФизическая адресация Биты 1. Физический уровень Работа со средой передачи, сигналами и двоичными данными

Уровень OSI Протоколы, примерно соответствующие уровню OSI Прикладной BGPBGP, DNS, FTP, HTTP, HTTPS, IMAP, LDAP, POP3, SNMP, SMTP, SSH, Tel net, XMPP (Jabber)DNSFTPHTTPHTTPSIMAPLDAPPOP3SNMPSMTPSSHTel netXMPPJabber Сеансовый Сеансовый / Представления Представления SSLSSL, TLSTLS Транспортный TCPTCP, UDPUDP Сетевой EIGRPEIGRP, ICMP, IGMP, IP, IS- IS, OSPF, RIPICMPIGMPIPIS- ISOSPFRIP Канальный ArcnetArcnet, ATM, Ethernet, Frame relay, HDLC, PPP, L2TP, SLIP, Token ringATMEthernetFrame relayHDLCPPPL2TPSLIPToken ring

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

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

Метод HTTP последовательность из любых символов, кроме управляющих и разделителей, указывающая на основную операцию над ресурсом. Список методов : GET, HEAD, POST, PUT, PATCH, DELETE, TRACE, LINK, UNLINK, CONNECT, OPTIONS.

GET - используется для запроса содержимого указанного ресурса. С помощью метода GET можно также начать какой - либо процесс. HEAD - Аналогичен методу GET, за исключением того, что в ответе сервера отсутствует тело. POST - Применяется для передачи пользовательских данных заданному ресурсу.

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

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

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

HTTPConnection.request( method, url [, body [, headers ] ]) request(…) отправляет запрос серверу используя HTTP метод method и селектор url. HTTPConnection.getresponse() вызывается после request(…) для получения ответа от сервера. Возвращает объект класса HTTPResponse HTTPConnection.close() прекращает связь с сервером.

class httplib.HTTPResponse ( sock [, debuglevel=0 ][, strict=0 ]) Объект - то, что возвращается после успешного соединения. Не инициализируется пользователем. HTTPResponse.getheaders() Возвращает список из пар (header, value). Этот список дает информацию о сайте и сервере. Пример программы с использованием httlib: import httplib conn = httplib.HTTPConnection(" conn.request("GET", "/index.html") j = conn.getresponse() print j.getheaders()

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

Определенные в этом модуле средства позволяют обращаться к ресурсам через proxy- сервер, не требующий аутентификации. Аутентификация проверка принадлежности субъекту доступа предъявленного им идентификатора ; подтверждение подлинности. идентификатора ( Не путать с авторизацией и идентификацией )

Стоит отметить, что при работе с WWW используется в основном протокол HTTP, однако WWW охватывает не только HTTP, но и многие другие протоколы (FTP, gopher, HTTPS и т. п.).

urlopen (url [, data]) Создает и возвращает объект, реализующий чтение ресурса url. Использует HTTP метод GET по умолчанию. Чтобы использовался метод POST необходимо указать строку data с данными в формате application/x- www-form-urlencoded.

urlencode (dict) dict – словарь. Возвращает строку с данными dict в формате application/x-www-form-urlencoded. Возвращаемая строка состоит из фрагментов key=value, разделенных &, где key и value преобразуются с помощью функции quote_plus(). quote_plus (string [, safe]) – заменяет спец. Символы в строке string на последовательности вида %xx Преобразованию не подвергаются буквы, цифры и символы _,,,. и -. Пробелы заменяются на +. Если + в строке safe, то заменяет на %2b.

read(), readline(), readlines(), fileno() и close() реализуют чтение ресурса. info() возвращает информацию о ресурсе. geturl() возвращает истинную информацию о ресурсе. Пример : import urllib params = urllib.urlencode({spam : 1, eggs : 2, bacon: 0}) f = urllib.urlopen(" bin/query?" +params) print f.read() # выведет код страницы.

Этот модуль определяет средства для разбиения Url на компоненты, конструирования URL из компонент и преобразования относительных URL в абсолютные (RFC 1808).

urlparse (urlstring [, default_scheme [, allow_fragments]]) Разбивает URL на части, и возвращает tuple из 6 элементов. Идентификатор протокола, положение в сети, путь, параметры, строка запроса и идентификатор фрагмента. scheme://netloc/path;parameters?query#fragment выдает (scheme, netloc, path, parameters, query, fragment).

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

Всё программное обеспечение для работы с протоколом HTTP разделяется на три больших категории : Серверы как основные поставщики услуг хранения и обработки информации ( обработка запросов ). Клиенты конечные потребители услуг сервера ( отправка запроса ). Прокси для выполнения транспортных служб.

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

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

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

import urllib2 uri = " http_proxy_server = "someproxyserver.com" http_proxy_port = "3128" http_proxy_realm = http_proxy_server # Worked in his (limited) testing environment. http_proxy_user = "username" http_proxy_passwd = "password" # Next line = http_proxy_full_auth_string = % (http_proxy_user, http_proxy_passwd, http_proxy_server, http_proxy_port) def open_url_no_proxy(): urllib2.urlopen(uri) print "Apparent success without proxy server!" def open_url_installed_opener(): proxy_handler = urllib2.ProxyHandler({"http":http_proxy_full_auth_string}) opener = urllib2.build_opener(proxy_handler) urllib2.install_opener(opener) urllib2.urlopen(uri) print "Apparent success through proxy server! if __name__ == "__main__": open_url_no_proxy() open_url_installed_opener() Example for using urllib2.urlopen() with a proxy server requiring authentication

CGI- программа вызывается HTTP- сервером, обычно для обработки данных, переданных пользователем через элементы FORM и ISINDEX языка HTML.

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

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

Конструктор класса принимает след. Аргументы : fp – альтернативный файловый объект Headers – отобр - е ин. о HTTP заголовках и т. д. И для остальных сущ. значение по умолчанию.

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

import cgi print """\ Content-Type: text/html """ form = cgi.FieldStorage() if form.has_key("name") and form.has_key("addr"): print """\ Имя : %s Адрес : %s """ else: print """\ Ошибка Введите пожалуйста имя и адрес """ print """\ """

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

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

GET /index.html HTTP/1.1 Host: браузер сервер Установка куки Запрашивая страницу, браузер отправляет веб-серверу короткий текст с HTTP-запросом. Например, для доступа к странице браузер отправляет на сервер следующий запрос:

Сервер отвечает HTTP/ OK Content-type: text/html Set-Cookie: name=value ( содержимое страницы ) браузер сервер

GET /spec.html HTTP/1.1 Host: Cookie: name=value Accept: */* браузер сервер

import http.cookiejar, urllib.request cj = http.cookiejar.CookieJar() opener = urllib.request.build_opener(urllib.request.HTTPCookieProc essor(cj)) r = opener.open("

I am just asking…