La respuesta a esa pregunta esta en la cebeceras del protocolo HTTP, date un vuelta por google y averigua sobre este protocolo, luego solo pides esa cabecera con
Código PHP:
request.getHeader("nombre-cabecera");
Con respecto a la primera pregunta, a pesar de que no lo he intentado me parece que si puede ser posible que sepas donde se acabo la session de un usuario, si tus Servlets implementan la interfaz HttpSessionBingingListener, averigua sobre ella en la API oficial de Java.
Saludos