Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lection_servlets.doc
Скачиваний:
30
Добавлен:
23.02.2016
Размер:
356.35 Кб
Скачать

Заголовки http-запиту

Для створення ефективних сервлетів необхідно вміти маніпулювати протоколом HyperText Transfer Protocol (HTTP – протокол передачі гіпертексту).

На відміну від даних форми, які пересилаються як частина URL для GET-запитів, заголовки HTTP-запитів встановлюються броузером і надсилаються за початковим рядком GET або POST-запиту.

Приклади заголовків запитів:

GET /search?keywords=servlets+jsp HTTP/1.1

Accept: image/gif, image/jpg, */*

Accept-Encoding: gzip

Connection: Keep_Alive

Cookie: userID=id45678

Host: www.somehost.com

Referer: http://www.somehost.com/find.html

User_Agent: Mozilla/4.7 [en] (Win98; U)

Читання заголовків із запитів здійснюється викликом методу getHeader() класу HttpServletRequest. Імена заголовків не чутливі до регістру.Доступ до HTTP-заголовків дозволяє сервлетам виконувати деякі оптимізацій ні дії і забезпечити виконання ряду функцій. У наступній таблиці наводиться перелік заголовків запитів HTTP 1.1.

HTTP-заголовок

Опис

Accept

MIME-типи, які може обробляти клієнт

Accept-Charset

Набори символів, які може використовувати клієнт

Accept-Encoding

Методи кодування, які може обробляти клієнт

Accept-Language

Предпочтительные (?) для клієнта мови

Authorization

Використовується клієнтом для самоідентифікації при отриманні доступу до сторінок, захищених паролем

Cache-Control

Опції, що застосовуються при кешуванні веб-сторінок проксі-сервером

Connection

Позначає, чи може клієнт обробляти стійки з’єднання

Content-Length

Розмір запиту в байтах (використ. тільки для POST запитів)

Content-Type

Тип вмісту запиту при POST або PUT-запитах

Cookie

Використовується для повернення Cookies серверам, які раніше надсилали їх браузеру

From

E-mail особи, відповідальної за HTTP-запит

Host

Ім’я хосту і номер порту

If-Modified_Since

Вказує, що клієнт бажає отримати сторінку, тільки якщо вона змінювалась після вказаної дати

If-Unmodified-Since

Вказує, що клієнт бажає отримати сторінку, тільки якщо вона змінювалась до вказаної дати

Pragma

Значення no-cache вказує, що сервлет, який діє як проксі, повинен ретранслювати запит, навіть якщо у нього є локальна копія

Proxy-Authorization

Використовується клієнтом для самоідентифікації на проксі, які цього потребують

Range

Дозволяє клієнту, що має часткову копію документа, запитати відсутні у нього частини

Referer

URL web-сторінки, з якої відбувається гіперпосилання

Upgrade

Дозволяє змінити версію протоколу HTTP

User-Agent

Ідентифікує браузер або інший клієнт

Via

Показує проміжні сайти, через які пройшов запит

Warning

Містить попередження про помилки кешування або перетворення вмісту

Для деяких типів заголовків існують спеціальні методи:

getCookies

Повертає вміст заголовка Cookie

getAuthType

getRemoteUser

Розбивають заголовок Authorization на складові частини

getContentLength

Повертає Content-Length (типу int)

getContentType

Повертає Content-Type (типу String)

getDateHeader

getIntHeader

Зчитують задані заголовки і перетворюють їх відповідно у значення типу Date і int

getHeaderNames

Повертає об’єкт Enumeration з іменами усіх заголовків

getHeaders

Повертає об’єкт Enumeration з усіма значеннями вказаного заголовку, якщо він зустрічається декілька разів

getMethod

Повертає основний метод запиту

getRequestURI

Повертає частину URL, яка поступає після імені хоста, але перед даними форми

getProtocol

Повертає версію протоколу HTTP

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]