Современные технологии разработки ПО

Автор работы: Пользователь скрыл имя, 02 Июля 2015 в 21:04, курсовая работа

Краткое описание

В связи с распространением широкополосного доступа в интернет множество приложений выносятся в web существуют онлайн редакторы фотографий, офисные приложения, системы хранения данных.
На декабрь 2014 года в интернете насчитывается порядка 1 млрд. сайтов.
Появляются системы с операционными системами, основанными на Web-браузерах (к примеру Google Chrome Operating System).

Прикрепленные файлы: 1 файл

Курсовая.docx

— 163.47 Кб (Скачать документ)

 

Министерство образования и науки Российской Федерации

федеральное государственное автономное образовательное учреждение

высшего профессионального образования

«Северный (Арктический) федеральный университет имени М.В. Ломоносова»

 
     
 

(наименование кафедры)

 
     
     
 

(фамилия, имя, отчество студента)

 
     
 

Институт

МИКТ

курс

2

группа

     
     
 
 

(код и наименование направления  подготовки/специальности)


 
     
 

КУРСОВАЯ РАБОТА

 
     
 

По дисциплине

Технологии и методы программирования

 
     
 

На тему

Современные технологии разработки ПО. Технологии

 
   

(наименование темы)

 
 

WEB-разработки. Протокол HTTP. CGI. DHTML. CMF и CMS.

 
     
 

 

Работа допущена к защите

       
     

(подпись руководителя)

 

(дата)

 
                 
                 
                 
 

Признать, что работа

     
 

выполнена и защищена с оценкой

     
         
         
 

Руководитель

           
     

(должность)

 

(подпись)

 

(инициалы, фамилия)

 
               
     

(дата)

         
                 
                 
     
 

Архангельск 2014

 

 

 

Лист для замечаний

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

ОГЛАВЛЕНИЕ

 

 

ВВЕДЕНИЕ

 

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

На декабрь 2014 года в интернете насчитывается порядка 1 млрд. сайтов.

Появляются системы с операционными системами, основанными на Web-браузерах (к примеру Google Chrome Operating System).

 

  1. ВСТУПИТЕЛЬНАЯ ЧАСТЬ

    1. Протокол HTTP

 

HTTP (HyperText Transfer Protocol — протокол передачи гипертекста) — это протокол прикладного уровня, во многом аналогичный протоколам FTP и SMTP. В настоящее время используются две версии протокола HTTP 1.0 и HTTP 1.1

Обмен сообщениями идет по обычной схеме «запрос-ответ». Клиент и сервер обмениваются текстовыми сообщениями стандартного формата, то есть каждое сообщение представляет собой нескольких строк обычного текста в кодировке ASCII.

Для транспортировки HTTP-сообщений служит протокол TCP. При этом ТСР-соединения могут использоваться двумя разными способами:

  1. Долговременное соединение — передача в одном TCP-соединении нескольких объектов, причем время существования соединения определяется при конфигурировании веб­службы.
  2. Кратковременное соединение — передача в рамках одного TCP-соединения только одного объекта.

Долговременное соединение, в свою очередь, может быть использовано двумя способами:

  1. Последовательная передача запросов с простоями — новый запрос посылается только после получения ответа.
  2. Конвейерная передача — это более эффективный способ, в котором следующий запрос посылается до прибытия ответа на один или несколько предыдущих запросов (напоминает метод скользящего окна). Обычно по умолчанию степень параллелизма устанавливается на уровне 5-10, но у пользователя имеется возможность изменять этот параметр при конфигурировании клиента.

В HTTP 1.1 по умолчанию применяются постоянные соединения и конвейерный режим.

Основным объектом манипуляции в HTTP является ресурс, на который указывает URI (Uniform Resource Identifier – уникальный идентификатор ресурса) в запросе клиента. Основными ресурсами являются хранящиеся на сервере файлы, но ими могут быть и другие логические (напр. каталог на сервере) или абстрактные объекты (напр. ISBN). Протокол HTTP позволяет указать способ представления (кодирования) одного и того же ресурса по различным параметрам: mime-типу, языку и т. д. Благодаря этой возможности клиент и веб-сервер могут обмениваться двоичными данными, хотя данный протокол является текстовым. 

      1. Формат HTTP-сообщений

 

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

 

Обобщенная структура сообщения

HTTP-запрос

HTTP-ответ

Стартовая строка (всегда должна быть первой строкой сообщения; обязательный элемент)

Формат запроса: Метод/ URL HTTP/l.x. Пример: GET /books/ books.htm HTTP/1.1

Формат ответа: HTTP/l.x КодСостояния Фраза. Пример: НТТР/1.0 200 ОК

 

Заголовок о DNS-имени компьютера, на котором расположен веб-сервер.

Пример: Host: www.olifer.co.uk

Заголовок о времени отправления данного ответа. Пример: Date: 1 Jan 2009 14:00:30

Заголовок об используемом браузере. Пример: User-agent: Mozilla/5.0

Заголовок об используемом веб­сервере. Пример: Server: Apache/1.3.0 (Unix)

Заголовок о предпочтительном языке. Пример: Accept-language: ru

Заголовок о количестве байтов в теле сообщения. Пример: Content-Length: 1234

Заголовок о режиме соединения.

Пример: Connection: close

Заголовок о режиме соединения.

Пример: Connection: close

Пустая строка

Тело сообщения (может

отсутствовать)

Здесь могут быть расположены ключевые слова для поисковой машины или страницы для передачи на сервер

Здесь может быть расположен текст запрашиваемой страницы


 

Как видно из таблицы, запросы и ответы имеют разные форматы стартовой строки. Каждая из них состоит из трех элементов, включающих поле версии протокола HTTP. И в запросе, и в ответе примера указана версия HTTP 1.1. Стартовая строка запроса включает в себя поле метода — это название операции, которая должна быть выполнена. Чаще всего в запросах используется метод GET, то есть запрос объекта. Именно он включен в наш пример запроса. Помимо этого метода в запросах протокол предусматривает и другие методы, такие как POST, который используется клиентом, например, для отправки электронной почты или в поисковых машинах, когда клиент запрашивает у сервера не определенный объект, а объекты, содержащие ключевые слова, помещенные в теле сообщения. Еще одним элементом стартовой строки является URL-ссылка на запрашиваемый объект — здесь это имя файла /books/books.htm.

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

В настоящее время стандарты определяют пять классов кодов состояния:

  • 1хх — информация о процессе передачи;
  • 2хх — информация об успешном принятии и обработки запроса клиента (в таблице в примере стартовой строки ответа приведен код и соответствующая фраза 200 0К сообщает клиенту, что его запрос успешно обработан);
  • Зхх — информация о том, что для успешного выполнения операции нужно произвести следующий запрос по другому URL-адресу, указанному в дополнительном заголовке Location;
  • 4хх — информация об ошибках на стороне клиента (когда при указании адреса несуществующей страницы браузер выводил на экран сообщение 404 Not Found);
  • 5хх — информация о неуспешном выполнения операции по вине сервера (например, сообщение 505 http Version Not Supported) говорит о том, что сервер не поддерживает версию HTTP, предложенную клиентом).

Среди кодов состояния имеется код 401, сопровождаемый сообщением authorization required. Если клиент получает такое сообщение в ответ на попытку доступа к странице или объекту, это означает, что доступ к данному ресурсу ограничен и требует авторизации 1 пользователя. Помимо поясняющей фразы сервер помещает в свой ответ дополнительный заголовок www – Authenticate:<…>, который сообщает клиенту, какую информацию он должен направить серверу для того, чтобы процедура авторизации могла быть выполнена. Обычно это имя и пароль. Веб-клиент с момента получения такого ответа сервера начинает добавлять во все свои запросы к ресурсам данного сервера дополнительный заголовок Authorization: <имя пароль>, который содержит информацию, необходимую для авторизации доступа.

 

      1. Методы

 

Несмотря на то что HTTP был разработан специально для использования в вебтехнологиях, он был намеренно сделан более универсальным, чем это было необходимо, так как рассчитывался на будущее применение в объектно-ориентированных приложениях. По этой причине в дополнение к обычным запросам веб-страниц были разработаны специальные операции, называемые методами. Ещё один способ — использование дорвеев без перенаправления.

Каждый запрос состоит из одной или нескольких строк ASCII-текста, причем первое слово в первой строке является именем вызываемого метода. Встроенные методы перечислены в табл. 1.2. Имена методов чувствительны к регистру символов, то есть метод GET существует, а get — нет

Метод

Описание

GET

Запрос чтения веб-страницы

HEAD

Запрос чтения заголовка веб-страницы

PUT

Запрос сохранения веб-страницы

POST

Добавить к именованному ресурсу (например, к веб-странице)

DELETE

Удалить веб-страницу

TRACE

Отобразить входящий запрос

CONNECT

Зарезервирован для будущего использования

OPTIONS

Опрос определенных параметров


 

      1. Заголовки сообщений

 

За строкой запроса (например, содержащей название метода GET) могут следовать другие строки с дополнительной информацией. Они называются заголовками запросов (request headers). Эту информацию можно сравнить с параметрами, предоставляемыми при вызове процедуры. В свою очередь, ответы могут содержать заголовки ответов (response headers). Некоторые заголовки могут встречаться и там, и там. Наиболее важные из них перечислены в табл. 1.3. Этот список достаточно длинный, так что, как вы понимаете, каждому запросу и ответу может соответствовать набор заголовков.

 

Заголовок

Тип

Содержимое

User-Agent

Запрос

Информация о браузере и его платформе

Accept

Запрос

Тип страниц, поддерживаемых клиентом

Accept-Charset

Запрос

Поддерживаемые клиентом наборы символов

Accept-Encoding

Запрос

Поддерживаемые клиентом типы кодирования

Accept-Language

Запрос

Естественные языки, понимаемые клиентом

If-Modified-Since

Запрос

Время и дата последнего обновления

If-None-Match

Запрос

Теги, отосланные с последнего обновления

Host

Запрос

DNS-имя сервера

Authorization

Запрос

Список персональных идентификаторов клиента

Referer

Запрос

URL, с которого был отправлен предыдущий запрос

Cookie

Запрос

Отправка ранее принятого cookie-файла на сервер

Set-Cookie

Ответ

Сервер хочет, чтобы клиент сохранил cookie

Server

Ответ

Информация о сервере

Content-Encoding

Ответ

Тип кодирования содержимого (например, gzip)

Content-Language

Ответ

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

Content-Length

Ответ

Размер страницы в байтах

Content-Type

Ответ

Тип MIME страницы

Content-Range

Ответ

Идентифицирует часть контента страницы

Last-Modified

Ответ

Время и дата внесения последних изменений в страницу

Expires

Ответ

Время и дата, когда страница перестанет считаться

действительной

Location

Ответ

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

Accept-Ranges

Ответ

Сервер готов принимать запросы на страницы указанного размера

Date

Запрос/ Ответ

Дата и время отправки сообщения

Range

Запрос/ Ответ

Идентифицирует часть страницы

Cache-Control

Запрос/ Ответ

Указание на то, как обрабатывать кэш

ETag

Запрос/ Ответ

Тег для контента страницы

Upgrade

Запрос/ Ответ

Протокол, на который хочет переключиться отправитель

Информация о работе Современные технологии разработки ПО