Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

PHPbook

.pdf
Скачиваний:
79
Добавлен:
14.04.2015
Размер:
915 Кб
Скачать
☆

51

9. РАЗНОЕ

1. Что такое сериализация?

Это процесс перевода какой-либо структуры данных в последовательность битов.

2. А десериализация?

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

3. Зачем они нужны?

Сериализация используется для передачи объектов по сети и для сохранения их в файлы. На- пример, нужно создать распределённое приложение, разные части которого должны обмени- ватьсяданнымисосложнойструктурой.Втакомслучаедлятиповданных,которыепредполага- етсяпередавать,пишетсякод,которыйосуществляетсериализациюидесериализацию.Объект заполняется нужными данными, затем вызывается код сериализации, в результате получается, например, XML-документ. Результат сериализации передаётся принимающей стороне, напри- мер, по HTTP. Приложение-получатель создаёт объект того же типа и вызывает код десериали- зации,врезультатеполучаяобъектстемижеданными,чтобыливобъектеприложения-отпра- вителя. По такой схеме работает, например, сериализация объектов через SOAP в Microsoft .NET.

4. Что такое Apache?

Apache HTTP – бесплатный веб-сервер.

5. А mod_rewrite?

Для веб-сервера Apache существует мощный модуль mod_rewrite, который включается в стан- дартный дистрибутив. Данный модуль позволяет выполнять на лету URL преобразования. Механизм преобразования основывается на использовании правил, а правила в свою очередь представляют из себя регулярные выражения.

Модуль mod_rewrite поддерживает неограниченное количество правил и связанных с каждым правилом условий, реализуя действительно гибкий и мощный механизм управления URL. Для получения URL нужного вида могут использоваться разные источники данных, например переменныесервера,переменныеокружения,HTTPзаголовки,времяидажезапросыквнешним базам данных в разных форматах.

МодульоперируетсполнымиURL(включаяpath-info)ивконтекстесервера(httpd.conf)ивкон- тексте каталога (.htaccess) и даже может генерировать части строки запроса в качестве резуль- тата.

52

6. Аббревиатуры SVN и CVS о чем-то говорят?

SVN (Subversion) и CVS (Concurrent Versions System) – это системы управления версиями.

7. А что это за системы такие?

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

8. Существуют ли еще какие-то системы управления версиями?

Да. Git, Mercurial, Bazaar...

9. Что такое сессии? Где хранятся сессии: на стороне клиента или на стороне

сервера?

Сессия(httpsession)–этологическийобъект,которыйпозволяетпередаватьданныемеждупос- ледовательными HTTP запросами от одного пользователя. Сессии создаются в PHP на стороне сервераитамжехранятся.Собственно,сессии,есливдвухсловах–этомеханизм,позволяющий однозначно идентифицировать браузер и создающий для этого браузера файл на сервере, в ко- тором хранятся переменные сеанса.

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

10. Как долго ”живет” сессия?

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

11. А при открытом браузере?

У томката по дефолту 30 минут, но это можно настроить.

12. Возможно ли как-то продлить время жизни сессии?

Да. Это можно изменить при помощи параметра session.cookie_lifetime в файле php.ini.

PHP,какправило,хранитданныесессиивфайлах.Длятого,чтобынезасорятьфайловуюсистему периодическиосуществляетсяочисткаустаревшихданных,garbagecollection–уборкамусора.В файле php.ini существует параметр session.gc_maxlifetime который указывает время в секундах, по истечению которого все устаревшие данные будут удалены из файловой системы.

Допустим, мы хотим задать время жизни сессии – 3 часа. Для этого в файле php.ini устанавлива- 53 ем следующие параметры:

session.gc_maxlifetime = 10800 session.cookie_lifetime = 10800

13. Зачем нужны сессии?

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

14. Как устроены, и как работают сессии?

Для начала надо как-то идентифицировать браузер. Для этого надо выдать ему уникальный идентификатор и попросить передавать его с каждым запросом.

Идентификатор – это обычная переменная. Для PHP по умолчанию ее имя – PHPSESSID. Задача PHP отправить ее браузеру, чтобы тот вернул ее со следующим запросом.

Переменную можно передать только двумя способами: в куках или POST/GET запросом. PHP ис- пользует оба варианта.

За это отвечают две настройки в php.ini:

session.use_cookies - если равно 1, то PHP передает идентификатор в куках, если 0 - то нет. session.use_trans_sid если равно 1, то PHP передает его, добавляя к URL и формам, если 0 - то нет.

15. Поясни разницу между HTTP методами GET и POST.

GET передает данные серверу используя URL, а POST передает данные, используя тело HTTP запроса.

Длина URL’а ограничена 1024 символами, что и будет верхним пределом для данных, которые можно отослать GET’ом. POST может отправлять гораздо большие объемы данных.

Кроме того, передача данных методом POST более безопасна, чем методом GET, так как секрет- ные данные (например пароль) не отображаются напрямую в web-клиенте пользователя (в от- личии от URL, который виден почти всегда).

16. А какие еще есть методы кроме GET и POST и для чего они используются?

GET и POST – это основные методы передачи данных. Есть еще PUT и DELETE, но ими никто не пользуется.

54

17. Что такое стандарты W3C?

Консорциум всемирной паутины (World Wide Web Consortium, W3C) – организация, разрабаты- вающая и внедряющая технологические стандарты для Всемирной паутины.

W3CразрабатываетдляИнтернетаединыепринципыистандарты,называемые“рекомендаци- ями”, которые затем внедряются производителями программ и оборудования. Таким образом достигается совместимость между программными продуктами и аппаратурой различных ком- паний, что делает Всемирную сеть более совершенной, универсальной и удобной.

18. По какому протоколу осуществляется передача данных в сети Интернет?

Стек протоколов TCP/IP – это два протокола нижнего уровня, являющиеся основой связи в сети Интернет. Протокол TCP (Transmission Control Protocol) разбивает передаваемую информацию на порции и нумерует все порции. С помощью протокола IP (Internet Protocol) все части пере- даются получателю. Далее с помощью протокола TCP проверяется, все ли части получены. При получении всех порций TCP располагает их в нужном порядке и собирает в единое целое.

19. Назови наиболее известные протоколы, используемые в сети Интернет?

(Hyper Text Transfer Protocol) – это протокол передачи гипертекста. Протокол HTTP ис- пользуетсяHTTP при пересылке Web-страниц с одного компьютера на другой.

(File Transfer Protocol) – это протокол передачи файлов со специального файлового серве- раFTPна компьютер пользователя. FTP дает возможность абоненту обмениваться двоичными и текстовыми файлами с любым компьютером сети. Установив связь с удаленным компьютером, пользовательможетскопироватьфайлсудаленногокомпьютеранасвойилископироватьфайл со своего компьютера на удаленный.

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

(SimpleMailTransferProtocol)–протокол,которыйзадаетнаборправилдляпередачипоч- тыSMTP. Сервер SMTP возвращает либо подтверждение о приеме, либо сообщение об ошибке, либо запрашивает дополнительную информацию.

20. Что такое Document Object Model (DOM) ?

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

21. Что такое AJAX и как он работает?

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

AJAX–несамостоятельнаятехнология,аконцепцияиспользованиянесколькихсмежныхтехно- 55 логий. AJAX базируется на двух основных принципах:

1) Использование технологии динамического обращения к серверу “на лету”, без перезагрузки всей страницы полностью, например:

– с использованием XMLHttpRequest (основной объект);

– через динамическое создание дочерних фреймов;

– через динамическое создание тега <script>.

2) Использование DHTML для динамического изменения содержания страницы;

В качестве формата передачи данных обычно используются JSON или XML.

22. Что такое JSON?

Это текстовый формат обмена данными, основанный на JavaScript и обычно используемый именно с этим языком. Как и многие другие текстовые форматы, JSON легко читается людьми.

23. А XML?

XML–эторасширяемыйязыкразметки,фактическипредставляющийсобойсводобщихсинтак- сических правил. Текстовый формат, предназначенный для хранения структурированных дан- ных для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML).

24. Приведи пример XML-документа.

<?xml version=”1.0” encoding=”utf-8”?> <book>

<title>”PHP. Собеседование в вопросах и ответах”</title> <author>Шевченко А.А.</author>

<description>В этой книге собраны наиболее часто встречающиеся вопросы на собеседовании на должность PHP-разработчика</description>

</book>

25. Что такое XML Schema?

XMLSchema–этоязыкописанияструктурыXML-документа.Какбольшинствоязыковописания XML, XML Schema была задумана для определения правил, которым должен подчиняться доку- мент. Но, в отличие от других языков, XML Schema была разработана так, чтобы её можно было использовать в создании программного обеспечения для обработки документов XML.

26. Что такое JSON Schema?

JSONSchema–одинизязыковописанияструктурыJSONдокумента.ИспользуетсинтаксисJSON. JSON Schema – самоописательный язык: при его использовании для обработки данных и описа- ния их допустимости могут использоваться одни и те же инструменты сериализации/десериа- лизации.

56

27. Что такое XMLhttpRequest?

ОбъектXMLHttpRequestдаетвозможностьбраузеруделатьHTTP-запросыксерверубезперезаг- рузкистраницы.НесмотрянасловоXMLвназвании,XMLHttpRequestможетработатьсданными в любом текстовом формате.

28. Что такое API?

API (Application Programming Interface) – это интерфейс программирования приложений, на- бор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]