2013-06-13 5 views
1

Я понимаю, что это не рекомендуется, но мне интересно, что URL будет выглядеть, например:Как выглядит тело в HTTP GET?

http://myserver.com/rest/info?param1=foo&param2=bar

как бы вы добавить тело к этому URL, я не думаю, что & тело должно сработать.

Причина Я смотрю на это, я ищу способ ограничить ограниченный пресетный доступ к CURL из моего выбранного языка, поэтому мне интересно, могу ли я как-то использовать GET вместо POST.

EDIT: Несколько человек отмечены это как дубликат другого вопроса, но суть моего вопроса была «Что бы тело выглядеть», где другой вопрос, и я цитирую здесь from the other post:

Мои вопросы:

Это хорошая идея? Будут ли у HTTP-клиентов проблемы с с использованием органов запроса в запросе GET?

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

+0

Я читал, что один первый, это был не тот же самый вопрос. – alphablender

+0

Ответ на этот вопрос: «не надо». – CodeCaster

+0

@CodeCaster: Просто потому, что что-то не должно быть сделано, не означает, что не стоит знать, как это можно сделать *. Иногда вам просто нужно что-то сказать Макгиверу. – alphablender

ответ

2

URL-адрес не изменится, добавив тело к HTTP-запросу. В дополнение к обычным HTTP-заголовкам ваш запрос также будет включать тело (отделенное от заголовка пустой строкой).

Я бы настоятельно рекомендовал, чтобы вы НЕ делали это с помощью запросов GET, хотя это плохо обрабатывается с помощью HTTP-серверов, и это несколько неправильно, если вы хотите следовать и соблюдать спецификацию HTTP.

Простой запрос будет выглядеть примерно так:

GET /whatever HTTP/1.1 
Host: foobar.com 
User-Agent: Selfmade telnet 
Connection: close 

hello world 
+0

«пустой линией» будет означать cr/lf или один cr, или один lf, за которым следует тело, например, если тело было «hello world», что бы это выглядело, если вы сделали это вручную telnet на веб-сервер на порту 80? – alphablender

+2

Согласно стандарту HTTP (RFC 2616), это последовательность «CR LF». – mbanzon

+1

Добавлен простой пример. – mbanzon

Смежные вопросы