Obtendo o URL da Solicitação em um Servlet

Quero saber a diferença entre os dois métodos abaixo para obter uma URL de solicitação no servlet.

Método 1:

String url = request.getRequestURL().toString();

Método 2:

url = request.getScheme()
      + "://"
      + request.getServerName()
      + ":"
      + request.getServerPort()
      + request.getRequestURI();

Existem chances de os dois métodos acima fornecerem dois URLs diferentes?

questionAnswers(1)

yourAnswerToTheQuestion