В статье я хочу рассказать не столько об ошибке в RFC 2616, сколько о своем подходе к созданию парсера HTTP сообщений, показать его преимущества и недостатки. В основу моего подхода положено два принципа «лучше час потерять, потом за пять минут долететь» и «пусть компьютер работает, а я отдохну».
Читать полностью »
Рубрика «http» - 17
Ошибка в HTTP протоколе
2012-10-01 в 14:05, admin, рубрики: .net, DFA, http, nfa, Алгоритмы, ДКА, Программирование, метки: DFA, http, nfa, ДКАРеферер Google Search не передается в теле запроса в iOS 6
2012-09-27 в 15:02, admin, рубрики: apple, Google, http, referer, Мобильный вебРиан Джонс заметил, что реферер Google Search не передается в теле запроса, когда пользователи используют Google Search на iOS 6 (последняя версия мобильной ОС от Apple).
Я проверил этот факт и попробовал поискать на своих iPhone и iPad с iOS 6 на борту — кликнул на ссылку в результатах, и действительно, реферальная ссылка не передалась в теле запроса. Вкратце, это значит что клик по ссылке засчитывается не как переход с другого сайта, а как прямой заход на сайт.
Читать полностью »
Поддержка SPDY в nginx
2012-06-15 в 21:53, admin, рубрики: http, nginx, SPDY, Серверная оптимизация, метки: http, nginx, SPDYРазработчики nginx анонсировали бета-версию модуля, реализующего поддержку протокола SPDY draft 2. Модуль сейчас распространяется в виде патча для девелоперской версии nginx 1.3.x (патч: http://nginx.org/patches/spdy/patch.spdy-35.txt).
Пока что у модуля имеется ряд ограничений (отсутствие поддержки push с сервера, директивы post_action, ограничения пропускной способности, отключён SSL-буфер), но в течение ближайших месяцев планируется его доработать, снять все ограничения и полностью интегрировать в основной код nginx.
Протокол SPDY поддерживается браузерами Firefox и Chrome, значительно ускоряя загрузку веб-страниц.
Читать полностью »
Предложен новый код статуса HTTP для цензуры
2012-06-13 в 0:18, admin, рубрики: 451, 451 градус по фаренгейту, http, open source, Веб-разработка, метки: 451, 451 градус по фаренгейту, httpПредыстория
Четыре дня назад Теренс Эден (Terence Eden) указал на несоответствие существующих HTTP кодов чудному новому миру, в котором мы теперь живём. Поводом послужило недавнее требование к провайдерам цензурировать доступ к The Pirate Bay: ведь неизвестно что должен вернуть сервер в ответ на запрос запретного документа. В процессе обсуждения Тим Брэй (Tim Bray) из гугла предложил ввести новый код статуса — 451.
Читать полностью »
Разбор протокола SPDY командой Opera Software
2012-06-09 в 12:06, admin, рубрики: http, IT-стандарты, opera, SPDY, tcp, метки: http, SPDY, tcpМартин Нильссон (Martin Nilsson), ведущий программист Opera Software, отправил в рабочую группу IETF HTTP-WG подробный обзор SPDY, сделанный специалистами Opera.
Как известно, протокол SPDY представляет собой улучшенную версию HTTP и во многих случаях значительно увеличивает скорость передачи данных по TCP. Он включён по умолчанию в браузерах Chrome (с января 2011 г.) и Firefox (четыре дня назад).
Мартин Нильссон отмечает, что компания Opera давно занимается оптимизацией передачи данных по HTTP, в том числе в Opera Mini и Opera Turbo, так что они могут оценить различные методы оптимизации SPDY.
Читать полностью »
Небольшие 3 правила безопасности
2012-05-03 в 17:50, admin, рубрики: http, security, Веб, Веб-разработка, информационная безопасность, метки: http, security, ВебПравило №1. Делайте все авторизационные куки HttpOnly
Куки с флагом HttpOnly не видны браузеру, а отправляются только на сервер. На практике у вас почти никогда нет необходимости получать их содержимое со стороны клиента (если такая необходимость почему-то у вас возникла — пересмотрите архитектуру авторизации, скорее всего, там что-то не так). А вот злоумышленнику, нашедшему XSS — а XSS так или иначе когда-нибудь где-нибудь найдется — отсутствие HttpOnly на авторизационных куках доставит много радости.
Очевидные 3 правила безопасности
2012-05-03 в 17:50, admin, рубрики: http, security, Веб, Веб-разработка, информационная безопасность, метки: http, security, ВебПравило №1. Делайте все авторизационные куки HttpOnly
Куки с флагом HttpOnly не видны браузеру, а отправляются только на сервер. На практике у вас почти никогда нет необходимости получать их содержимое со стороны клиента (если такая необходимость почему-то у вас возникла — пересмотрите архитектуру авторизации, скорее всего, там что-то не так). А вот злоумышленнику, нашедшему XSS — а XSS так или иначе когда-нибудь где-нибудь найдется — отсутствие HttpOnly на авторизационных куках доставит много радости.
Создание конечного автомата для разбора HTTP запроса
2012-04-09 в 12:49, admin, рубрики: .net, DFA, http, parser, ДКА, Компиляторы, метки: DFA, http, parser, ДКАДетерминированный конечный автомат можно использовать для реализации очень быстрого способа разбора входной последовательности. Требуется всего один проход по входной последовательности, и минимальные действия на каждом шаге. К сожалению эта модель имеет ограничения — не всегда возможно построить ДКА, для имеющегося Недетерминированного конечного автомата (регулярного выражения, грамматики). Или даже если возможно построить, автомат может иметь слишком большое число состояний.
Тем не менее я решил попробовать создать парсер для HTTP запроса на основе ДКА. Основная задача не просто проверить корректность HTTP запроса, а именно выделить во входной строке элементы соответствующие определенным значениям полей HTTP запроса. Автомат должен генерироваться из BNF правил (разбросанных по) RFC2616. Реализовано все на C#, автомат на выходе тоже на C#. Хотя понятно что когда автомат готов, сгенерировать его на любом языке, в любом виде не проблема.
Читать полностью »
Подмена HTTP-заголовка Server для различных веб-серверов
2012-03-26 в 15:25, admin, рубрики: http, веб-сервер, информационная безопасность, системное администрирование, метки: http, веб-сервер, серверПривет, читатели.
Большинство (если не все) веб-серверы при ответе на HTTP-запрос по умолчанию заявляют о себе с помощью заголовка Server, сообщая в лучшем случае название используемого ПО, а в хучшем – версию, используемые модули и т.д. Их можно удобно просматривать с помощью таких дополнений, как например Server Spy для Mozilla Firefox.

Но далеко не все из веб-серверов позволяют в явном виде одной директивой отключить такое поведение. На мой взгляд, это потенциальная прореха в безопасности. В данной статье показано, как отключить отсылку заголовка Server или подменить его значение на произвольное для серверов Lighttpd, Nginx, Apache, G-WAN.
Подробнее под катом.Читать полностью »
Fiddler — помощник в отладке JavaScript
2012-03-20 в 9:20, admin, рубрики: fiddler, http, javascript, отладка, метки: fiddler, http, javascript, отладкаНа Хабре уже упоминалась данная тулза, но как-то в контексте других тем.
What is Fiddler?
Fiddler is a Web Debugging Proxy which logs all HTTP(S) traffic between your computer and the Internet. Fiddler allows you to inspect traffic, set breakpoints, and «fiddle» with incoming or outgoing data. Fiddler includes a powerful event-based scripting subsystem, and can be extended using any .NET language.Fiddler is freeware and can debug traffic from virtually any application that supports a proxy, including Internet Explorer, Google Chrome, Apple Safari, Mozilla Firefox, Opera, and thousands more. You can also debug traffic from popular devices like Windows Phone, iPod/iPad, and others.
To debug applications you've written in Java, .NET, or using WinHTTP, see this page.
Итак Fiddler — прокси, который работает с трафиком между вашим компьютером и удаленным сервером, и позволяет просматривать и менять его.
