GET запрос
Вы могли заметить, что на большинство сайтов можно лицезреть вот такие адреса:
Тут, даже не зная php, можно догадаться, что мы обращаемся к файлу index.php Но то, что идет после знака вопроса, мало кто знает. Все довольно просто: ?blog=2 это объявление глобальной переменной «$_GET[‘blog’]» с значением «2». Таким образом я в скрипт передаю переменную которая отвечает за вывод информации из базы данных. Давайте напишем небольшой скрипт в котором Вы все наглядно увидите:
Мы используем оператор условий if() в качестве условия стоит вот такая строчка:
isset() позволяет узнать существует ли переменная которая указана в скобках, то есть условие которое я описал в коде звучит так: Если существует переменная $_GET[‘blog’] то вывести содержимое этой переменной на экран. Вот что получилось:
Думаю понятно

Теперь хочу пояснить один момент. Предположим нам необходимо объявить две переменные, как это сделать? Первая переменная объявляется после знака вопроса «?» Вторая же переменная объявляется после такого знака «&» (Если честно не знаю что это за знак ), вот пример объявление трех переменных:
Вот код вывода:
Условие звучит так:
Если существует глобальная переменная $_GET[‘a’] и глобальная переменная $_GET[‘b’] и глобальная переменная $_GET[‘с’] то вывести их на экран, вот результат:
Формы
Прежде чем мы перейдем к post запросам, необходимо разобрать, что такое формы? Почему нужно? Потому что глобальная переменная $_POST[»] создается именно через формы. Что такое форма? Это поля для ввода какой-нить информации пользователем. Поля бывают в одну строчку, большие поля, так же бывают радио кнопочки, чек боксы. Разберем все по порядку…
Форма это тег:
У формы есть атрибуты, перечислю самые распространенные:
- name=»имя» — Этим атрибутом прописывается имя формы, на мой взгляд не обязательный атрибут, но все же всегда заполняю
- action=»Ссылка на файл» — Этим атрибутом определяется файл обработчик, а именно файл куда Вы посылаете данные
- method=»post» — Собственно атрибут который говорит форме, что необходимо отправлять post запросы. Так же Вы через формы можете отправлять и get запросы, выставив свойство get а не post.
Давайте создадим форму:
В качестве файла обработчика я поставил файл test.php так как именно в нем пишу для Вас примеры. Метод отправки я поставил post так как именно этим методам пользуются в 99.9% случаях. Так же я присвоил нашей форме имя — form
Теперь окунемся в мир элементов формы. Первым делом Вы должны понять, что почти все элементы являются тегом <input> отличие лишь в атрибуте type у этих тегов. Давайте я перечислю используемые элементы форм:
Я уверен, что вы не раз встречали такие поля, так что тут как говорится: «no comments»

Теперь давайте составим небольшую тренировочную анкету, с которой будем работать далее. Наша задача составить небольшую анкетку которая поведает нам имя заполнявшего, пол, из какой он страны, любимый цвет и поле текста где пользователь может добавить что-нить о себе. Вот что у меня получилось:
- Для поля ФИО я использовал одностроковое поле ввода. Атрибут name обязателен для заполнения, почему? Объясню ниже
- Для Выбора пола я использовал радио кнопки, заметьте что атрибут name у них один и тот же… Это сделано для того что бы выбрать можно было лишь один пункт.
- Страна проживания выводится списком, у списка есть атрибут name у пунктов же (<option>) этого атрибута быть не должно.
- Любимые цвета выбираются чек боксами. Каждый чек бокс имеет свой атрибут name. Сделано для того чтобы выбрать можно было несколько пунктов.
- О себе принимает вид большого поля. Заметьте, что я использую атрибуты rows и cols. cols определяет сколько видимых символов может влезть по горизонтали, а rows определяет сколько пользователь увидит строк. С помощью этих атрибутов мы определяем ширину и высоту области.
- Для кнопки, атрибут name не обязателен, но не для этого примера, в этом примере этот атрибут понадобится. Если в теге кнопки написать атрибут value=»» и в ведя в этот атрибут, например слово «отправить анкету» (value=»отправить анкету») то надпись на кнопке примет значение атрибута value.
Обратите внимание, что почти у каждого тега есть атрибут value, для чего он? В него записываются данные которые Вы собираетесь перенести на другую страницу. Надеюсь понятно
Теперь если запустить этот код в браузере, то мы увидим следующее:
У формы я использовал атрибут action со значением test.php это означает, как я уже говорил, что данные из формы передадутся в файл test.php.
POST запрос
Теперь напишем php код который позволит нам увидеть введенную нами информацию.
е хранятся данные? В случае с get запросом, наши данные лежали в глобальной переменной $_GET[»]. При post запросе, данные будут лежать в глобальной переменной $_POST[»]. В квадратных скобках, необходимо прописывать, как и в случае с глобальной переменной get, идентификатор. Вопрос, где этот идентификатор взять? Вот для чего нам необходим атрибут name у элементов форм! Именно эти имена и служат нам ключом в глобальном массиве post. Ну что ж, приступим к описанию скрипта:
Написанное нами условие if гласит: Если существует глобальная переменная $_POST[‘submit’] то выводим данные на экран. Эта глобальная переменная создается в случае если мы нажали на кнопку отправки, вот для чего в данном примере необходим атрибут name в кнопке. Вы вполне можете задаться вопросом, почему же у кнопки атрибут name не обязательный? Все довольно просто. Обычно программист не отслеживает нажатие кнопки, а отслеживает посланные данные. Для корректной работы, например формы контактов, необходимо отследить не нажатие кнопки, а правильность ввода информации, и узнать вводили ли эту информацию вообще. В нашем же примере мы не проверяли посланные данные, а просто отследили нажатие кнопки, для упрощение примера… Вот что у нас получилось:
Заключение
Ну что ж, за сегодня мы разобрали два метода передачи данных между скриптами, так же галопам познакомились с формами. Очень надеюсь, что эта информация Вам хоть где то пригодится. Если есть какие вопросы, или мысли, пишите комментарии. Удачи Вам, на сегодня у меня все!
rio-shaman.ru
Общие принципы
Если вы уже знаете, что такое mod_rewrite, как им пользоваться под apache, то пропускайте эту часть статьи.
Apache управляется конфигурационными файлами с именем .htaccess в директориях сервера и выполняет соответствующие инструкции. Главным из них является файл находящийся в корне сайта. В подкаталогах вашего сайта также могут находится .htaccess файлы, дополняющие/изменяющие директивы заданные в файлах ближе к корню.
Вот пример типичной переадресации в CMS средствами «мод рерайт»:
Этот базовый пример не сможет показать все разнообразие возможностей, посмотрите обязательно полное описание команд модуля Rewrite.
Есть отличие перенаправления от переадресации.
Перенаправление
Отличие заключается в том, что в первом случае происходит обработка запроса, так как будто он был выполнен к указанному в перенаправлении скрипту/файлу/адресу. В нашем случае мы направляем все запросы к index.php
Переадресация
При переадресации, а в этом случае я бы добавил специальный флаг [R]:
Сервер ответит клиенту, что нужно перейти по указанному адресу. Тогда клиент вновь запросит сервер, но уже по новому адресу. В адресной строке браузера, к примеру, отобразится этот новый адрес.
Теперь, когда вы имеете общие представления о работе модуля, то я покажу вам несколько примеров как с его помощью работать с параметрами GET .
Добавляем параметры GET к запросу в mod rewrite
Пример запроса:
http://mysite.ru/vazniy-razdel.html
нужно переадресовать на
http://mysite.ru/drugoy-razdel?param1=value
Так мы добавили при переадресации нужный нам параметр GET param1.
Убрать любые GET параметры в запросе в mod rewrite
Пример запроса:
http://mysite.ru/vazniy-razdel.php?param1=value
нужно переадресовать на
http://mysite.ru/new-address.php
Так мы переадресуем только запрос, где есть param1=value. Если надо убрать параметры GET и выполнить редирект для любых вариантов запроса скрипта vazniy-razdel.php, то правило будет выглядеть вот так:
Теперь любые запросы на /vazniy-razdel.php переадресуются в новый раздел, при этом параметры GET будут убраны.
shra.ru
Что такое HTML?
HTML — это язык, используемый для создания веб-страниц. Гипертекст относится к гиперссылкам, которые может содержать HTML-страница. Язык разметки означает способ использования тегов для определения макета страницы и элементов на странице.
Ниже приведен пример HTML, который используется для определения базовой веб-страницы с заголовком и одним абзацем текста:
<! doctype html>
<HTML>
<Голова>
<Название> TechTerms.com </ название>
</ HEAD>
<Тело>
<p> Это пример абзаца в HTML. </ p>
</ Body>
</ Html>
Первая строка определяет тип содержимого, содержащегося в документе. <! doctype html> означает, что страница написана в HTML5. Правильно отформатированные HTML-страницы должны включать теги <html>, <head> и <body>, которые все включены в пример выше. Заголовок страницы, метаданные и ссылки на файлы с привязкой помещаются между тегами <head>. Фактическое содержимое страницы находится между тегами <body>.
За последние несколько десятилетий сеть пережила множество изменений, но HTML всегда был основным языком, используемым для разработки веб-страниц. Интересно, что хотя веб-сайты стали более продвинутыми и интерактивными, HTML стал проще. Если вы сравниваете источник страницы HTML5 с аналогичной страницей, написанной в HTML 4.01 или XHTML 1.0, на странице HTML5 будет меньше кода. Это связано с тем, что современный HTML опирается на каскадные таблицы стилей или JavaScript для форматирования почти всех элементов внутри страницы.
Многие динамические веб-сайты генерируют веб-страницы «на лету», используя серверный язык сценариев, такой как PHP или ASP. Однако даже динамические страницы должны быть отформатированы с использованием HTML. Поэтому языки сценариев часто генерируют HTML-код, который отправляется в веб-браузер.

Что такое HTTP?
Протокол передачи гипертекста HTTP предназначен для взаимодействия между клиентами и серверами и работает как протокол запроса-ответа.
Веб-браузер может быть клиентом, а приложение на компьютере, на котором размещен веб-сайт, — сервером.
Клиент (браузер) отправляет HTTP-запрос серверу, сервер возвращает ответ, который содержит информацию о состоянии запроса и может также содержать запрошенный контент.
Два метода запросов GET и POST
Два часто используемых метода для запроса-ответа между клиентом и сервером:
-
GET — запрашивает данные из указанного ресурса;
-
POST — отправляет данных, подлежащие обработке, на указанный ресурс.
Перевод GET и POST в буквальном смысле означает получение и постобработку.
Подробнее об HTTP
HTTP — это протокол, используемый для передачи данных через Интернет. Является частью пакета интернет-протокола и определяет команды и службы, используемые для передачи данных веб-страницы.
HTTP использует модель server-client. Клиент может быть домашним компьютером, ноутбуком или мобильным устройством. HTTP-сервер, как правило, является веб-хостом с программным обеспечением веб-сервера, таким как Apache или IIS. Когда пользователь получает доступ к веб-сайту, браузер отправляет запрос на соответствующий веб-сервер и отвечает кодом состояния HTTP. Если URL-адрес действителен и соединение предоставлено, сервер отправит браузеру веб-страницу и связанные файлы.
Общие коды состояния HTTP включают:
-
200 — успешный запрос (существует веб-страница);
-
301 — перемещается постоянно (часто перенаправляется на новый URL-адрес);
-
401 — несанкционированный запрос (требуется авторизация);
-
403 — запрещено (доступ к странице или каталогу не разрешен);
-
500 — внутренняя ошибка сервера (часто вызванная неправильной конфигурацией сервера).
POST и GET в HTTP
HTTP определяет команды GET и POST, которые используются для обработки представлений форм на веб-сайтах. Команда CONNECT используется для облегчения безопасного соединения, которое шифруется с использованием SSL. Зашифрованные HTTP-соединения происходят через HTTPS — расширение HTTP, предназначенное для защищенных передач данных.
URL-адреса, начинающиеся с «http://», доступны по стандартным протоколам передачи гипертекста и по умолчанию используют порт 80. URL-адреса, начинающиеся с «https://», доступны через безопасное соединение HTTPS и часто используют порт 443.
POST
POST — это серия системных проверок, выполняемых компьютерами и другими электронными устройствами при их включении. Результаты теста могут отображаться на экране, выводиться через мигающие светодиоды или просто записываться внутри. В компьютерных системах операция POST выполняется в начале последовательности загрузки. Если все тесты пройдены, остальная часть процесса запуска будет продолжена автоматически.
Операционные системы устройств Mac и Windows запускают POST каждый раз, когда компьютер загружается или перезапускается. Сканирование проверяет аппаратное обеспечение и гарантирует, что процессор, ОЗУ и устройства хранения данных будут работать правильно. Если во время выполнения POST возникла ошибка, процесс запуска может приостановиться или полностью прекратиться, а на мониторе может появиться сообщение о нештатной ситуации. На ПК ошибки POST часто отображаются на экране информации о BIOS. Они могут выводиться как криптовые коды, такие как «08», или как системное сообщение, например, «Ошибка системной памяти при смещении». На Mac ошибки POST часто обозначаются простой графикой, например, сломанной иконкой папки, которая указывает, что загрузочное устройство не найдено.
Физические проявления
В некоторых случаях экран компьютера может даже не включаться перед ошибками POST. Если это произойдет, коды ошибок могут выводиться через мигающие светодиодные индикаторы или звуковые сигналы. Например, Apple iMac будет воспроизводить три последовательных тона, выдерживать паузу в пять секунд, а затем повторять тоны, когда во время запуска обнаруживается плохая ОЗУ. Большинство ПК также издают звуковые сигналы при обнаружении ошибок POST, хотя каждый производитель использует свои собственные коды.
POST — довольно технический термин, который используют только компьютерные техники на регулярной основе. Однако это хорошая аббревиатура, поскольку помогает лучше понять сообщения об ошибках, которые могут появиться на компьютерах или других электронных устройствах. Если компьютер не запускается из-за ошибки POST, можно использовать другое устройство для поиска значения и причины ошибки с веб-сайта производителя. Затем можно предпринять соответствующие действия — удаление модуля памяти или повторную установку видеокарты с последующим перезапуском оборудования.
GET
POST также является методом передачи переменных формы HTML с одной веб-страницы на другую, не отображая их в адресной строке. Альтернативный метод — GET, который добавляет значения в URL. Запросы HTTP POST предоставляют дополнительные данные от клиента (браузера) на сервер в теле сообщения. Напротив, запросы GET включают все необходимые данные в URL. Формы в HTML могут использовать любой метод, указав метод = POST или method = GET (по умолчанию) в элементе <form>. Указанный метод определяет, как данные формы передаются на сервер. Когда используется метод GET, все данные формы кодируются в URL-адрес в качестве параметров строки запроса. С POST данные формы появляются в теле сообщения HTTP-запроса.
Различия в представлении формы
Метод запроса POST запрашивает веб-сервер на прием и хранение данных, заключенные в тело сообщения запроса. Часто используется при загрузке файла или при отправке заполненной веб-формы.
Метод запроса HTTP GET извлекает информацию с сервера. В рамках запроса GET некоторые данные могут передаваться в строке запроса URL-адреса, указывая условия поиска, диапазоны дат или другую информацию, которая определяет запрос.
В рамках запроса POST произвольный объем данных любого типа может быть отправлен на сервер в теле сообщения запроса. Поле заголовка в запросе POST обычно указывает тип интернет-носителя тела сообщения.
Основное различие между запросами GET и POST заключается в том, что они соответствуют различным HTTP-запросам, как определено в спецификациях HTTP. Процесс подачи обоих методов начинается таким же образом: набор данных формы создается браузером и затем кодируется способом, указанным атрибутом enctype. Для METHOD = «POST атрибут enctype может быть multipart/form-data или application/x-www-form-urlencoded, тогда как для METHOD =» GET » запускается только через application/x-www-form-urlencoded. Эти данные формы set затем передается на сервер.
Для отправки формы с помощью METHOD = «GET» браузер создает URL-адрес, принимая значение атрибута действия и добавляя к нему набор данных формы, закодированного с использованием типа контента application/x-www-form-urlencoded). Затем браузер обрабатывает этот URL-адрес, как если бы он ссылался на ссылку (или, как если бы пользователь набрал URL-адрес вручную). Браузер делит URL на части и распознает хост, затем отправляет на этот хост запрос GET с остальной частью URL в качестве аргумента. Важно отметить, что этот процесс означает, что данные формы ограничены кодами ASCII. Особое внимание следует уделять кодированию и декодированию других типов символов при передаче их по URL-адресу в формате ASCII.
Представление формы с METHOD = «POST» вызывает отправку запроса POST с использованием значения атрибута действия и сообщения, созданного в соответствии с типом контента, указанным атрибутом enctype.
PHP
PHP — это язык веб-скриптов, встроенный в HTML. Это означает, что PHP-код можно вставить в HTML-страницу. Код PHP читается или анализируется сервером, на котором находится страница. Вывод функций GET и POST в PHP на странице обычно возвращается как HTML-код, который может быть прочитан браузером. Поскольку PHP-код преобразуется в HTML до загрузки страницы, пользователи не могут просматривать PHP-код на странице. Это делает страницы PHP достаточными для доступа к базам данных и другой защищенной информации.
Большая часть синтаксиса PHP заимствована из других языков, таких как C, Java и Perl. Однако PHP имеет ряд уникальных функций и специальных функций. Цель этого языка — дать возможность веб-разработчикам быстро и легко писать динамически сгенерированные страницы.
WordPress
WordPress — это бесплатная система управления контентом, используемая для создания и обслуживания веб-сайтов. Его простота использования и уникальные функции ведения блога помогли ему стать самым популярным инструментом ведения блогов в Интернете.
Интерфейс WordPress позволяет любому, кто не имеет опыта веб-разработки, создать и опубликовать веб-сайт. Встроенные инструменты ведения блога обеспечивают простой способ отслеживания отдельных сообщений, посетителей и комментариев пользователей.
Несмотря на то что доступны тысячи шаблонов WordPress и плагинов, система POST GET в WordPress все еще имеет свои ограничения. Поскольку это служба на основе шаблонов, пользователь должен начать с заранее созданного веб-сайта, а не создавать страницы с нуля. Кроме того, нет возможности вставлять скрипты или поддерживать базу данных с тем же уровнем контроля, который предлагает пользовательский веб-сайт.
Инструмент POST_GET_ID () позволяет использовать скрипты для управления элементом, так как он имеет уникальный идентификатор, и при отправке его в виде формы через данные методы раскрывающийся список будет отправлен с уникальным идентификатором, который позволяет сценарию замечать, какая публикация работает. В качестве альтернативы может быть отправлена скрытая переменная, которая позволит сценарию увидеть, какая публикация относится к представлению.
fb.ru
Протокол HTTP имеет два самых часто используемых вида запросов GET и POST. Как все работает: ваш браузер передает запрос серверу. Сервер анализирует запрос, и отправляет ответ. Результат вы видите на экране.
GET запрос
Когда вы вводите в поисковике текст, то результат вашего запроса можно наблюдать в URL адресе. Он имеет непонятный вид, типа:
http://www.google.ru/search?….s_rfai=
Это и есть GET запрос. Он имеет вид:
http://localhost/primer.php?name=andrey&years=16
Сейчас разберем по порядку:
http:// — протокол.
localhost — домен вашего сайта (в нашем случае локальный хост).
primer.php — страничка, которой мы будем передавать запросы.
? — знак вопроса. После него указываются передаваемые нами параметры.
name=andrey — параметр name имеет значение andrey. Значение указывается после знака равенства.
& — это разделитель. После него мы указываем следующие параметры и их значения.
years=16 — параметр years со значением 16.
Теперь создадим скрипт, который будет отображать переданные в GET запросе значения и запишем его в файл «primer.php».
После чего в адресную строку браузера вставим вышеупомянутый код: http://localhost/primer.php?name=andrey&years=16
POST запрос
В отличии от GET, параметры POST запроса не отображаются в адресной строке браузера, т.е. пользователь не увидит передаваемые данные. Длина GET запроса ограничена, поэтому чтобы передать длинный текст или картинку используется именно POST запрос. Если результат запроса вы хотите записать в файл, удобнее использовать именно этот вид запроса, т.к. пользователь не сможет подменить передаваемые параметры в URL. Метод передачи данных указывается в формах.
<form method=»get»> или <form method=»post»>
Пример использования post запроса показан в этом уроке.
www.web-shpargalka.ru
Извлечение параметров из URL
Скажем, у нас есть следующий URL:
http://example.com/?product=shirt&color=blue&newuser&size=m
А вот функция с помощью которой мы сможем извлечь параметры из URL:
Теперь мы сможем извлекать параметры следующим образом:
Особенности
- Наша функция рассчитана на работу с URL где параметры разделены знаком
&
согласно спецификации W3C. Однако существуют и другие варианты, где параметры разделяются знаками;
или&
. - Наша функция работает в случае отсутствия знаков равенства или пустых значений параметров.
- Дублирующие параметры преобразуются в массив.
Принципы работы
Функция извлекает строку запроса: между знаками ?
и #
.
Если представлена строка запроса, то будет анализироваться именно она. В противном случае извлекаем URL объекта window
.
Далее создаём объект куда будем складывать параметры.
Начинаем разбор строки запроса. Отсекаем всё что находится после знака #
.
Далее разделяем параметры.
В результате получим массив следующего вида:
Далее проходимся по элементам данного массива, разделяем ключи и значения.
Далее нам нужно научить функции работать с дублирующимися параметрами или массивами:
Для начала задаём индекс по умолчанию: undefined
. Далее разбираем значения между []
. Записываем индекс если он задан.
Далее задаём значение параметра. Если значение отсутствует, то записываем true
.
Далее мы преобразуем параметры и значения к нижнему регистру чтобы избежать непредвиденных ситуаций:
Если название текущего параметра уже задано, то помещаем его в массив:
Если же такой параметр ещё не задан, то просто напросто передаём значение.
Если в URL были переданы закодированные символы, то мы из декодируем:
Поздравляем! Теперь вы знаете как извлечь параметры из URL.
Итог
Данная функция пригодится в большинстве случаев. Если же вам нужно обрабатывать URL с другими разделителями, то можете свободно поменять код.
Так же существует немало специализированных плагинов: jQuery URL или Medialize URI.js.
ruseller.com
Структура ответа в формате JSON:
{ "result": { /* result */ "AdGroups": [{ /* AdGroupGetItem */ "Id": (long), "Name": (string), "CampaignId": (long), "RegionIds": [(long), ... ], "RestrictedRegionIds": { /* ArrayOfLong */ "Items": [(long), ... ] /* required */ }, /* nillable */ "NegativeKeywords": { /* ArrayOfString */ "Items": [(string), ... ] /* required */ }, /* nillable */ "TrackingParams": (string), "Status": ( "ACCEPTED" | "DRAFT" | "MODERATION" | "PREACCEPTED" | "REJECTED" ), "ServingStatus": ( "ELIGIBLE" | "RARELY_SERVED" ), "Type": ( "TEXT_AD_GROUP" | "MOBILE_APP_AD_GROUP" | "DYNAMIC_TEXT_AD_GROUP" | "CPM_BANNER_AD_GROUP" ), "Subtype": ( "WEBPAGE" | "FEED" | "NONE" | "KEYWORDS" | "USER_PROFILE" ), "MobileAppAdGroup": { /* MobileAppAdGroupGet */ "StoreUrl": (string), "TargetDeviceType": [( "DEVICE_TYPE_MOBILE" | "DEVICE_TYPE_TABLET" ), ... ], "TargetCarrier": ( "WI_FI_ONLY" | "WI_FI_AND_CELLULAR" ), "TargetOperatingSystemVersion": (string), "AppIconModeration": { /* ExtensionModeration */ "Status": ( "ACCEPTED" | "MODERATION" | "REJECTED" ), /* required */ "StatusClarification": (string) } /* nillable */ "AppOperatingSystemType": ("IOS" | "ANDROID" | "OS_TYPE_UNKNOWN"), "AppAvailabilityStatus": ("UNPROCESSED" | "AVAILABLE" | "NOT_AVAILABLE") }, "DynamicTextAdGroup": { /* DynamicTextAdGroupGet */ "DomainUrl": (string), "DomainUrlProcessingStatus": ("EMPTY_RESULT" | "PROCESSED" | "UNKNOWN" | "UNPROCESSED" ) }, "DynamicTextFeedAdGroup": { /* DynamicTextFeedAdGroupGet */ "Source": (string), "SourceType": ( "RETAIL_FEED" | "UNKNOWN" ), "SourceProcessingStatus": ( "EMPTY_RESULT" | "PROCESSED" | "UNKNOWN" | "UNPROCESSED" ) } }, ... ], "LimitedBy": (long) } }
tech.yandex.ru
Просмотров: 81 128
Одним из способов, как можно отправить запрос по протоколу HTTP к серверу, является запрос методом GET. Этот метод является самым распространенным и запросы к серверу чаще всего происходят с его использованием.
Самый простой способ, как можно создать запрос методом GET- это набрать URL-адрес в адресную строку браузера.
Браузер передаст серверу примерно следующую информацию:
GET / HTTP/1.1
Host: webgyry.info
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:18.0) Gecko/20100101 Firefox/18.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: wp-settings
Connection: keep-alive
Запрос состоит из двух частей:
1. строка запроса (Request Line)
2. заголовки (Message Headers)
Обратите внимание, что GET запрос не имеет тела сообщения. Но, это не означает, что с его помощью мы не можем передать серверу никакую информацию. Это можно делать с помощью специальных GET параметров.
Чтобы добавить GET параметры к запросу, нужно в конце URL-адреса поставить знак «?» и после него начинать задавать их по следующему правилу:
имя_параметра1=значение_параметра1& имя_параметра2=значение_параметра2&…
Разделителем между параметрами служит знак «&».
К примеру, если мы хотим передать серверу два значения, имя пользователя и его возраст, то это можно сделать следующей строкой:
http://site.ru/page.php?name=dima&age=27
Когда выполнен данный запрос, данные попадают в так называемую переменную окружения QUERY_STRING, из которой их можно получить на сервере с помощью серверного языка веб-программирования.
Вот пример, как это можно сделать на PHP.
<?php
echo «Ваше имя: » . $_GET[«name»] . «<br />»;
echo «Ваш возраст: » . $_GET[«age»] . «<br />»;
?>
Конструкция $_GET[«имя_параметра»] позволяет выводить значение переданного параметра.
В результате выполнения этого кода в браузере выведется:
Ваше имя: dima
Ваш возраст: 27
Кстати, переходя по какой-либо ссылке, которая оформлена в HTML вот так:
<a href=”link.php?name=dima”>Ссылка</a>
мы тоже выполняем запрос к серверу методом GET.
webgyry.info
Потенциальные трудности страниц с GET-параметрами
Но существует ряд негативных моментов при работе со страницами с наличием GET-параметров (/filter?tsvet=belyy&razmer=46 и т.д.), это:
- Большая длина URL-адреса, в общем случае, это скорее негативный, нежели позитивный фактор.
- Отсутствие чёткой иерархии, то есть по адресу: /filter?tsvet=belyy&razmer=46 поисковая система не факт что выявит кластер «белых» платьев.
Прочие работы по SEO
При этом, абсолютно нет никаких проблем в том, чтобы реализовать возможность добавления уникального заголовка Title, текста, текстовых заголовков, meta-данных и другого контента на динамических страницах с GET-параметрами. Для полноценной оптимизации данных полей создавать статические страницы не требуется.
Это самые основные работы по внутренней оптимизации и ими и требуется заняться на текущем этапе работ в рамках SEO.
В сухом остатке
Если резюмировать сказанное ваше и наш опыт в сфере продвижения сайтов, то можно сказать, что совет от SEO-компании по корректировке адресов страниц является разумным, хотя ряд доводов в пользу этого не имеют отношения к реальности. Также, если реализовывать новую систему ЧПУ, то от слова «filter» в адресе лучше совсем отказаться, оно не несет ничего положительного ни для SEO, ни для пользователя, а лишь удлиняет адрес.
Оптимальный URL-адрес мы бы обозначили как такой: /zhenskiye-bryuki/belye/46/.
Выигрыш после внедрения новой системы URL и простановки 301-редиректов можно оценить в рамках 0,5-1,5 позиции в выдаче.
Удачи в проведении работ по оптимизации URL-структуры вашего сайта!
Дата ответа: 29.05.2014
pixelplus.ru