Устройство Интернета
<<  Ip-адресация Интернет торговля: складской учёт, скидки на заказ, управление интернет-магазином с мобильных устройств  >>
Картинок нет
Картинки из презентации «Протокол HTTP» к уроку информатики на тему «Устройство Интернета»

Автор: Лариса Полякова. Чтобы познакомиться с картинкой полного размера, нажмите на её эскиз. Чтобы можно было использовать все картинки для урока информатики, скачайте бесплатно презентацию «Протокол HTTP.ppt» со всеми картинками в zip-архиве размером 108 КБ.

Протокол HTTP

содержание презентации «Протокол HTTP.ppt»
Сл Текст Сл Текст
1Протокол HTTP. 352&action=click1 URL при методе POST
2Программы, обеспечивающие работу WWW, http://php/cgi-bin/first.pl. Стандартный
используют для обмена данными протокол поток ввода –метод POST.
HTTP (протокол уровня приложений). 36Переменные окружения. SCRIPT_NAME
Протокол HTTP является протоколом, не -/cgi-bin/first.pl SERVER_NAME - Php
запоминающим состояния, т.е. каждое REQUEST_METHOD -POST | GET CONTENT_LENGTH
подключение закрывается сразу же после - 48 | “” QUERY_STRING =“” |
того, как сервер отправит ответ клиенту. text1=123&text2=%EF%F0%E8%E2%E5%F2&
Таким образом, Web-сервер не запоминает action=click1 SERVER_PROTOCOL - HTTP/1.1
никаких сведений о предыдущих запросах. SERVER_ADDR - 192.168.0.254.
3Спецификация MIME. Протоколы 37Серверные переменные в PHP. <? echo
приложений могут обмениваться только "Server port: ".$SERVER_PORT.
текстовой информацией. Для обеспечения “<br />”; echo "Content length:
возможности передачи двоичных файлов по ".getenv('CONTENT_LENGTH').”<br
протоколу HTTP используется спецификация />”; ?>
MIME (Multipurpose Internet Mail 38Использование технологии ASP.NET.
Extension). Согласно спецификации MIME, Построение Web-страниц динамически
формат данных описывается следующим мотивируется прежде всего тем, что
образом: результаты могут основываться на
enctype=<тип>/<подтип> Атрибут пользовательском вводе. Общий способ
enctype определяет тип кодирования данных передачи информации с Web-страницы в
в теле сообщения и разбиение сообщения на серверную программу предполагает, что
части. Тип определяет, какого рода данные формы можно добавлять в конец
информация содержится в двоичном файле адреса URL после вопросительного знака,
(текст, приложение, изображение, если это GET-запросы, или посылать серверу
видеозапись и т.п.), а подтип – формат в отдельной строке, если это POST-запросы.
файла. Например: text/plain, где text- Выделение необходимой информации из данных
указывает на наличие текстового формы традиционно является одной из
содержимого, а plain –уточняет его как наиболее трудоемких работ при
простой текст. CGI-программировании.
4Приведем некоторые часто встречающиеся 39Сложности CGI-программирования.
типы: text/html text/plain image/gif Во-первых, чтение данных для GET-запросов
image/jpeg image/tiff audio/basic (в традиционном CGI-программировании это
video/mpeg multipart/mixed выполняется через переменную окружения
multipart/form-data QUERY_STRING) и POST-запросов (в
multipart/x-www-form-urlrncoded традиционном CGI-программировании это
application/octet-stream чтение стандартного ввода) выполняется
application/postscript. по-разному. Во-вторых, необходимо выделить
5Сеанс взаимодействия с сервером HTTP в пары (имя = значение), разделенные
наиболее общем виде состоит из следующих амперсандом (&), затем отделить имена
шагов: Установление TCP-соединения; Запрос параметров от их значений.
клиента; Ответ сервера; Разрыв 40В-третьих, необходимо декодировать
TCP-соединения. Запрос клиента значения, которые были присоединены к URL.
представляет собой просто требование на Буквенно-цифровые символы при передаче не
передачу HTML-документа или какого-либо изменяются , пробелы преобразуются в нави
другого ресурса. Ответ сервера – код плюс, другие символы – в
запрашиваемого ресурса. последовательности %ХХ, где ХХ-
6Запрос клиента. Строка состояния; Поля ASCII-значение символа
заголовка; Пустая строка; Тело запроса. (шестнадцатеричное). Затем серверная
Тело запроса в большинстве случаев программа должна выполнить процесс в
отсутствует. Наиболее часто тело запроса обратном порядке. Четвертая причина, по
используется в тех случаях, когда которой синтаксический разбор данных,
требуется передать серверу информацию, передаваемых в форме, является очень
введенную пользователем. трудоемким, заключается в том, что
7Строка состояния имеет следующий значения параметров могут быть опущены или
формат: <метод запроса><URL параметр может иметь больше одного
ресурса> <версия протокола HTTP> значения. Использование технологии ASP.NET
Метод запроса определяет вид воздействия привлекательно тем, что весь
на ресурс, указанный с помощью URL. синтаксический анализ формы осуществляется
Наиболее важны два метода: GET и POST. автоматически.
Версия протокола обычно задается в 41Объект HttpResponse. Встроенный объект
следующем формате: HTTP/<версия> HttpResponse выполняет пересылку
8Поля заголовка используются для информации браузеру удаленного
передачи серверу дополнительной пользователя. Разработчик также может
информации. Каждое поле заголовка имеет обращаться к этому объекту посредством
следующий формат: <имя свойства Response объекта Page.
поля>:<значение> Рассмотрим 42Основные свойства объекта Response.
назначение некоторых наиболее часто Cookies- в свойстве хранится коллекция
используемых полей заголовка: Host – cookies, которая будет установлена на
доменное имя или IP-адрес сервера, к локальную систему пользователя.
которому обращается клиент; From –адрес 43Основные методы объекта Response.
электронной почты пользователя; Accept – Redirect –метод перенаправляет
MIME –типы данных, обрабатываемые пользователя к другому ресурсу. Если
клиентом.; необходимо вывести отдельную Web-
9Accept – Language - идентификаторы, с страницу, которая уже сформирована и ее
помощью которых сообщаются языки, URL известен, следует воспользоваться этим
поддерживаемые клиентом. Разделяются методом. В качестве параметра методу
запятыми; Accept – Charset – передается URL-ресурса, который будет
идентификаторы, сообщающие серверу о отправлен удаленному пользователю. Write-
поддерживаемых клиентом кодировках. один из наиболее часто используемых
Разделяются запятыми; Content-Type – MIME методов объекта HttpResponse. Записывает в
– тип данных, содержащихся в теле запроса; выводимый поток текстовую информацию.
Content – Length – число символов, 44Объект HttpRequest. Если объект
содержащихся в теле запроса; Connection – HttpResponse позволяет разработчику с
управляет TCP-соединением. Если в этом максимальным удобством отправлять
поле задано значение Close, то после информацию удаленному пользователю, не
обработки запроса соединение разрывается. заботясь о различных проблемах физического
Если задано значение Keep – Alive, то уровня, а сосредотачиваясь именно на
соединение сохраняется и может быть логике отсылаемого пакета, то объект
использовано для следующих запросов; HttpRequest помогает разработчику легко
User-Agent – информация о клиенте. ориентироваться в разнообразной
10Ответ сервера. С точки зрения информации, которая приходит от удаленного
Web-рограммирования, структура ответа пользователя. В этот объект помещается
сервера гораздо более важна, чем структура информация, посылаемая браузером на
запроса клиента. Выполняющиеся на сервере сервер.
программы должны быть способны сами 45Объект HttpRequest. В блоке
сформировать ответ клиенту. Основные принимаемой информации могут находиться:
компоненты ответа включают в себя данные, введенные пользователем в элементы
следующие элементы: Строку состояния; Поля управления форм, URL запрошенного ресурса,
заголовка; Пустую строку; Тело ответа. содержание cookies и многое другое. Объект
11Строка состояния. Строка состояния HttpRequest поможет разработчику получить
имеет следующий формат: <версия именно ту информацию, которая ему нужна
протокола> <код ответа> для функционирования приложения.
<пояснения> Версия протокола 46Свойства объекта HttpRequest. Browser
задается в том формате, что и в запросе – составное свойство, в котором
клиента; Код ответа представляет собой указывается список параметров браузера
трехзначное десятичное число, обозначающее удаленного пользователя. Объект подобного
результат обработки запроса клиента типа имеет свои свойства: Cookies
сервером; Пояснения представляют собой –свойство содержит коллекцию cookies,
расшифровку кода ответа в символьном виде. которые передаются на сервер браузером
Это просто строка символов, не пользователя. Files- свойство содержит
обрабатываемая клиентом и предназначенная коллекцию файлов, переданы пользователю на
для системного администратора. сервер. Свойство имеет смысл обрабатывать
12Коды ответов подразделяются на пять только в том случае, если указан MIME-тип
групп. Группа, к которой относится код muilipart/form-data. Headers-в свойстве
ответа, определяется старшим разрядом содержится коллекция заголовков протокола
кода: 1 – информационное сообщение, HTTP, переданных браузером удаленного
означает, что сервер продолжает обработку пользователя на сервер.
запроса клиента, используется редко; 2 – 47Свойства объекта HttpRequest.
сообщение об успешной обработке запроса ContentLength – в данном свойстве
клиента; 3 – сообщение о перенаправлении указывается размер блока информации,
запроса; 4 – сообщение об ошибке в запросе переданного на сервер. Размер
клиента; 5 – сообщение об ошибке сервера. рассчитывается в байтах, значение свойства
13Поля заголовка в ответе сервера имеют имеет тип Integer. HttpMethod –свойство
такую же структуру, что и в запросе указывает, какой именно тип передачи
клиента. Server - наименование и номер информации на сервер был использован
версии Web-сервера; Allow – список браузером удаленного пользователя, GET.
методов, доступных для данного сервера; POST или HEAD. Params – свойство
Content – Language –перечень языков, объединяет в себе коллекцию все переменны
которые должен поддерживать клиент для из QueryString, Form, ServerVariable и
корректного отображения передаваемого Cookies.
ресурса; Content –Type – MIME –тип данных, 48Свойства объекта HttpRequest.
содержащихся в теле ответа сервера; QueryString – в свойстве находится
Content- Length – размер данных, коллекция с наименованиями все перемены и
содержащихся в теле ответа сервера; все параметров, переданы в строке URL.
14Last – Modified – дата и время Обычно в эту строку добавляются
последнего изменения затребованного наименования органов ввода информации из
ресурса; Date – дата и время создания форм и значений, введенных в них
ответа сервера; Expires - дата и время, пользователем, если применен метод
определяющие момент, когда информация, передачи CET. ServerVariables - свойство
переданная клиенту, считается устаревшей; позволяет приложению получить доступ к
Location – адрес реального расположении коллекции наименований стандартны свойств
ресурса. Используется для переадресаии сервера и браузера. URL- в данном
запроса; Cache – Control – директивы составном свойстве собрана самая различная
управления кешированием. информация об URL, запрошенном
15В теле ответа содержится код пользователем.
передаваемого клиенту ресурса. Это может 49Обработка запроса клиента. В
быть HTML-документ или любой другой информации, которую можно получить через
ресурс. Способ обработки ресурса объект Request, выделим: Данные формы;
указывается в поле заголовка Content – Заголовки HTTP-запроса; Стандартные
type. переменные CGI;
16Http-сообщения состоят из запросов 50Обработка запроса клиента: данные
клиента серверу и ответов сервера клиенту: формы. Использование метода Params для
http-message=simple-request | чтения отдельных значений из заранее
simple-response | full-request | определенных параметров данных формы;
full-response. Обработка GET- и POST-запросов.
17Простые запросы и простые ответы 51Пример html-файла. <html>
Simple-Request и Simple-Response не могут <head> <title></title>
пересылать информацию в заголовках </head> <body> <form
HTTP-сообщений и ограничиваются name=f1 method=post
использованием метода «GET»: action=WebForm1.aspx> <INPUT
Simple-Request=@GET@ SP Request-URL CRLF id="Text1" type="text"
Simple-Response= [Entity-Body]. name="Text1"> <INPUT
18Full-Request =Request-Line *( id="Text2" type="text"
General-Header | Request-Header | name="Text2"> <INPUT
Entity-Header ) CRLF [Entity-Body] id="Button1"
Full-Response=Status-Line *( type="submit"
General-Header | Response-Header | value="Button"
Entity-Header ) CRLF [Entity-Body]. name="Button1"> </form>
19Спецификацмя CGI Common Gateway </body> </html>
Interface. Это спецификация обмена данными 52Пример файла WebForm1.aspx. private
между прикладной программой, выполняемой void Page_Load(object sender,
по запросу пользователя, и http-сервером, System.EventArgs e) {
который данную программу запускает. this.Response.Write("URL "+
20Обмен данными в Web-технологии this.Request.Url.ToString()+"<br&g
подразделяется в соответствии с типами ;");
методов доступа протокола HTTP и видами this.Response.Write("Параметр
запросов в спецификации CGI. Основных 0"+
методов доступа два: GET и POST. Помимо this.Request.Params[0]+"<br>&qu
них часто используются HEAD и PUT. Виды t;); this.Response.Write("Параметр 1«
запросов CGI разделяют на два основных +this.Request.Params[1]+"<br>&q
MIME-типа: ot;); this.Response.Write("Параметр
application/x-www-form-urlencoded и
multipart/form-data. Второй тип запроса +this.Request.Params[2]+"<br>&q
специально создан для передачи больших ot;); this.Response.Write("Метод «
внешних файлов. +this.Request.HttpMethod+"<br>&
21Методы доступа. Самой главной uot;); this.Response.Write("Строка «
директивой HTTP-запроса является метод +this.Request.QueryString+"<br>
доступа. Он указывается первым словом в quot;); this.Response.Write("Длина «
первой строке запроса. В нашем примере это +this.Request.ContentLength+"<br&g
GET. Различают четыре основных метода ;"); }.
доступа: GET; HEAD; POST; PUT. 53Результат работы программы. URL
22Метод GET. Метод GET применяется http://adm-119-1/PolyakovaLN/WebApplicatio
клиентом при запросе к серверу по 12/WebForm1.aspx?Text1=privet&Text2=12
умолчанию. В этом случае клиент сообщает 45&Button1=Button Параметр 0 privet
адрес ресурса (URL), который он хочет Параметр 1 12345 Параметр 2 Button Метод
получить, версию протокола HTTP, GET Строка
поддерживаемые им MIME-типы документов, Text1=privet&Text2=12345&Button1=B
версию и название клиентского программного tton Длина 0.
обеспечения. Все эти параметры указываются 54Результат работы программы. URL
в заголовке HTTP-запроса. Тело в запросе http://adm-119-1/PolyakovaLN/WebApplicatio
не передается. 12/WebForm1.aspx Параметр 0 privet
23Метод GET. В ответ сервер сообщает Параметр 1 12345 Параметр 2 Button Метод
версию HTTP-протокола, код возврата, тип POST Строка Длина 39.
содержания тела сообщения, размер тела 55Обработка запроса клиента: заголовки
сообщения и ряд других необязательных HTTP-запроса. HTTP-информация передается
директив HTTP-заголовка. Сам ресурс, от браузера на сервер в форме заголовков
обычно HTML-страница, передается в теле запроса. HTTP-заголовки отличаются от
отклика. данных формы. Данные формы поступают прямо
24Метод POST. Метод POST — это из пользовательского ввода и посылаются
альтернатива методу GET. При обмене как часть адреса URL для GET-запросов или
данными по методу POST в запросе клиента в отдельных строках для POST-запросов.
присутствует тело HTTP-сообщения. Это тело Заголовки запросов, со своей стороны,
может формироваться из данных, которые косвенно устанавливаются браузером и
вводятся в HTML-форме, или из посылаются немедленно за начальной строкой
присоединенного внешнего файла. В отклике, GET-или POST-запроса Чтение заголовков из
как правило, присутствует и заголовок, и запросов осуществляется методом Headers
тело HTTP-сообщения. Чтобы инициировать объекта HttpRequest.
обмен по методу POST, в атрибуте METHOD 56Доступ к стандартным переменным CGI.
контейнера FORM следует указать значение Переменные CGI - это совокупность
"post". информации о текущем запросе. Часть
25Основные моменты CGI. Основное переменных содержит информацию из
назначение CGI — обработка данных из заголовков и строки HTTP- запроса
HTML-форм. CGI определяет стандартный (например, данные формы), Другая часть
способ обмена данными между прикладной переменных получает ее непосредственно из
программой и HTTP-сервером. В CGI имеет сокета (например, имя и IP-адрес хоста,
смысл выделить следующие основные моменты: осуществляющего запрос), Информация для
понятие CGI-скрипта; типы запросов; третьей части поступает из параметров
механизмы приема данных скриптом; механизм установки сервера (например,
генерации отклика скриптом. преобразование адресов URL в реальные
26Понятие CGI-скрипта. CGI-скриптом каталоги и файлы).
называют программу, написанную на любом 57Серверные переменные в ASP.NET.
языке программирования или командном private void Page_Load(object sender,
языке, которая осуществляет обмен данными System.EventArgs e) { string[] names;
с HTTP-сервером в соответствии со string[] vals; names=new string[100];
спецификацией Common Gateway Interface. vals=new string[100];
Наиболее популярными языками для names=this.Request.ServerVariables.AllKeys
разработки скриптов являются Perl и С. 58for (int i=0;
27Типы запросов. Различают два типа i<names.GetUpperBound(0);i++) {
запросов к CGI-скриптам: по методу GET и this.Response.Write("Переменная:“
по методу POST. В свою очередь, запросы по +names[i]);
методу GET подразделяются на запросы по vals=this.Request.ServerVariables.GetValue
типам кодирования: isindex и (i); this.Response.Write( "
form-urlencoded, а запросы по методу POST Значение="+vals[0].ToString()+"&
— multipart/form-data и form-urlencoded. t;br>");
28В запросах по методу GET данные от 59Результат работы программы.
клиента передаются скрипту в переменной Переменная:REMOTE_USER
окружения QUERY_STRING. В запросах по Значение=ITS-SERVER\larisa
методу POST данные от скрипта передаются в Переменная:CONTENT_LENGTH Значение=0
потоке стандартного ввода скрипта. При Переменная:QUERY_STRING Значение=
передаче через поток стандартного ввода в Переменная:REQUEST_METHOD Значение=GET.
переменной окружения CONTENT_LENGHT 60Переменная:REMOTE_ADDR
указывается число передаваемых символов. Значение=127.0.0.1 Переменная:URL
29Механизмы приема данных скриптом. Значение=/WebApplication3/WebForm5.aspx
Скрипт может принять данные от сервера Переменная:SERVER_PROTOCOL
тремя способами: через переменные Значение=HTTP/1.1.
окружения; через аргументы командной 61Вывод отдельных серверных переменных.
строки; через поток стандартного ввода. private void Page_Load(object sender,
30<HTML> <HEAD> System.EventArgs e) {
<TITLE></TITLE> </HEAD> this.Response.Write(this.Request.HttpMetho
<BODY> <FORM );
METHOD="POST" action= this.Response.Write(this.Request.QueryStri
"http://php/cgi-bin/first.pl"> g);
<input type=text name=text1> this.Response.Write(this.Request.ContentLe
<input type=text name=text2> gth+"<br>");
<input type=submit name=action this.Response.Write(this.Request.Url+"
value=click1> </FORM> <br>");
</BODY> </HTML> this.Response.Write(this.Request.UserAgent
31Файл first.pl. #!/usr/local/bin/perl "<br>");
#first.pl print "Content-Type: this.Response.Write("par="+
text/html\n\n"; print this.Request.Params["t1"]+"
"<html><body>"; lt;br>");
print "<h1>Переменные 62Session["v1"]=this.Request.P
окружения</h1>"; print rams["t1"];
"<table border=1>"; # this.Response.Cookies["c1"].Valu
чтение и вывод в стандартный поток всех =
переменных окружения foreach $hkey (keys this.Request.Params["t1"].ToStri
%ENV){ print g();
"<tr><td>"; print 63Механизм генерации отклика. Существует
"$hkey"; print только один способ вернуть данные серверу
"</td><td>"; print и, соответственно, браузеру пользователя –
"$ENV{$hkey}"; print писать в поток стандартного вывода
"</tr>";} print (STDOUT). При этом скрипт должен
"</table>"; формировать HTTP-сообщение:
32print "<br>"; print 64Поток стандартного вывода в Perl.
"<h1>Стандартный поток #!/usr/local/bin/perl #first.pl print
ввода</h1>"; print "Content-Type: text/html\n\n";
"CONTENT_LENGTH=$ENV{CONTENT_LENGTH}& print
uot;; read "<html><body>";
STDIN,$query,$ENV{CONTENT_LENGTH}; print print "<h1>Переменные
"Query:$query"; print окружения</h1>"; print
"<br>"; print "<table border=1>"; …
"<h1>Аргументы командной 65Поток стандартного вывода в ASP.NET.
строки</h1>"; foreach $arg this.Response.Write("<form name=f1
(@ARGV) { print "$arg\n"; } method=post
print action=WebForm1.aspx>");
"</body></html>"; this.Response.Write("<input
33Аргументы командной строки. Arg1 arg2 type=text name=t1>");
привет если URL this.Response.Write("<input
http://php/cgi-bin/first.Pl?Arg1+arg2+прив type=submit
т. value=forma11></form>");
34Стандартный поток ввода -метод GET. this.Response.Write("<form name=f1
CONTENT_LENGTH= query: URL при методе GET method=post
http://php/cgi-bin/first.Pl?Text1=123& action=WebForm4.aspx>");
ext2=%ef%f0%e8%e2%e5%f2&action=click1 this.Response.Write("<input
привет. type=text name=t1>");
35В текстовые поля формы файл f2.html this.Response.Write("<input
введено 123 и «привет» CONTENT_LENGTH=48 type=submit
Query:text1=123&text2=%EF%F0%E8%E2%E5% value=forma12></form>");
Протокол HTTP.ppt
http://900igr.net/kartinka/informatika/protokol-http-170207.html
cсылка на страницу

Протокол HTTP

другие презентации на тему «Протокол HTTP»

«Протоколы Интернета» - Крупнейшие каналы Интернет компании AT&T, США. Доменные имена (примеры). Канальный уровень. Транспортный. Когда появился интернет? Типы подключения к Интернет. Представления. Организации, ответственные за развитие TCP/IP. Имя сервера. Адресация в сети Интернет 1) Доменное имя. Пакетный способ передачи информации.

«Выбор домена» - Объект инвестиций. Кого любят поисковики. SPB.RU. РФ: кому он нужен. Финальный график. Домен RU: четвертый миллион. РФ+ домен в пакете. Нездоровый интерес. Красивый адрес. Обратный захват доменов. Дорого или дешево. Защита бренда в Интернете. Как выбрать доменное имя. Как уменьшить риск потери домена.

«Структура сети Интернет» - Самые популярные браузеры. Практическая работа. Первое подключение к Интернету. Адресация в сети Интернет. Способы подключения к сети Интернет. Гиперссылки. Интернет-провайдер. Доменная система имён. Браузеры. World Wide Web - Всемирная паутина. Универсальные указатели ресурсов. История развития сети Интернет.

«DPI-платформа» - Применение правил. Торренты. Фильтрация. Питер. Аналитика по протоколам. Преимущества DPI решений для блокирования противоправного контента. Приложение. Размеры черных списков. DPI. Экономика книгоиздания. Красноярск. VAS Experts. Проверенные решения. Преимущества DPI для блокирования противоправного контента.

«Домен для сайта» - Отображает название компании или отображает вид деятельности. okno.kiev.ua imena.ua turist-portal.crimea.ua meteo.org. При регистрации: Что означает? Домен — адрес вашего сайта. thisisthelongesteuropeandomainnameallovertheworldandnowitismine.eu, aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.eu zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.eu.

«Интернет адрес» - Система доменных имен построена по иерархическому принципу. Интернет-аукционы. Мобильный Интернет. Электронная коммерция в Интернете. Интернет-магазины. Интересной формой электронной торговли являются Интернет-аукционы. Интернет. Окно программы WebMoney (webmoney.ru). Реклама. Баннер студии Артемия Лебедева.

Устройство Интернета

26 презентаций об устройстве Интернета
Урок

Информатика

130 тем
Картинки