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
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 ==.