• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Стажировка-2013, разработчики, занятие 7. Web, HTTP
 

Стажировка-2013, разработчики, занятие 7. Web, HTTP

on

  • 415 views

 

Statistics

Views

Total Views
415
Views on SlideShare
415
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Стажировка-2013, разработчики, занятие 7. Web, HTTP Стажировка-2013, разработчики, занятие 7. Web, HTTP Presentation Transcript

    • Как работает веб: адресация, сервера, протоколы Разработчики. Занятие 7
    • • IP адрес • Доменные имена • DNS (Domain Name System) • • Иерархическая адресация, стек TCP/IP
    • Domain Name System
    • Архитектура клиент-сервер
    • Архитектура клиент-сервер
    • HTTP(HyperText Transfer Protocol) – протокол передачи гипертекста. • основа HTTP – технология клиент- сервер. • используется повсеместно в интернете. • основной объект – URL • не сохраняет промежуточное состояние https://ru.wikipedia.org/wiki/HTTP Протокол HTTP
    • Каждый HTTP-запрос состоит из трёх частей: 1. Стартовая строка – тип запроса. 2. Заголовки (headers) – параметры передачи 3. Тело запроса. Структура протокола HTTP
    • Запрос клиента GET /news/recent HTTP/1.1 Host: www.example.com Структура протокола HTTP
    • • GET • POST • PUT • DELETE • …и остальные HTTP-методы
    • Коды состояния HTTP Код состояния = код ответа + поясняющая фраза 200 – OK 404 – Not Found Список кодов состояния HTTP
    • Заголовки HTTP Заголовки HTTP (HTTP Headers) - это строки в HTTP- сообщении, содержащие разделённую двоеточием пару имя-значение. http://ru.wikipedia.org/wiki/Заголовки_HTTP
    • Примеры HTTP заголовков • General Headers (Cache- Control, Date) • Request Headers (Referer, User Agent) • Response Headers (Age, ETag) • Entity Headers (Content- Language, Content-Encoding)
    • Заголовки HTTP Пример запроса: GET /wiki/страница HTTP/1.1 Host: ru.wikipedia.org User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5 Accept: text/html Connection: close (пустая строка)
    • Заголовки HTTP Пример ответа: HTTP/1.1 200 OK Date: Wed, 11 Feb 2009 11:20:59 GMT Server: Apache X-Powered-By: PHP/5.2.4-2ubuntu5wm1 Last-Modified: Wed, 11 Feb 2009 11:20:59 GMT Content-Language: ru Content-Type: text/html; charset=utf-8 Content-Length: 1234 Connection: close (пустая строка)
    • Cookie и сессии Cookie – небольшой фрагмент данных, отправленный сервером и хранимый на компьютере пользователя.
    • Developer Tools Firefox Nightly:
    • Developer Tools Chrome
    • HTTP сервер Веб сервер это сервер, принимающий HTTP запросы от клиентов, и выдающий им HTTP-ответы (веб-страницы в HTML, изображения, файлы)
    • HTTP сервера • Apache • Nginx • Lighttpd • Microsoft IIS • Cherokee
    • Apache Особенности: • система модулей • механизм виртуальных хостов • язык для описания конфигов https://ru.wikipedia.org/wiki/Apache
    • Установка Apache Ubuntu: sudo apt-get install apache2 php5 /etc/apache2/ports.conf /etc/apache2/sites-available/ /etc/apache2/sites-enabled/
    • Пример VirtualHost <VirtualHost *:80> DocumentRoot /var/www/demo ServerName www.example.com </VirtualHost>
    • Nginx Особенности: • асинхронная обработка запросов • использует меньше ресурсов • очень быстр при отдаче статики https://ru.wikipedia.org/wiki/Apache
    • Установка nginx Ubuntu: sudo apt-get install nginx /etc/nginx/nginx.conf /etc/nginx/sites-available/ /etc/nginx/sites-enabled/
    • Пример конфигурации сервера server { listen 80; server_name example.com; root /var/www/nginx; location / { #… } }
    • Сервера приложений • Apache Tomcat (Java) • Phusion Passenger (Ruby, Python, Node.js) • Unicorn, thin (Ruby) • gUnicorn, uWSGI (Python)
    • Web Programming Languages ruby java python erlang javascript php asp.net node.js scala go perl c c++ groovy
    • Компилируемые языки vs. интерпретируемые Возможные задержки при загрузке страниц в вебе: • задержки соединения • загрузка статики • запросы к базам данных • скорость выполнения на сервере • скорость обработки страницы в браузере
    • Задание • установить и настроить Apache и Nginx на разные порты: Nginx – 80, Apache – 8080. • установить PHP5 • вывести страницу с php кодом через Apache и Nginx на запущенных портах.
    • Задание Для запуска скриптов PHP нужно: • Apache – mod_php5 • Nginx – php5-fpm + настройка блока location {} в конфиге. http://wiki.nginx.org/PHPFcgiExample