pub struct Http2Settings {
pub header_table_size: u32,
pub enable_push: bool,
pub max_concurrent_streams: u32,
pub initial_window_size: u32,
pub max_frame_size: u32,
pub max_header_list_size: u32,
pub initial_window_update: u32,
pub send_all_settings: bool,
pub priority_tree: Option<PriorityTree>,
pub ping_interval: Option<Duration>,
pub handshake_timeout: Option<Duration>,
}Expand description
HTTP/2 SETTINGS for fingerprinting.
Fields§
§header_table_size: u32§enable_push: bool§max_concurrent_streams: u32§initial_window_size: u32§max_frame_size: u32§max_header_list_size: u32§initial_window_update: u32Initial connection-level WINDOW_UPDATE value sent after SETTINGS. Chrome: 15663105 (15MB), Firefox: 12517377 (12MB)
send_all_settings: boolWhether to send all 6 SETTINGS parameters (Chrome) or only selective ones (Firefox). Firefox only sends: HEADER_TABLE_SIZE (1), INITIAL_WINDOW_SIZE (4), MAX_FRAME_SIZE (5)
priority_tree: Option<PriorityTree>PRIORITY frame pattern to send during connection setup. Chrome sends PRIORITY frames for streams 3,5,7,9,11. Firefox sends different PRIORITY patterns.
ping_interval: Option<Duration>PING frame interval for connection keep-alive. Chrome sends PING frames approximately every 45 seconds. Set to None to disable automatic PING frames.
handshake_timeout: Option<Duration>Handshake timeout for waiting for server SETTINGS frame. Default: 10 seconds (matches h2 crate behavior). Set to None for no timeout (not recommended for production).
Implementations§
Source§impl Http2Settings
impl Http2Settings
Sourcepub fn firefox() -> Self
pub fn firefox() -> Self
Create shared Firefox desktop HTTP/2 settings.
Firefox differs from Chrome:
- HEADER_TABLE_SIZE: 65536 (same)
- ENABLE_PUSH: not sent (omitted from SETTINGS frame)
- MAX_CONCURRENT_STREAMS: not sent (omitted, defaults to unlimited)
- INITIAL_WINDOW_SIZE: 131072 (128KB, vs Chrome’s 6MB)
- MAX_FRAME_SIZE: 16384 (same)
- MAX_HEADER_LIST_SIZE: not sent (omitted)
Expected Firefox Akamai SETTINGS: 1:65536;4:131072;5:16384
Expected Firefox WINDOW_UPDATE: 12517377 (vs Chrome’s 15663105)
Trait Implementations§
Source§impl Clone for Http2Settings
impl Clone for Http2Settings
Source§fn clone(&self) -> Http2Settings
fn clone(&self) -> Http2Settings
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Http2Settings
impl Debug for Http2Settings
Source§impl Default for Http2Settings
impl Default for Http2Settings
impl Eq for Http2Settings
Source§impl PartialEq for Http2Settings
impl PartialEq for Http2Settings
Source§fn eq(&self, other: &Http2Settings) -> bool
fn eq(&self, other: &Http2Settings) -> bool
self and other values to be equal, and is used by ==.