-
Notifications
You must be signed in to change notification settings - Fork 1k
Closed
Description
Description
This issue tracks the port priority optimization feature where httpx attempts to intelligently guess the most likely protocol (HTTP or HTTPS) based on port numbers and global service distribution patterns.
Background
When scanning targets with mixed protocols (HTTPorHTTPS or HTTPandHTTPS), httpx needs to determine which protocol to try first. This optimization improves efficiency by making educated guesses based on:
- Common HTTP ports: Ports like 80, 8080 are more likely to serve HTTP
- Port ranges: Numeric ports greater than 1024 often serve HTTP
- Default behavior: When no specific pattern matches, defaults to HTTPS
Implementation
The implementation includes:
- A
determineMostLikelySchemeOrder()function that analyzes the target host:port - Logic to prioritize HTTP for common HTTP ports and high-numbered ports
- Fallback to HTTPS as the default scheme
Related PR
This issue is related to PR #2298 which implements the initial version of this optimization.
PR Link: #2298
Requested by: @Mzack9999
Potential Future Enhancements
- Expand the list of known service ports
- Add configuration options for custom port-to-protocol mappings
- Consider service fingerprinting data from global internet scans
- Performance metrics to validate the optimization effectiveness
Metadata
Metadata
Assignees
Labels
No labels