How to Use the Command 'httping' (with Examples)
httping
is a handy command-line tool that allows users to measure the latency and throughput of a web server. This utility operates similarly to the traditional network tool ping
, but instead of checking the connection to a server at the network level, httping
communicates at the application level using HTTP requests. This makes it an excellent tool for web administrators and developers who need to ensure servers are responding efficiently. More detailed information can be accessed at httping’s manual page
.
Use Case 1: Ping the Specified URL
Code:
httping -g http://example.com
Motivation:
Pinging a specific URL is a straightforward way to check whether a particular web server is responding as expected. This use case is invaluable if you’re monitoring the performance of a public-facing website, ensuring it loads promptly for users worldwide.
Explanation:
-g
specifies the URL thathttping
will ping. The command sends HTTP GET requests to the given URL and measures the time it takes for each request and response.http://example.com
is the URL that you want to test. The use ofhttp
indicates that these pings are sent as non-secure HTTP requests.
Example Output:
PING example.com:80 (/):
connected to 93.184.216.34:80 (310 bytes), seq=0 time=20.28 ms
connected to 93.184.216.34:80 (310 bytes), seq=1 time=20.14 ms
...
Use Case 2: Ping the Web Server on Host and Port
Code:
httping -h example.com -p 80
Motivation:
In situations where a web application is accessible via a specific host and through a particular port, this command aids in checking the reachability and responsiveness of your web services. It’s especially useful for systems administrators diagnosing connectivity issues on non-standard ports.
Explanation:
-h
specifies the host name or the IP address of the server you want to ping.-p
specifies the port number on which the server is running. This is useful when your service is operating on a non-default port. In this example, the server is checked on port 80, which is the default for HTTP.
Example Output:
PING example.com:80 (/):
connected to 93.184.216.34:80 (310 bytes), seq=0 time=20.28 ms
connected to 93.184.216.34:80 (310 bytes), seq=1 time=20.47 ms
...
Use Case 3: Ping the Web Server Using a TLS Connection
Code:
httping -l -g https://example.com
Motivation:
When your web service needs to be accessed securely, httping
allows you to check the server’s HTTPS responses. This use case is critical for administrators of secure web applications relying on encryption to protect user data.
Explanation:
-l
indicates thathttping
will use TLS (Transport Layer Security) to establish a secure connection.-g
specifies the URL to ping, prefixed withhttps://
, indicating a secure connection is initiated toexample.com
.
Example Output:
TLS connection established with 93.184.216.34:443
PING example.com:443 (/):
connected to 93.184.216.34:443 (319 bytes), seq=0 time=21.33 ms
connected to 93.184.216.34:443 (319 bytes), seq=1 time=21.45 ms
...
Use Case 4: Ping the Web Server Using HTTP Basic Authentication
Code:
httping -g http://example.com -U myusername -P mypassword
Motivation:
In scenarios where your web server requires authentication to access its resources, httping
can help verify that authentication credentials are correctly configured and that you can gain access to the protected resources.
Explanation:
-g
specifies the URL to ping.-U
is used to input the username for HTTP basic authentication.-P
is used to input the password for HTTP basic authentication, pairing with the username provided with-U
.
Example Output:
PING example.com:80 (/):
HTTP authentication with username = 'myusername'
connected to 93.184.216.34:80 (310 bytes), seq=0 time=25.38 ms
connected to 93.184.216.34:80 (310 bytes), seq=1 time=25.76 ms
...
Conclusion:
httping
is an invaluable tool for web developers and system administrators, helping with real-time measurement of web server performance. Whether you’re checking a simple URL, connecting through specific ports, ensuring secure TLS connections, or handling authenticated resources, httping
provides the necessary functionality to monitor and troubleshoot HTTP latency effectively. Each of these use cases highlights different scenarios where httping
can be applied to ensure optimal server responsiveness and security.