Verificar que tenemos habilitado http2 en nuestra web

Verificar que tenemos habilitado http2 en nuestra web.

Todos conocemos los beneficios del protocolo HTTP2 con respecto a HTTP1, pero estas seguro que tu sitio web lo tiene habilitado?.

El protocolo http2 se habilita a nivel de servidor, y te puedo asegurar que existen servidores y VPS que aun continúan utilizando el vetusto http1, seguro que más de los que crees.

Hoy vemos un sencillo script escrito en python, que nos dirá si la url que insertemos trabaja con el protocolo HTTP2, o continua con HTTP1. El único requisito es que tengas instalado python 3.

 

Verificar que tenemos habilitado http2

Creamos el script py.

nano http2.py

Copia y pega lo siguiente:
import socket
import ssl
import csv
import argparse

from urllib.parse import urlparse

socket.setdefaulttimeout(5)

headers = {"user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36"}

def check_http2(domain_name):
	try:
		HOST = urlparse(domain_name).netloc
		PORT = 443

		ctx = ssl.create_default_context()
		ctx.set_alpn_protocols(['h2', 'spdy/3', 'http/1.1'])

		conn = ctx.wrap_socket(
			socket.socket(socket.AF_INET, socket.SOCK_STREAM), server_hostname=HOST)
		conn.connect((HOST, PORT))

		pp = conn.selected_alpn_protocol()

		if pp == "h2":
			return {"http2": True}
		else:
			return {"http2": False}
	except Exception as e:
		print(e)


parser = argparse.ArgumentParser()
parser.add_argument("domain", help="display a square of a given number",
                    type=str)
args = parser.parse_args()

print(check_http2(args.domain))

Guarda el archivo y cierra el editor.

La sintaxis de uso es muy sencilla (recuerda que debes tener instalado Python 3).

python3 [SCRIPT.py] [URL]

Verificamos una url como ejemplo.
python3 http2.py https://www.sololinux.es

La respuesta nos dice que tenemos el protocolo http2 habilitado.

sololinux ~ # python3 http2.py https://www.sololinux.es
{‘http2’: True}

Si seguimos con el protocolo HTTP1 la respuesta será False en vez de True.

 

Canales de Telegram: Canal SoloLinux – Canal SoloWordpress

Espero que este articulo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales.

 

2 Comentarios

  1. edkalrio
    14/01/2020
    • marin
      14/01/2020

Agregar comentario