Протокольно-кодировочные фильтры.




Сетевые фильтры.

В начало

Конфигурация Apache

Для конфигурации Apache есть 4 основных подхода:

1. Компиляция / инсталляция: сборка из исходников позволяет выбрать необходимые модули, установить нужные флаги, пути и т. д.

2. Параметры командной строки: позволяют конфигурировать Apache при запуске.

3. Глобальные конфигурационные файлы: главный файл по умолчанию называется httpd.conf.

4. Локальные конфигурационные файлы: использование.htaccess.

Конфигурационные директивы в файле httpd.conf можно разбить на 3 категории:

1. Директивы, контролирующие общий процесс работы.

2. Директивы виртуальных хостов.

3. Настройки виртуальных хостов.

К директивам первой группы относятся <Directory>, <DirectoryMatch>, <Files>, <FilesMatch>, <Location>, <LocationMatch>.

Они применяются в привязке к конкретной файловой структуре либо к URL. В первом случае это <Directory>, во втором — <Location>. Apache может обслуживать одновременно несколько веб-сайтов с различными именами, реализуя виртуальный хостинг, что делается на основе директивы <VirtualHost>. Для того, чтобы изменения в главном конфиге вступили в силу, сервер должен быть перезапущен.

Локальная конфигурация реализована на основе.htaccess. Имя этого файла можно изменить в секции AccessFileName. Изменения в файле.htaccess вступают в силу немедленно, без перезапуска, его действие распространяется на каталог, в котором он лежит, со всеми вложенными подкаталогами. Избыточное использование.htaccess может повлиять на производительность сервера.

Содержимое основного конфига httpd.conf можно разделить на 5 секций:

1. Глобальные директивы.

2. <VirtualHost> — применимы к выиртуальным серверам.

3. <Directory>, <DirectoryMatch> — применимы к каталогам.

4. <Files>, <FilesMatch> — применимы к файлам.

5. <Location>, <LocationMatch> — применимы к URL.

Директива может иметь несколько параметров, тип параметров может различаться.

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

Например, директива

LoadModule foo_module modules/mod_foo.so

будет обработана mod_so, в этой команде 2 аргумента — имя загружаемого модуля и имя файла.

Следующая директива будет обработана ядром:

DocumentRoot /usr/local/apache/htdocs

Следующая директива будет обработана модулем mod_env, будет установлена переменная окружения:

SetEnv hello ”Hello, World!”

Контейнер — специальная форма директивы с использованием скобок, которая имеет свой внутренний контекст. Например, контейнер <VirtualHost>:

<VirtualHost 10.31.2.139> ServerName www.example.com DocumentRoot /usr/www/example ServerAdmin webmaster@example.com CustomLog /var/log/www/example.log</VirtualHost>

Содержимое локального файла.htaccess можно разделить также на 5 секций:

1. AuthConfig — контроль авторизации.

2. Limits — контроль доступа.

3. Options — конкретные настройки каталогов.

4. FileInfo — установка атрибутов для документов.

5. Indexes — индексация каталогов.

В начало

Apache API

Apache API включает в себя все возможности веб-сервера. Модульная архитектура позволяет встраивать новые модули на основе этого функционала. Ядро дает любому модулю большой выбор в вызове функций. Эти функции могут быть вызваны со специальными структурами в качестве параметров и могут возвращать специальные структуры. Базовые структуры заранее определены.

Вторая версия Apache уже включает в себя весь существующий функционал первой версии Apache, плюс имеется новый функционал в форме Apache Portable Runtime (APR).

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

Apache также управляет выделением памяти под массивы и управляющую хеш-таблицу.

Функции, с которыми работают модули, имеют параметры и структуры предопределенного типа, тип этот модули менять не имеют права. Наиболее важные внутренние типы данных Apache:

1. request_rec — одна из наиболее важных структур, включает информацию о запросе. В этой структуре находится ссылка на пул запросов, а также другая структура с различными форматами URL для их трансляции.

2. server_rec – в основном содержатся конфигурационные данные, а также имя сервера, порт, таймаут и т.д.

3. connection_rec — содержится информация о коннекте. На один коннект может приходиться несколько запросов. Время жизни коннекта может превышать время жизни запроса. Здесь также хранится информация о клиенте.

Функции дают возможность модулям манипулировать своими структурами данных. Системные вызовы находятся в компетенции ядра. Имеются функции для создания процессов, открытия коммуникационных каналов для внешних процессов, отсылки данных клиенту, прикладные функции типа работы со строками и т. д.

Все функции можно разбить по категориям:

1. Управление памятью.

2. Управления процессами.

3. Управление массивами.

4. Управление таблицами.

5. Управление строками.

6. Управление сетью.

7. Динамическая линковка.

8. Логирование.

9. Управление мьютексами.

10. Авторизация.

Во второй версии Apache появился Apache Portable Runtime — дополнительный API функционал. Он включает:

1. File I/O + Pipes.

2. Дополнительное обслуживание памяти.

3. Mutex + Locks, Asynchronous Signals.

4. Network I/O.

5. Многозадачность, в том числе потоки (threads).

6. Dynamic Linking (DSO).

7. Time.

8. Authentication.

APR — это по сути целый новый фреймворк для веб-сервера.

В начало

Заключение

Apache обладает широким спектром возможностей, может обслуживать одновременно большое количество клиентов, легко настраивается с помощью текстовых конфигурационных файлов и может быть на ходу переконфигурирован. Для разработки модулей имеется хорошо документированное API. Использование скриптовых языков позволяет использовать Apache в связке с базами данных и серверами приложений.

 

5.1. Методы добавления атрибутов к растровым изображениям.

6. EXIF (англ. Exchangeable Image File Format) — стандарт, позволяющий добавлять к изображениям и прочим медиафайлам дополнительную информацию (метаданные), комментирующую этот файл, описывающий условия и способы его получения,авторство и т. п. Получил широкое распространение в связи с появлением цифровых фотокамер. Информация, записанная в этом формате, может использоваться как пользователем, так и различными устройствами, например, принтером. Стандарт EXIF является чрезвычайно гибким (например, позволяет сохранить полученные с приёмника GPS координаты места съёмки) и допускает широкое развитие — как правило, фотоаппараты добавляют к файлу информацию, специфичную только для данной конкретной камеры. Правильно интерпретировать такую информацию могут только программы от изготовителя фотоаппарата.

7. Разработчик формата — Japan Electronics and Information Technology Industries Association (JEITA). EXIF является частью более широкого стандарта DCF.

8. Версия Exif 2.2 (известная также как Exif Print) введена в 2002 году. Наиболее существенные дополнения касаются данных, описывающих условия съемки, нужных для корректной печати таких изображений. Эти данные могут потребоваться, например, при печати ночных снимков, для которых обилие темноты не является ошибкой фотографа, автоматика принтера может пытаться «спасти» такие снимки, но не должна этого делать[1]. Последняя версия — 2.3[2].

Большинство современных цифровых фотокамер записывает параметры съёмки в файлы изображений. Также при обработке изображений в EXIF может записываться дополнительная информация.

В качестве примера информации, записываемой в EXIF, можно указать следующее:

· производитель камеры,

· модель,

· информация о правообладании,

· выдержка,

· диафрагма,

· ISO,

· использование вспышки,

· разрешение кадра,

· фокусное расстояние,

· размер матрицы,

· эквивалентное фокусное расстояние,

· дата и время съёмки,

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

· тип баланса белого,

· географические координаты и адрес места съёмки.

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

Программы, поддерживающие EXIF[править | править вики-текст]

В настоящее время EXIF повсеместно, в большей или меньшей степени, поддерживается программами просмотра изображений и даже штатными средствами операционных систем. Степень поддержки может быть разная, возможно искажение или даже полное удаление данных EXIF из-за неполной поддержки формата. ExifTool и ShowExif обладают наиболее полной поддержкой.

Microsoft Windows [править | править вики-текст]

· Adobe Photoshop (версия 8.0 и выше) — популярный графический растровый редактор.

· Windows Explorer (Проводник Windows) — встроенная многоцелевая оболочка.

· FastStone Image Viewer — программа для просмотра изображений.

· ACDSee — комплекс из просмотрщика, каталогизатора и редактора изображений.

· IrfanView — программа для просмотра мультимедиа-файлов различных форматов.

· XnView — программа для просмотра и конвертирования файлов.

· ExifTool[3]

· ShowExif – бесплатная программа, предназначеная для просмотра метаданных в файлах цифровых фотографий.

Mac OS X [править | править вики-текст]

· Preview (в русской локализации "Просмотр") — встроенный просмотрщик и редактор изображений.

· Adobe Photoshop

· Adobe Photoshop Lightroom

· Aperture

· iPhoto

UNIX и GNU/Linux [править | править вики-текст]

В *NIX-подобных, а также в GNU/Linux для чтения/изменения exif-информации, ввиду пакетной архитектуры этих операционных систем, используется отдельный пакет, носящий название libexif. Ниже перечислены программы (пакеты) использующие пакет libexif:

· GIMP

· Eye of GNOME

· F-Spot

· XnView

· Gwenview

· digiKam

· gThumb

Версии[править | править вики-текст]

· Exif 2.1 — анонс 12.06.1998

· Exif 2.2[4]

· Exif 2.3

См. также[править | править вики-текст]

· DPOF

· TIFF

· IPTC

· Extensible Metadata Platform

· Специальные программы для работы с метаданными

 

ВЫВОДЫ


 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: