Мне интересно узнать различные способы, которыми я могу запускать HTTP-запросы с использованием разных методов
Ex. HTTP-запрос с использованием метода GET может быть запущен следующими способами
Только способ запуска HTTP-запроса с использованием метода POST заключается в отправке HTML-формы с атрибутом метода POST,
Я уже экспериментировал в GET & POST с помощью Java Servlets, и мне любопытно протестировать HEAD, PUT, DELETE, TRACE, OPTIONS с помощью Java Servlets
Ожидание предложений от гуру Java/HTML/HTTP
FYI, я использую Apache Tomcat 7.0.47 для экспериментирования всего этого
заранее спасибо
HTTP - это стандартный протокол. Он имеет стандартный формат запроса и ответа. Он отправляется через TCP. У вас есть HTTP-серверы, которые прослушивают какой-то порт, чтобы отвечать на запросы и HTTP-клиенты, отправляющие эти запросы.
На самом базовом уровне клиент HTTP может использовать Socket
и SocketOutputStream
для отправки HTTP-запроса. Взгляните на этот пример. Вы просто пишете байты (из сериализованного запроса String) в поток вывода сокета. HTTP-сервер анализирует байты и, если он находится в правильном формате, отправляет некоторый обработчик для обработки запроса.
Существует много библиотек Java, которые упрощают задачу для вас. Например, Java HttpUrlConnection
или Apache HTTP Components.
На стороне клиента отправка запроса HEAD, PUT, DELETE, TRACE, OPTIONS не отличается от GET или POST, за исключением того, что может содержать строка запроса и тело запроса.
На стороне сервера, реализованной с помощью Servlet
s, вы просто делаете свой класс расширением HttpServlet
и реализуете различные doXxx()
.
Servlet
- это service
метод. Если ваш класс не расширяет HttpServlet
вам придется реализовать свои собственные процедуры диспетчеризации для обработки различных методов http.