Можете объяснить процесс подключения HttpURLConnection?

Я использую HTTPURLConnectionдля подключения к веб-службе. Я знаю, как использовать HTTPURLConnection, но хочу понять, как это работает. По сути, я хочу знать следующее:

  • В какой момент HTTPURLConnectionпытается установить соединение с данным URL?
  • В какой момент я могу узнать, что мне удалось установить соединение?
  • Установление соединения и отправка фактического запроса выполняются за один шаг/вызов метода? Что это за метод?
  • Можете ли вы объяснить назначение getOutputStreamи getInputStreamпростым языком? Я заметил, что когда сервер, к которому я пытаюсь подключиться, не работает, я получаю Exceptionпо адресу getOutputStream. Означает ли это, что HTTPURLConnectionначнет устанавливать соединение только тогда, когда я вызову getOutputStream? Как насчет getInputStream? Поскольку я могу получить ответ только на getInputStream, значит ли это, что я еще не отправил запрос на getOutputStream, а просто установил соединение? Возвращаться ли HttpURLConnectionк серверу, чтобы запросить ответ, когда я вызываю getInputStream?
  • Правильно ли я говорю, что openConnectionпросто создает новый объект соединения, но еще не устанавливает никакого соединения?
  • Как измерить служебные данные чтения и служебные данные подключения?
131
задан Arci 12 April 2012 в 03:22
поделиться