Если хотите подробно, то я нашел ответы на свои такие же вопросы на сайте Там все классно написано, и к тому же очень популярно.