Response time is comprised of four major components namely DNS time, connection time, first byte and last byte time.
Let us consider a scenario to further explain these terms:
A website servermeister.com is monitored by ourself. Firstly, we will resolve the domain names in our location- monitoring servers which is the DNS time. This is the time taken to resolve the domain that is being monitored, i.e., fetch the IP address.
Once the domain name is resolved, we will send a HTTP request to the server. Connection time here includes the time taken to send the HTTP request and to receive the HTTP response.
The server will start sending the response, likely the content on servermeister.com in the form of packets and this is where the first byte and the last byte time comes into picture. First byte time is the time at which the first packet or byte was received by Servermeister after successful connection with the target server. First byte time is the kind of measure to check how fast the server is responding to our request. If the first byte time is high, it means the server is slow. Last byte time is the time at which we have received the response completely from the target server (servermeister server).
The difference between the last byte time and the first byte time is the download time that depends on the size of the content and the speed of the server.