См.: Описание
Интерфейс | Описание |
---|---|
HttpHandler |
Обработчик, который вызывается, чтобы обработать обмены HTTP.
|
Класс | Описание |
---|---|
Аутентификатор |
Аутентификатор представляет реализацию механизма аутентификации HTTP.
|
Аутентификатор. Отказ |
Указывает на отказ аутентификации.
|
Аутентификатор. Результат |
Базируйтесь class для типа возврата от аутентифицируют () метод
|
Аутентификатор. Повторить |
Указывает, что аутентификация должна быть повторена.
|
Аутентификатор. Успех |
Указывает, что аутентификация успешно выполнилась, и аутентифицируемый пользовательский принципал может быть получен, вызывая getPrincipal ().
|
BasicAuthenticator |
BasicAuthenticator обеспечивает реализацию Стандартной аутентификации HTTP.
|
Фильтр |
Фильтр, привыкший к пред-и, постобрабатывает входящие запросы.
|
Фильтр. Цепочка |
цепочка фильтров связалась с HttpServer.
|
Заголовки | |
HttpContext |
HttpContext представляет отображение между корневым путем URI приложения к a
HttpHandler который вызывается, чтобы обработать запросы, предназначенные для того пути на связанном HttpServer или HttpsServer. |
HttpExchange |
Этот class инкапсулирует полученный запрос HTTP и ответ, который будет сгенерирован в одном обмене.
|
HttpPrincipal |
Представляет пользователя, аутентифицируемого Стандартной аутентификацией HTTP или Дайджест-аутентификацией.
|
HttpsConfigurator |
Этот class используется, чтобы сконфигурировать https параметры для каждого поступления https соединение на HttpsServer.
|
HttpServer |
Этот class реализует простой сервер HTTP.
|
HttpsExchange |
Этот class инкапсулирует полученный запрос HTTPS и ответ, который будет сгенерирован в одном обмене, и определяет расширения HttpExchange, которые являются определенными для протокола HTTPS.
|
HttpsParameters |
Представляет набор параметров для каждого https соединения, согласованного с клиентами.
|
HttpsServer |
Этот class является расширением
HttpServer который оказывает поддержку для HTTPS. |
Программисты должны реализовать HttpHandler
интерфейс. Этот интерфейс обеспечивает обратный вызов, который вызывается, чтобы обработать входящие запросы от клиентов. Запрос HTTP и его ответ известны как обмен. Обмены HTTP представляются HttpExchange
class. HttpServer
class используется, чтобы прислушаться к входящим соединениям TCP, и он диспетчеризирует запросы на этих соединениях с обработчиками, которые были зарегистрированы в сервере.
Минимальный пример сервера Http показывают ниже:
class MyHandler implements HttpHandler { public void handle(HttpExchange t) throws IOException { InputStream is = t.getRequestBody(); read(is); // .. read the request body String response = "This is the response"; t.sendResponseHeaders(200, response.length()); OutputStream os = t.getResponseBody(); os.write(response.getBytes()); os.close(); } } ... HttpServer server = HttpServer.create(new InetSocketAddress(8000)); server.createContext("/applications/myapp", new MyHandler()); server.setExecutor(null); // creates a default executor server.start();
Пример выше создает простой HttpServer, который использует поток вызывающего приложения, чтобы вызвать дескриптор () метод для того, чтобы поступить запросы http, предписанные портировать 8000, и к пути/applications/myapp/.
HttpExchange
class инкапсулирует все, что приложение должно обработать входящие запросы и генерировать соответствующие ответы.
Регистрация обработчика с HttpServer создает a HttpContext
объект и Filter
объекты могут быть добавлены к возвращенному контексту. Фильтры используются, чтобы выполнить автоматический пред-и последующая обработка обменов прежде, чем их передадут к обработчику обмена.
Для уязвимой информации, a HttpsServer
может использоваться, чтобы обработать запросы "https", защищенные протоколами TLS или SSL. HttpsServer нужно предоставить a HttpsConfigurator
объект, который содержит инициализированный SSLContext
. HttpsConfigurator может использоваться, чтобы сконфигурировать комплекты шифра и другой SSL операционные параметры. Простой пример SSLContext мог быть создан следующим образом:
char[] passphrase = "passphrase".toCharArray(); KeyStore ks = KeyStore.getInstance("JKS"); ks.load(new FileInputStream("testkeys"), passphrase); KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); kmf.init(ks, passphrase); TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509"); tmf.init(ks); SSLContext ssl = SSLContext.getInstance("TLS"); ssl.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
В примере выше, keystore файл, названный "testkeys", создаваемым с keytool утилитой, используется в качестве хранилища сертификата для сертификатов клиента и сервера. Следующий код показывает, как SSLContext тогда используется в HttpsConfigurator и как SSLContext и HttpsConfigurator соединяются с HttpsServer.
server.setHttpsConfigurator (new HttpsConfigurator(sslContext) { public void configure (HttpsParameters params) { // get the remote address if needed InetSocketAddress remote = params.getClientAddress(); SSLContext c = getSSLContext(); // get the default parameters SSLParameters sslparams = c.getDefaultSSLParameters(); if (remote.equals (...) ) { // modify the default set for client x } params.setSSLParameters(sslparams); // statement above could throw IAE if any params invalid. // eg. if app has a UI and parameters supplied by a user. } });
Авторское право © 2005, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92