От переводчика: перед вами краткий обзор протокола HTTP и его истории — от версии 0.9 к версии 2.
HTTP — протокол, пронизывающий веб. Знать его обязан каждый веб-разработчик. Понимание работы HTTP поможет вам делать более качественные веб-приложения.
В этой статье мы обсудим, что такое HTTP, и как он стал именно таким, каким мы видим его сегодня.
Исследователи информационной безопасности Картикеян Баргаван (Karthikeyan Bhargavan) и Гаетан Лоран (Gaëtan Leuren) разработали атаку на шифры 3DES и Blowfish. Например, с ее помощью можно получить использующиеся для аутентификации cookie из зашифрованного 3DES HTTPS-трафика, а также восстанавливать имена пользователей и пароли из зашифрованного с помощью Blowfish трафика, передаваемого через VPN.
Атака, которая получила название SWEET32, посвящен отдельный сайт, ее подробности и демо-видео исследователи планируют представить на конференции ACM Conference on Computer and Communications Security, которая в следующем месяце пройдет в Австрии. Мы собрали известную на данный момент информацию в своем материале.Читать полностью »
Привет! В этой статье я хочу рассказать, как легко написать полноценный HTTP сервер на Go, дабы у читателей не возникло проблем с поиском необходимого функционала в библиотеках. Использовать будем только функционал стандартных библиотек и оригинальный компилятор.
Сервер не будет обрабатывать множество ошибок — он создан исключительно для того, чтобы объяснить, как его вообще реализовать.
Полная версия видео доступна в конце публикации и по ссылке
Это была лишь середина жаркого московского июля, который вот-вот подойдёт к концу. Договорившись с Александром о записи, мы все немного волновались — никогда ещё никто в Хабрахабре не пытался вести предметный диалог с известным техническим специалистом на видео. Не были мы оба уверены и в ходе диалога — в первую очередь потому что, оба Александры, мы никогда не встречались до этого лично. Тем не менее, наша небольшая съёмочная группа прибыла на место назначения, где-то между Беговой и Полежаевской.
Герой сегодняшнего рассказа и диалога родился в городе Ногинск Московской области. Как он рассказал нам, вся его семья по маминой линии из этого региона — на Клязьме деревня была еще несколько веков назад.
Но мама увлеклась романтикой севера и переехала в город Мурманск – это самый большой город за полярным кругом. И так получилось, что Александр родился там же. Отец был моряком, мама – бухгалтером.
Ключевых отправных точек в жизни сегодняшнего героя было две. Первая – это когда в 10 лет он увидел «Роботрон-1820», немецкий компьютер: «Меня сильно удивило, что можно рисовать в телевизоре. Мне стало интересно, что это такое, как можно программировать, что такое операционная система. Так получилось, что семья у меня была не сильно богатая…».
Своего компьютера у Саши не было — он занимался в кружке программирования, в областном Дворце Пионеров. Ездил на Олимпиады по программированию, так же, как и по многим другим естественно-научным предметам.
Зато, хватается он, у одного из первых в городе появился модем — подарили старый-старый терминал DEC VT-220. Так он познакомился с миром сетей.
Второй такой wow-момент был, когда Александр понял, что может разговаривать с человеком, который находится вообще в другом полушарии. Это подвигло его к увлечению сетями – Х25, IP. Он стал сетевым инженером.Читать полностью »
Привет. Данный пост предназначен для любителей халявы и содержит готовый рецепт по получению доменного имени, услуг DNS-сервера и SSL-сертификата с затратами 0 рублей 0 копеек. Бесплатный сыр бывает только в мышеловке и это правда, так что рецепт скорее для тех кто хочет красивую ссылку на свой личный небольшой проект с поддержкой https а не для серьёзных проектов.
Команда Yii выпустила официальное расширение-клиент HTTP. Написано почти целиком Павлом Климовым. До последнего времени не было тегнуто как релиз из за несовместимости с PSR-7, хотя уже много где использовалось. После долгих обсуждений было решено выпускать без PSR-7. К нему, возможно, вернутся в 2.1.x.
Выполнение HTTP запроса выглядит вот так:
use yiihttpclientClient;
$client = new Client();
$response = $client->createRequest()
->setMethod('post')
->setUrl('https://example.com/api/1.0/users')
->setData(['name' => 'John Doe', 'email' => 'johndoe@domain.com'])
->send();
if ($response->isOk) {
$newUserId = $response->data['id'];
}
Протокол передачи гипертекста (HTTP) — это простой, ограниченный и невероятно скучный протокол, лежащий в основе Всемирной паутины. По сути, HTTP позволяет считывать данные из подключённых к сети ресурсов, и в течение десятилетий он выступает в роли быстрого, безопасного и качественного “посредника”.
В этой обзорной статье мы расскажем об использовании и преимуществах HTTP/2 для конечных пользователей, разработчиков и организаций, стремящихся использовать современные технологии. Здесь вы найдёте всю необходимую информацию о HTTP/2, от основ до более сложных вопросов. Читать полностью »
В прошлом году PHP-FIG приняла стандарт PSR-7, описывающий работу с сообщениями HTTP. Хорошая статья об этом стандарте и его применении была на Хабре. И хотя PSR-7 — большой шаг вперёд, ему не хватает логичного продолжения — общего интерфейса клиентов HTTP. Созданием недостающего компонента занялась группа PHP-HTTP.
Давным давно, в начале 1989 года, Рональд Рейган ещё был президентом, хотя до окончания его срока оставалось 19½ дней. А перед тем, как 1989 год подошел к концу, родилась Тейлор Свифт, а Андрей Сахаров и Сэмюэл Беккет скончались.
В долгосрочной перспективе, наиболее значительным событием 1989 скорее всего станет то, что Тим Бернерс-Ли заложил основы протокола HTTP и назвал результат «World Wide Web». (Одно примечательное свойство этого имени состоит в том, что аббревиатура «WWW» имеет в два раза больше слогов и требует больше времени для произнесения.)
Протокол HTTP, предложенный Тимом, работал в 10-мегабитных сетях с коаксиальными кабелями, а его компьютером был NeXT Cube с частотой 25 МГц. 26 лет спустя, в моем ноутбуке установлен процессор в сотни раз быстрее, а оперативной памяти в тысячи раз больше, чем было на компьютере Тима, но протокол HTTP всё тот же.
Несколько дней назад рабочая группа IESG (The Internet Engineering Steering Group) запросила последние комментарии по новому протоколу HTTP/2.0 (https://tools.ietf.org/id/draft-ietf-httpbis-http2) перед тем, как утвердить его в качестве официального стандарта. Читать полностью »
Один из аспектов понятия «производительность Web» заключается в том, чтобы уменьшить наблюдаемые пользователем задержки; получить готовую к работе страницу как можно быстрее. В отношении протокола HTTP это подразумевает, что идеальный протокол связи выглядит как-то так:
Клиент шлёт минимально необходимое количество данных, чтобы описать свой запрос, а сервер отдаёт ему минимально необходимое количество данных для отображения страницы и всё это происходит за минимально возможное количество раундов связи. Лишние данные, пересылаемые на сервер или получаемые с сервера, означают увеличение времени загрузки и повышение шансов потери пакетов, перегруженность канала связи. Лишние циклы отправкиприёма данных из-за «болтливости» протокола и задержки (особенно в мобильных сетях, где 100ms — лучшее возможное время отклика) тоже ухудшают ситуацию.
Итак, если мы описали идеальный случай — соответствует ли ему протокол HTTP? И можем ли мы ещё как-нибудь улучшить его? Читать полностью »