Рубрика «http» - 17

В статье я хочу рассказать не столько об ошибке в RFC 2616, сколько о своем подходе к созданию парсера HTTP сообщений, показать его преимущества и недостатки. В основу моего подхода положено два принципа «лучше час потерять, потом за пять минут долететь» и «пусть компьютер работает, а я отдохну».
Читать полностью »

Риан Джонс заметил, что реферер Google Search не передается в теле запроса, когда пользователи используют Google Search на iOS 6 (последняя версия мобильной ОС от Apple).

Я проверил этот факт и попробовал поискать на своих iPhone и iPad с iOS 6 на борту — кликнул на ссылку в результатах, и действительно, реферальная ссылка не передалась в теле запроса. Вкратце, это значит что клик по ссылке засчитывается не как переход с другого сайта, а как прямой заход на сайт.
Читать полностью »

Разработчики 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, значительно ускоряя загрузку веб-страниц.
Читать полностью »

Предыстория

Четыре дня назад Теренс Эден (Terence Eden) указал на несоответствие существующих HTTP кодов чудному новому миру, в котором мы теперь живём. Поводом послужило недавнее требование к провайдерам цензурировать доступ к The Pirate Bay: ведь неизвестно что должен вернуть сервер в ответ на запрос запретного документа. В процессе обсуждения Тим Брэй (Tim Bray) из гугла предложил ввести новый код статуса — 451.
Читать полностью »

Мартин Нильссон (Martin Nilsson), ведущий программист Opera Software, отправил в рабочую группу IETF HTTP-WG подробный обзор SPDY, сделанный специалистами Opera.

Как известно, протокол SPDY представляет собой улучшенную версию HTTP и во многих случаях значительно увеличивает скорость передачи данных по TCP. Он включён по умолчанию в браузерах Chrome (с января 2011 г.) и Firefox (четыре дня назад).

Мартин Нильссон отмечает, что компания Opera давно занимается оптимизацией передачи данных по HTTP, в том числе в Opera Mini и Opera Turbo, так что они могут оценить различные методы оптимизации SPDY.
Читать полностью »

Правило №1. Делайте все авторизационные куки HttpOnly

Куки с флагом HttpOnly не видны браузеру, а отправляются только на сервер. На практике у вас почти никогда нет необходимости получать их содержимое со стороны клиента (если такая необходимость почему-то у вас возникла — пересмотрите архитектуру авторизации, скорее всего, там что-то не так). А вот злоумышленнику, нашедшему XSS — а XSS так или иначе когда-нибудь где-нибудь найдется — отсутствие HttpOnly на авторизационных куках доставит много радости.

Читать полностью »

Правило №1. Делайте все авторизационные куки HttpOnly

Куки с флагом HttpOnly не видны браузеру, а отправляются только на сервер. На практике у вас почти никогда нет необходимости получать их содержимое со стороны клиента (если такая необходимость почему-то у вас возникла — пересмотрите архитектуру авторизации, скорее всего, там что-то не так). А вот злоумышленнику, нашедшему XSS — а XSS так или иначе когда-нибудь где-нибудь найдется — отсутствие HttpOnly на авторизационных куках доставит много радости.

Читать полностью »

Детерминированный конечный автомат можно использовать для реализации очень быстрого способа разбора входной последовательности. Требуется всего один проход по входной последовательности, и минимальные действия на каждом шаге. К сожалению эта модель имеет ограничения — не всегда возможно построить ДКА, для имеющегося Недетерминированного конечного автомата (регулярного выражения, грамматики). Или даже если возможно построить, автомат может иметь слишком большое число состояний.

Тем не менее я решил попробовать создать парсер для HTTP запроса на основе ДКА. Основная задача не просто проверить корректность HTTP запроса, а именно выделить во входной строке элементы соответствующие определенным значениям полей HTTP запроса. Автомат должен генерироваться из BNF правил (разбросанных по) RFC2616. Реализовано все на C#, автомат на выходе тоже на C#. Хотя понятно что когда автомат готов, сгенерировать его на любом языке, в любом виде не проблема.
Читать полностью »

Привет, читатели.

Большинство (если не все) веб-серверы при ответе на HTTP-запрос по умолчанию заявляют о себе с помощью заголовка Server, сообщая в лучшем случае название используемого ПО, а в хучшем – версию, используемые модули и т.д. Их можно удобно просматривать с помощью таких дополнений, как например Server Spy для Mozilla Firefox.

Server Spy

Но далеко не все из веб-серверов позволяют в явном виде одной директивой отключить такое поведение. На мой взгляд, это потенциальная прореха в безопасности. В данной статье показано, как отключить отсылку заголовка Server или подменить его значение на произвольное для серверов Lighttpd, Nginx, Apache, G-WAN.
Подробнее под катом.Читать полностью »

На Хабре уже упоминалась данная тулза, но как-то в контексте других тем.

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 — прокси, который работает с трафиком между вашим компьютером и удаленным сервером, и позволяет просматривать и менять его.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js