HTTP-запросы - это сообщения, передаваемые из одной компьютерной системы в другую в соответствии с заданной процедурой («протокол» - здесь H yper T ext T перевод) P rotocol) для таких вещей, как отправка данных, запрос данных для отправки обратно, обновление ранее отправленных данных и т. Д.
Заголовок - это, по сути, часть информации о данных.в теле HTTP-запроса.Его цель - сообщить машине, получающей запрос, какой тип данных заключен в теле запроса, его форматировании, используемом языке, если он устанавливает cookie, дате, хост-машине и т. Д.
Более одного заголовка может быть помещено в HTTP-запрос, и каждый заголовок имеет компонент 'name' и 'value'.На веб-страницах они выглядят как
<meta name="........" content="............."/>
, и вы найдете их чуть ниже верхней части веб-страницы в элементе.
Чтобы люди могли отправлять HTTP-запросы из функции JavaScript,мы создаем новый объект XMLHttpRequest, так же как ваш код делает это с
xmlhttp = new XMLHttpRequest();
К этому новому пустому объекту вы намереваетесь добавить данные.Несмотря на свое имя, XMLHttpRequest также позволяет отправлять данные в ряде форматов, отличных от XML, например, HTML-код, текст, JSON и т. Д. В вашем примере каждое имя данных будет отделено от его значения символом "=", а каждый data /Сопоставление значений будет отделено от следующего сопоставления символом «&».Этот вид форматирования известен как кодирование URL.
Мы должны сообщить принимающему компьютеру, как кодируются данные в теле HTTP-запроса.Для передачи этого существует стандартный заголовок , который добавляется к запросу с помощью метода setRequestHeader (..) .Этот метод использует 2 параметра: имя заголовка и значение заголовка.Вся эта операция выполняется в строке
xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
. Этот метод setRequestHeader (..) должен применяться к запросу после запрос характеризуется метод open (...) , но за до окончательный запрос отправляется методом send (.) .
Метод open (...) определяет: (1) тип HTTP-запроса, например, GET / POST / PUT и т. д .;(2) веб-страница, которая содержит скрипт обработки для этого запроса, например, некоторый файл .php или .js, который делает соответствующий запрос к внутренней базе данных;и (3) характер динамики запросов, например асинхронным запросам присваивается значение «истина», синхронным запросам присваивается «ложь».
Метод send (.) присоединяет данные для отправки в теле запроса, в вашем случае это переменная с именем 'parameters'.
На вашем более широкомВопрос о том, какие ситуации setRequestHeader (..) используется, я бы сказал, что он используется в большинстве ситуаций HTTP-запроса.Но некоторые типы данных данные, добавляемые в тело HTTP-запроса, вызывают настройку по умолчанию для заголовка «Content-Type».