Skip to main content

Pages with Non-HTTP/2 Resources

Priority: Critical

Impact: Negative

What issues it may cause​

If a website is still using HTTP/1.1, it may suffer from several performance drawbacks compared to HTTP/2:

  • Increased Latency: HTTP/1.1 handles requests sequentially, leading to increased latency due to head-of-line blocking, which results in longer loading and wait time.
  • Higher Overhead: HTTP/1.1 sends headers uncompressed, leading to more data being transmitted.
  • Inefficient Resource Loading: Lack of multiplexing and prioritization can result in inefficient resource loading and slower page rendering.

How do you fix it​

Upgrade to HTTP/2: Ensure your server supports HTTP/2 and configure it to serve your website over this protocol. Learn more about HTTP/2.

What is the positive impact​

  • Improved Load Times: HTTP/2’s multiplexing and header compression reduce latency and load times, leading to a faster user experience.

  • Enhanced Efficiency: More efficient use of network resources reduces bandwidth consumption, which is beneficial for both servers and clients.

  • Better User Experience: Faster and more efficient resource loading improves the overall user experience, making the website feel more responsive.

  • Future-Proofing: Adopting HTTP/2 ensures your website is using modern web standards, making it easier to implement future performance optimizations and features.

How to fetch the data for this report template​

You will need to run a crawl for report template to generate report. When report has been generated and you have crawl id you can fetch data for the report using the following query:

Operation: query GetReportStatForCrawl( $crawlId: ObjectID! $reportTemplateCode: String! $after: String ) { getReportStat( input: {crawlId: $crawlId, reportTemplateCode: $reportTemplateCode} ) { crawlSiteSpeedAudits(after: $after, reportType: Basic) { nodes { url auditId title displayValue savingsScore auditResult productOfSavingsKibAndPageviews productOfSavingsSecsAndPageviews savingsKib savingsSecs } totalCount pageInfo { endCursor hasNextPage } } } }Variables: {"crawlId":"TjAwNUNyYXdsNDAwMA","reportTemplateCode":"uses_http2_failed_audits"}
GetReportStatForCrawlTry in Explorer
GraphQL
query GetReportStatForCrawl(
$crawlId: ObjectID!
$reportTemplateCode: String!
$after: String
) {
getReportStat(
input: {crawlId: $crawlId, reportTemplateCode: $reportTemplateCode}
) {
crawlSiteSpeedAudits(after: $after, reportType: Basic) {
nodes {
url
auditId
title
displayValue
savingsScore
auditResult
productOfSavingsKibAndPageviews
productOfSavingsSecsAndPageviews
savingsKib
savingsSecs
}
totalCount
pageInfo {
endCursor
hasNextPage
}
}
}
}