Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / POST HEADER GET / 24 сообщений из 24, страница 1 из 1
11.10.2014, 20:08
    #38774086
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
может кто либо объяснить в чем отличие POST HEADER GET.
...
Рейтинг: 0 / 0
11.10.2014, 20:39
    #38774099
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
RFC7230-7235, в частности - 4.3. Method Definitions
...
Рейтинг: 0 / 0
11.10.2014, 21:23
    #38774113
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
Basil A. SidorovRFC7230-7235, в частности - 4.3. Method Definitions
я читал но я так и не понял, пишу сервлеты просто, dopost отправляю на doget и все.
хотя надо бы как то их разделять,
но не понимаю для чего
...
Рейтинг: 0 / 0
11.10.2014, 21:33
    #38774122
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
Отправлять doPost на doGet - это сильно. Хотя бы потому, что GET не предполагает существования тела запроса:
RFC -7231A payload within a GET request message has no defined semantics;
sending a payload body on a GET request might cause some existing implementations to reject the request.

P.S. Тот, кто не хочет разбираться с разницей между doGet() и doPost() просто перекрывает service().
В документации Servlet API вполне внятно сказано, что при отсутствии doHead() контенер вызовет doGet() и "отрежет" тело ответа.
...
Рейтинг: 0 / 0
11.10.2014, 22:24
    #38774137
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
Елдос, GET ограничен по объему передаваемых данных на сервер (255 символов кажется).
Для POST ограничений вроде бы нет. Можно гигабайты проталкивать.
HEAD в обратную сторону к клиенту ничего не прередаёт кроме служебной
информации.
...
Рейтинг: 0 / 0
12.10.2014, 00:41
    #38774176
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
maytonЕлдос, GET ограничен по объему передаваемых данных на серверНе ограничен.
Но не будет понят никем, кроме специально обученной пары клиент-сервер.
...
Рейтинг: 0 / 0
12.10.2014, 09:42
    #38774239
WGA
WGA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.2.1 3.2.1 General Syntax

URIs in HTTP can be represented in absolute form or relative to some known base URI [11], depending upon the context of their use. The two forms are differentiated by the fact that absolute URIs always begin with a scheme name followed by a colon. For definitive information on URL syntax and semantics, see "Uniform Resource Identifiers (URI): Generic Syntax and Semantics," RFC 2396 [42] (which replaces RFCs 1738 [4] and RFC 1808 [11]). This specification adopts the definitions of "URI-reference", "absoluteURI", "relativeURI", "port", "host","abs_path", "rel_path", and "authority" from that specification.

The HTTP protocol does not place any a priori limit on the length of a URI. Servers MUST be able to handle the URI of any resource they serve, and SHOULD be able to handle URIs of unbounded length if they provide GET-based forms that could generate such URIs. A server SHOULD return 414 (Request-URI Too Long) status if a URI is longer than the server can handle (see section 10.4.15).

Note: Servers ought to be cautious about depending on URI lengths
above 255 bytes, because some older client or proxy
implementations might not properly support these lengths.Ограничения на длину URI имеются в браузерах. Возможно есть и на сервере, что зависит от реализации.
...
Рейтинг: 0 / 0
12.10.2014, 13:48
    #38774298
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
WGA http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.2.1 3.2.1 General Syntax

URIs in HTTP can be represented in absolute form or relative to some known base URI [11], depending upon the context of their use. The two forms are differentiated by the fact that absolute URIs always begin with a scheme name followed by a colon. For definitive information on URL syntax and semantics, see "Uniform Resource Identifiers (URI): Generic Syntax and Semantics," RFC 2396 [42] (which replaces RFCs 1738 [4] and RFC 1808 [11]). This specification adopts the definitions of "URI-reference", "absoluteURI", "relativeURI", "port", "host","abs_path", "rel_path", and "authority" from that specification.

The HTTP protocol does not place any a priori limit on the length of a URI. Servers MUST be able to handle the URI of any resource they serve, and SHOULD be able to handle URIs of unbounded length if they provide GET-based forms that could generate such URIs. A server SHOULD return 414 (Request-URI Too Long) status if a URI is longer than the server can handle (see section 10.4.15).

Note: Servers ought to be cautious about depending on URI lengths
above 255 bytes, because some older client or proxy
implementations might not properly support these lengths.Ограничения на длину URI имеются в браузерах. Возможно есть и на сервере, что зависит от реализации.

я все равно не понял,
то есть если вообще смысл отделять doget от doPost, какие операции делать на doGet а какие doPost, можно ли пример на словах,
чтобы окончательно понять что к чему.
...
Рейтинг: 0 / 0
12.10.2014, 14:12
    #38774306
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
0. Если вы не знаете или/и не понимаете разницы между doGet() и doPost() - выполняйте всю обработку в service().
Дальше можете не читать.

1. HTTP метод GET запрашивает некий (существующий) ресурс web-сервера. При этом в строке запросов можно передать набор параметров, которые web-приложение может проанализировать и (как-то) использовать при формировании отклика.
Стандарт рекомендует, чтобы строка запроса не превышала 255 байт, хотя (конкретный) сервер в состоянии разобрать строку бОльшей длины.
Дополнительно, web-сервер ограничивает общий размер всех заголовков на уровне 4-8 килобайт.

2. HTTP метод POST позволяет отправлять запросы, которые не только могут содержать тело, но это тело может быть стандартным образом проанализировано.
Метод POST обязателен при отправке на сервер сколько-нибудь крупных файлов и форм, т.к. уложиться в ограничения GEG - просто нереально.
...
Рейтинг: 0 / 0
12.10.2014, 15:15
    #38774340
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
[quot Basil A. Sidorov]maytonЕлдос, GET ограничен по объему передаваемых данных на серверНе ограничен.
Но не будет понят никем, кроме специально обученной пары клиент-сервер.[/quot
Я не буду спорить по поводу конкретных реализаций протокола в браузерах
и серверах. Это вопрос личной ответственности разработчика и рисков.
RFC читал. К сведению принял. Далее - пеняй соовтествтенно.
...
Рейтинг: 0 / 0
12.10.2014, 15:27
    #38774344
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
Basil A. Sidorov0. Если вы не знаете или/и не понимаете разницы между doGet() и doPost() - выполняйте всю обработку в service().
Дальше можете не читать.

1. HTTP метод GET запрашивает некий (существующий) ресурс web-сервера. При этом в строке запросов можно передать набор параметров, которые web-приложение может проанализировать и (как-то) использовать при формировании отклика.
Стандарт рекомендует, чтобы строка запроса не превышала 255 байт, хотя (конкретный) сервер в состоянии разобрать строку бОльшей длины.
Дополнительно, web-сервер ограничивает общий размер всех заголовков на уровне 4-8 килобайт.

2. HTTP метод POST позволяет отправлять запросы, которые не только могут содержать тело, но это тело может быть стандартным образом проанализировано.
Метод POST обязателен при отправке на сервер сколько-нибудь крупных файлов и форм, т.к. уложиться в ограничения GEG - просто нереально.

Большое спасибо что объяснили, теперь я понял что делаю правильно что объединяю,
получается я могу убрать doGet и doPost и использовать только doService?
...
Рейтинг: 0 / 0
12.10.2014, 15:43
    #38774348
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
Елдосполучается я могу убрать doGet и doPost и использовать только doService?Читайте доку: нет doService() - есть service().
...
Рейтинг: 0 / 0
12.10.2014, 16:07
    #38774352
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
Basil A. SidorovЕлдосполучается я могу убрать doGet и doPost и использовать только doService?Читайте доку: нет doService() - есть service().
благодарю всех за помощь!
...
Рейтинг: 0 / 0
12.10.2014, 16:24
    #38774359
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
Елдос,

Самое главное вам почему-то и не рассказали. Если кратко, то GET используется в основном для read-only запросов, то есть состояние на сервере не меняется, и его можно повторять хоть миллион раз и он вернет идентичный результат(при условии что данные не изменились). Get запросы обычно bookmarkable, то есть юзер может их сохранить. Примеры - /getUsers /users /countries и тд.

Post используется когда данные нужно модифицировать, они зачастую не bookmarkable и два идентичных запроса скорее всего вернут разный результат. Ну например /editUser, /saveTransaction и тд.
...
Рейтинг: 0 / 0
12.10.2014, 17:10
    #38774382
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
Занести в закладки можно любой ресурс. А вот для обращения к этому ресурсу будет использован HTTP GET.
Всё остальное зависит от сайта.
...
Рейтинг: 0 / 0
13.10.2014, 10:03
    #38774777
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
Basil A. SidorovЗанести в закладки можно любой ресурс. А вот для обращения к этому ресурсу будет использован HTTP GET.
Всё остальное зависит от сайта.
htmlbook.ru


Значения
Различают два метода — GET и POST, которые задаются ключевыми словами get и post.

get
Этот метод предназначен для передачи данных формы непосредственно в адресной строке в виде пар «имя=значение», которые добавляются к адресу страницы после вопросительного знака и разделяются между собой амперсандом (символ &). Полный адрес к примеру будет http://site.ru/doc/?name=Vasya&password=pup. Объём данных в методе ограничен 4 Кб.
post
Посылает на сервер данные в запросе браузера, объём пересылаемых данных ограничен лишь настройками сервера.

я думал что передача данных через адресную строку называется как то по другому, и потому думал что и get и post это как post и разница маленькая, получается что почти две разные системы передачи данных.
через адресную строку и через запрос.
я думаю что все правильно понял, если ошибаюсь поправьте
...
Рейтинг: 0 / 0
13.10.2014, 11:11
    #38774846
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
Вам уже посоветовали читать нормативную документацию? Ну вот и читайте. Заодно и английский подтянете.

P.S. Никто не может запретить использовать любой метод для любого ресурса.
А вот реакция на "непотребное" обращение целиком и полностью зависит от сайта.
...
Рейтинг: 0 / 0
13.10.2014, 13:27
    #38775061
lleming
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
ЕлдосBasil A. SidorovЗанести в закладки можно любой ресурс. А вот для обращения к этому ресурсу будет использован HTTP GET.
Всё остальное зависит от сайта.
htmlbook.ru


Значения
Различают два метода — GET и POST, которые задаются ключевыми словами get и post.

get
Этот метод предназначен для передачи данных формы непосредственно в адресной строке в виде пар «имя=значение», которые добавляются к адресу страницы после вопросительного знака и разделяются между собой амперсандом (символ &). Полный адрес к примеру будет http://site.ru/doc/?name=Vasya&password=pup. Объём данных в методе ограничен 4 Кб.
post
Посылает на сервер данные в запросе браузера, объём пересылаемых данных ограничен лишь настройками сервера.

я думал что передача данных через адресную строку называется как то по другому, и потому думал что и get и post это как post и разница маленькая, получается что почти две разные системы передачи данных.
через адресную строку и через запрос.
я думаю что все правильно понял, если ошибаюсь поправьте

http это текстовый протокол. После установления tcp/ip соединения просто посылается текст. Соотвественно на сервере есть парсер который парсит приходящий текст. Поскольку приходит простой текст то нужен разделитель для токенов в http, для это испльзует разделитель строки. Первой идет команда которая указывает способ получения данных get post put (кажется есть delete не помню точно). Образно говоря в зависимости от команды сервер может понять что следует ожидать далее, какие то специфичные заголовки или инфа и что сэтим делать.


передача не идет через адресную строку.
это здесь абсолютно не причем.
скачайте любую либу с http протоколом и делайте http запросы get из коммандной строки (например тем же curl).



ограничение в адресной строке если вроде в rfc нет а вот браузеры вполне могут ограничивать ее и реализация http сервера тоже.
...
Рейтинг: 0 / 0
13.10.2014, 15:31
    #38775261
WGA
WGA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
Елдосhtmlbook.ru
...Не читайте до обеда советских газет (С)
Елдося думаю что все правильно понял, если ошибаюсь поправьтеДумаю, что не все и не факт, что правильно.

Разберем.
Пример запросаPOST /test/path?a=1&b=2 HTTP/1.0\r\n
Host: www.site.ru\r\n
Referer: http://www.site.ru/index.html\r\n
Cookie: income=1\r\n
Content-Type: application/x-www-form-urlencoded\r\n
Content-Length: 35\r\n
\r\n
login=Dima&password=12345Как уже было сказано выше, любой HTTP-запрос - это текст. Тело может быть и двоичным, но заголовки строго ASCII-текст. На стороне сервера запрос парсится. Первая строка POST /test/path?a=1&b=2 HTTP/1.0 определяет операцию (POST), путь к ресурсу (/test/path) и набор параметров запроса. Операция теоретически может быть любой, но существует куча требований, налагаемых как вызывающими системами (браузером, например), так и серверной реализацией парсера. Да и прокси-серверы вносят свой вклад. Например, squid отклоняет POST-запросы без тела запроса (entity) или DELETE с телом. Т.е. имеются правила формирования HTTP-запросов для различных методов, накладываемые различными стандартами. Вы можете их не соблюдать, но тогда готовьтесь к различными сюрпризам, например, в виде 400-й ошибки и текстового сообщения BAD REQUEST.

Кстати, Servlet-контейнер имеет особенность: для Content-Type = application/x-www-form-urlencoded он все параметры формы (login и password в примере выше) валит в одну кучу с request-параметрами (a, b).
Елдосно не понимаю для чегоА для чего вы в классах методы определяете? Создайте один метод doAllFine(...) и вперед ) Зачем нужны GET, POST и прочие HTTP-методы? Да просто, чтобы в сервлете было на один if меньше. Вот и все.
...
Рейтинг: 0 / 0
13.10.2014, 15:43
    #38775283
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
Я думаю пора тему закрывать. Вроде все ясно как угол дома.
...
Рейтинг: 0 / 0
14.10.2014, 12:02
    #38776031
Елдос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
maytonЯ думаю пора тему закрывать. Вроде все ясно как угол дома.
да всем спасибо
...
Рейтинг: 0 / 0
14.10.2014, 23:18
    #38776740
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
WGA[Тело может быть и двоичным, но заголовки строго ASCII-текст.
Это если gzip?
...
Рейтинг: 0 / 0
15.10.2014, 08:43
    #38776873
WGA
WGA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
LeonidvWGA[Тело может быть и двоичным, но заголовки строго ASCII-текст.
Это если gzip?Не только. Любой двоичный Content-Type (application/octet-stream, image/*, etc).
...
Рейтинг: 0 / 0
15.10.2014, 09:03
    #38776886
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
POST HEADER GET
С точки зрения HTTP-протокола, любое тело - бинарное. Content-Type - подсказка для UA.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / POST HEADER GET / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]