2014-12-15 3 views
0

Я пытаюсь узнать, подключен ли клиент cometd к http или https, мне нужно записать эту информацию.Как узнать, подключен ли клиент cometd к http или https?

Я новичок в cometd и не очень понимаю, как это сделать.

Один из способов, я думал, это проверить на https в bayeuxContext.getURL(), но я не уверен, будет ли это работать или нет.

Может кто-нибудь предложить, как этого достичь.

Благодаря

+0

Вы можете проверить значение порта? – Ubica

+0

Пожалуйста, добавьте свой вопрос: какое программное обеспечение вы используете? что ты уже испробовал? И т.д. Обычно https в URL-адресе будет достаточно, чтобы отличить безопасное соединение. И почему вы хотите знать? Разве не лучше, если бы сервер перенаправлял http на https? – llogiq

ответ

1

Вызов BayeuxContext.getURL() возвращает полную URI клиента, используемый для подключения к серверу, и, следовательно, будет содержать также схему, вы можете проверить, является ли это http или https.

Это будет работать как на основе HTTP, так и на основе WebSocket. Для WebSocket, указанный URI будет URI первоначального запроса обновления HTTP.

+0

, так что если HTTP-запрос обновления на ws, то и geturl вернет первоначальный HTTP-запрос (то же самое с htts на wss)? – learner

+0

Я заметил, что getURL возвращает обновленный запрос, поэтому что можно сделать, чтобы идентифицировать начальный запрос как http или https) – learner

+0

Схема URI сообщит вам, является ли это HTTP или HTTPS. – sbordet

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