Symbols
- 3G services, 3GPP and 3GPP2 Partnerships–Evolution of 3GPP2 technologies
- CDMA-based, Evolution of 3G Technologies
- evolution of, Evolution of 3G Technologies–Evolution of 3GPP2 technologies
- Long Term Evolution (LTE), Long Term Evolution (LTE)–Long Term Evolution (LTE)
- mobile broadband vs., Evolution of 3GPP2 technologies
- radio power requirements and, 3G, 4G, and WiFi Power Requirements–3G, 4G, and WiFi Power Requirements
- real-world performance, measuring, Real-World 3G, 4G, and WiFi Performance–Real-World 3G, 4G, and WiFi Performance
- UMTS-based, Evolution of 3G Technologies
- 3GPP technology, Evolution of 3G Technologies
- 3GPP2 technology, Evolution of 3GPP technologies–Evolution of 3GPP2 technologies
- 3rd Generation Partnership Project (3GPP), 3GPP and 3GPP2 Partnerships
- 3rd Generation Partnership Project 2 (3GPP2), 3GPP and 3GPP2 Partnerships
- 4G services
- heterogeneous networks (HetNets), Heterogeneous Networks (HetNets)–Heterogeneous Networks (HetNets)
- HSPA+ and, HSPA+ is Leading Worldwide 4G Adoption–HSPA+ is Leading Worldwide 4G Adoption
- IMT-Advanced 4G requirements, IMT-Advanced 4G Requirements–IMT-Advanced 4G Requirements
- radio power requirements and, 3G, 4G, and WiFi Power Requirements–3G, 4G, and WiFi Power Requirements
- real-world performance, measuring, Real-World 3G, 4G, and WiFi Performance–Real-World 3G, 4G, and WiFi Performance
- Wi-Fi performance compared to, Building for the Multigeneration Future
A
- ACK, Three-Way Handshake
- adaptation, Slow-Start
- adaptive bitrate streaming, Adapt to Variable Bandwidth
- addressing TCP considerations, Using Multiple TCP Connections
- Advanced Research Projects Agency Network (ARPANET), Congestion Avoidance and Control
- AJAX, XMLHttpRequest
- Akamai Technologies, Bandwidth at the Network Edge
- algorithms
- congestion avoidance, Slow-Start
- fast recovery, Slow-Start
- fast retransmit, Slow-Start
- Multiplicative Decrease and Additive Increase (AIMD), Congestion Avoidance
- Nagles, Eliminate Periodic and Inefficient Data Transfers
- slow start, Slow-Start
- ALOHAnet protocol, From Ethernet to a Wireless LAN
- ALPN, Application Layer Protocol Negotiation (ALPN)–Application Layer Protocol Negotiation (ALPN)
- NPN and, Application Layer Protocol Negotiation (ALPN)
- API layers, Optimizing Physical and Transport Layers
- application APIs, Application APIs and Protocols–Application APIs and Protocols
- application layer connectivity
- physical vs., Core Network (CN)
- application layer optimizations, Concatenation and Spriting
- limitations of, Concatenation and Spriting
- application layer protocol negotiation (see ALPN)
- Application Resource Optimizer (ARO)
- components, Preserve Battery Power
- measuring energy use with, Preserve Battery Power
- website, Preserve Battery Power
- application(s)
- custom protocols for, Application Layer Protocol Negotiation (ALPN)
- data, Sending Application Data
- improving performance, Delivering Higher Bandwidth and Lower Latencies
- keep-alives, eliminating, Eliminate Unnecessary Application Keepalives
- memory use limitations, Concatenation and Spriting
- messages, fragmenting, Binary Framing Layer
- performance, Design and Technical Goals
- untrusted code, Network Security and Sandboxing
- updating, Concatenation and Spriting
- wired, Ubiquitous Connectivity
- application-layer pipelining, Concatenation and Spriting
- APSD (Automatic Power Save Delivery), Radio Resource Controller (RRC)
- architecture (mobile networks), End-to-End Carrier Architecture–Backhaul Capacity and Latency
- backhaul capacity of, Backhaul Capacity and Latency–Backhaul Capacity and Latency
- core network, Core Network (CN)–Core Network (CN)
- latency and, Backhaul Capacity and Latency–Backhaul Capacity and Latency
- Radio Access Network (RAN), Radio Access Network (RAN)–Radio Access Network (RAN)
- ArrayBuffer, Receiving Text and Binary Data
- Asterisk, Signaling and Session Negotiation
- AT&T Application Resource Optimizer, Preserve Battery Power–Preserve Battery Power
- audio engines, Audio and Video Engines–Acquiring Audio and Video with getUserMedia
- acquiring with getUserMedia, Acquiring Audio and Video with getUserMedia–Acquiring Audio and Video with getUserMedia
- bitrates for, Acquiring Audio and Video with getUserMedia
- DataChannel vs., Data Efficiency and Compression
- documentation for, Audio and Video Engines
- audio streams, Audio, Video, and Data Streaming–Audio, Video, and Data Streaming
- acquiring, Acquiring Audio and Video with getUserMedia–Acquiring Audio and Video with getUserMedia
- delivery quality of, Delivering Media with SRTP and SRTCP
- encrypting, Secure Communication with DTLS–Secure Communication with DTLS
- OPUS bitrate codec, Acquiring Audio and Video with getUserMedia
- processing of, Audio and Video Engines
- Web Audio API, Acquiring Audio and Video with getUserMedia
- authentication, Encryption, Authentication, and Integrity, Chain of Trust and Certificate Authorities
- authentication management, Resource and Client State Caching
- auto-reconnect, EventSource API
- automatic socket pooling, Connection Management and Optimization
- availability of connectivity, Ubiquitous Connectivity
B
- back-end performance, Analyzing the Resource Waterfall
- background updates, enegery costs of, Eliminate Periodic and Inefficient Data Transfers
- backhaul capacity of mobile networks, Backhaul Capacity and Latency–Backhaul Capacity and Latency
- bandwidth, Speed Is a Feature, Bandwidth in Core Networks–Delivering Higher Bandwidth and Lower Latencies
- allocating, Adapt to Variable Bandwidth
- at network edge, Bandwidth at the Network Edge–Bandwidth at the Network Edge
- benefits of, More Bandwidth Doesn’t Matter (Much)
- bottleneck, Bandwidth at the Network Edge
- demand for higher, Delivering Higher Bandwidth and Lower Latencies
- for wireless networks, Bandwidth–Bandwidth
- latency vs., Latency as a Performance Bottleneck
- limitations of, More Bandwidth Doesn’t Matter (Much)
- lower latencies and, Delivering Higher Bandwidth and Lower Latencies–Delivering Higher Bandwidth and Lower Latencies
- media streaming bitrates and, Acquiring Audio and Video with getUserMedia
- peer-to-peer streaming and, Audio, Video, and Data Streaming
- variable, adapting to, Adapt to Variable Bandwidth–Adapt to Variable Bandwidth
- web performance and, More Bandwidth Doesn’t Matter (Much)–More Bandwidth Doesn’t Matter (Much)
- Wi-Fi networks and, Leverage Unmetered Bandwidth
- bandwidth-delay product
- components of, Bandwidth-Delay Product
- bandwidth-delay product (BDP), Bandwidth-Delay Product–Bandwidth-Delay Product
- base64, Resource Inlining
- battery power
- AT&T Application Resource Optimizer and, Preserve Battery Power–Preserve Battery Power
- networking and, Preserve Battery Power
- preserving, Preserve Battery Power–Preserve Battery Power, Account for RRC State Transitions
- beacon requests, Eliminate Periodic and Inefficient Data Transfers
- Belshe, Mike, Latency as a Performance Bottleneck
- Berners-Lee, Tim, HTTP 0.9: The One-Line Protocol
- binary data
- receiving, Receiving Text and Binary Data–Receiving Text and Binary Data
- sending, Sending Text and Binary Data–Sending Text and Binary Data
- binary framing layer, Binary Framing Layer
- analyzing data flow, Analyzing HTTP/2 Frame Data Flow–Analyzing HTTP/2 Frame Data Flow
- application data and, Sending Application Data
- HTTP/2 and, Brief Introduction to Binary Framing–Analyzing HTTP/2 Frame Data Flow
- initiating new streams, Initiating a New Stream–Initiating a New Stream
- SCTP vs., Delivering application data with SCTP
- WebSocket protocol and, Binary Framing Layer–Binary Framing Layer
- binary transfers
- SSE and, Event Stream Protocol
- WebSocket and, Custom Application Protocols
- blob interface, Downloading Data with XHR
- Blob objects, Receiving Text and Binary Data
- Bluetooth, Ubiquitous Connectivity
- browser networking, Primer on Browser Networking–Application APIs and Protocols
- application APIs, Application APIs and Protocols–Application APIs and Protocols
- application protocols, Application APIs and Protocols–Application APIs and Protocols
- client state caching, Resource and Client State Caching–Resource and Client State Caching
- connection management, Connection Management and Optimization–Connection Management and Optimization
- optimizing for, Connection Management and Optimization–Connection Management and Optimization
- resource caching, Resource and Client State Caching–Resource and Client State Caching
- sandboxing, Network Security and Sandboxing–Network Security and Sandboxing
- security, Network Security and Sandboxing–Network Security and Sandboxing
- stack, Connection Management and Optimization
- browser request prioritization, in HTTP/2, Stream Prioritization
- browser(s)
- authentication management, Resource and Client State Caching
- caches, Custom Application Protocols
- certificates, Chain of Trust and Certificate Authorities
- cookie management, Resource and Client State Caching
- graphics rendering pipelines, Primer on Browser Networking
- JavaScript VMs, Primer on Browser Networking
- media engines in, Delivering Media with SRTP and SRTCP–Delivering Media with SRTP and SRTCP
- multiplexing support in, Protocol Extensions
- networking engines in, Delivering Media with SRTP and SRTCP–Delivering Media with SRTP and SRTCP
- optimization caches, Primer on Browser Networking
- optimizing for, Browser Optimization–Browser Optimization
- performance, Primer on Browser Networking
- process management, Primer on Browser Networking
- security sandboxes, Primer on Browser Networking
- session management, Resource and Client State Caching
- storage, Primer on Browser Networking
- bufferbloat, The Many Components of Latency
- bundling notifications, Eliminate Periodic and Inefficient Data Transfers
- byte-stream oriented protocol, Null Protocol Services
C
- cache lifetime, Cache Resources on the Client
- Cache-Control header, Cache Resources on the Client
- caching
- client state, Resource and Client State Caching–Resource and Client State Caching
- resources, Resource and Client State Caching–Resource and Client State Caching
- resources on client, Cache Resources on the Client–Cache Resources on the Client
- on smart phones, Cache Resources on the Client
- caching data, Early Termination
- calculating image memory requirements, Concatenation and Spriting
- Canvas API, Acquiring Audio and Video with getUserMedia
- capacity planning, WebRTC and, Infrastructure and Capacity Planning–Infrastructure and Capacity Planning
- Carrier Sense Multiple Access (CSMA), From Ethernet to a Wireless LAN
- CDMA-based networks, Evolution of 3G Technologies
- limitations, EV-DO (CDMA) RRC State Machine
- cell DCH
- transition from cell FACH to, HSPA and HSPA+ (UMTS) RRC State Machine
- UMTS RRC State Machine, HSPA and HSPA+ (UMTS) RRC State Machine
- cell FACH
- transition from cell DCH to, HSPA and HSPA+ (UMTS) RRC State Machine
- UMTS RRC State Machine, HSPA and HSPA+ (UMTS) RRC State Machine
- cell-breathing, Signal Power
- cellular connections, worldwide, Mobile Networks
- Cerf, Vint, Building Blocks of TCP
- certificate authorities, Chain of Trust and Certificate Authorities–Chain of Trust and Certificate Authorities
- Certificate Revocation List (CRL), Certificate Revocation List (CRL)
- certificate authorities (CA), Chain of Trust and Certificate Authorities
- Certificate Revocation List (CRL), Certificate Revocation List (CRL)
- certificates
- browser, Chain of Trust and Certificate Authorities
- Certificate Revocation List (CRL), Certificate Revocation List (CRL)
- check status, Certificate Revocation List (CRL)
- errors, HTTP Strict Transport Security (HSTS)
- invalidating, Certificate Revocation
- manually specified, Chain of Trust and Certificate Authorities
- operating system, Chain of Trust and Certificate Authorities
- reduce size of, Certificate-Chain Length
- revocation, Certificate Revocation–Online Certificate Status Protocol (OCSP)
- root authority, Chain of Trust and Certificate Authorities
- self-signed, Secure Communication with DTLS
- chain of trust, Chain of Trust and Certificate Authorities–Chain of Trust and Certificate Authorities
- DTLS and, Secure Communication with DTLS
- establishing, Chain of Trust and Certificate Authorities
- length of, and performance, Certificate-Chain Length–Certificate-Chain Length
- WebRTC and, Secure Communication with DTLS
- channels, Bandwidth in Core Networks
- checksum, Null Protocol Services
- chosen network latencies, HTTP Pipelining
- Chrome (Google)
- inspecting WebRTC connections with, Tracking ICE Gathering and Connectivity Status
- optimizations in, Browser Optimization
- RTC support in, WebRTC
- speculative networking optimization in, Connection Management and Optimization
- WebRTC support, WebRTC
- client connection limit, Using Multiple TCP Connections
- client requests, HTTP Strict Transport Security (HSTS)
- client state caching, Resource and Client State Caching–Resource and Client State Caching
- CoDel actvie queue management algorithm, The Many Components of Latency
- coding HTTP/2 headers, Header Compression
- Collision Detection (CSMA/CD), From Ethernet to a Wireless LAN
- combining CSS files, Concatenation and Spriting
- combining JavaScript files, Concatenation and Spriting
- communication
- limits set by, Optimizing Physical and Transport Layers
- physical properties of, Optimizing Physical and Transport Layers
- scheduling, From Ethernet to a Wireless LAN
- transactional request-response, Request and Response Streaming
- compressing assets, Evergreen Performance Best Practices
- compressing text-based assets, HTTP/1.X
- concatenation, Concatenation and Spriting
- configuring ETags, HTTP/1.X
- congestion
- avoidance, Congestion Avoidance–Congestion Avoidance
- controlling, Congestion Avoidance and Control–Slow-Start
- flow control of, Flow Control–Flow Control
- slow start and, Slow-Start–Slow-Start
- congestion avoidance, Congestion Avoidance
- built-in, Bandwidth-Delay Product
- congestion avoidance algorithm, Slow-Start
- congestion collapse, Congestion Avoidance and Control
- congestion control, Bandwidth-Delay Product, Null Protocol Services
- congestion control window (cwnd)
- size of, Bandwidth-Delay Product
- congestion window size, Slow-Start
- increasing, Slow-Start
- reset, Congestion Avoidance
- connection closer, terminating, Session Caching and Stateless Resumption
- connection keepalive, Parallelize Request and Response Processing
- connection limits, Primer on Browser Networking, Network Security and Sandboxing
- connection pool, Domain Sharding
- connection setup latency, Early Termination
- connection state tracking, Null Protocol Services
- connections, limiting, Using Multiple TCP Connections
- connectivity
- availability, Ubiquitous Connectivity
- demand for, Mobile Networks
- expectations, Ubiquitous Connectivity
- constraints on wireless networks, Performance Fundamentals of Wireless Networks
- Content Delivery Network (CDN), Speed of Light and Propagation Latency, Early Termination
- using, HTTP/1.X
- continuous reception, LTE RRC State Machine
- control-plane latency, Initiating a Request, Anticipate Network Latency Overhead
- Cookie header, Eliminate Unnecessary Request Bytes
- cookie management, Resource and Client State Caching
- cookies, Measuring and Controlling Protocol Overhead
- enabling, Cross-Origin Resource Sharing (CORS)
- size of, Eliminate Unnecessary Request Bytes
- core network (CN), Core Network (CN)–Core Network (CN)
- core network latency, Initiating a Request
- cost-effectiveness, HSPA+ is Leading Worldwide 4G Adoption, User Equipment Category
- web performance and, Speed, Performance, and Human Perception
- costs of pipelining, Using Multiple TCP Connections
- CPU cost, Using Multiple TCP Connections
- createOffer() (RTCPeerConnection), Session Description Protocol (SDP)
- creating render trees, Hypertext, Web Pages, and Web Applications
- CRL (Certificate Revocation List), Certificate Revocation List (CRL)
- limitations of, Online Certificate Status Protocol (OCSP)
- OCSP vs., Online Certificate Status Protocol (OCSP)
- Cross Origin Resource Sharing (CORS), Cross-Origin Resource Sharing (CORS)
- opt-in authentication mechanism, Cross-Origin Resource Sharing (CORS)
- cross-origin resource sharing (CORS), Cross-Origin Resource Sharing (CORS)–Cross-Origin Resource Sharing (CORS)
- CSS bundle size vs. execution performance, Concatenation and Spriting
- CSS files
- combining, Concatenation and Spriting
- CSS3 API, Acquiring Audio and Video with getUserMedia
- CSSOM, Hypertext, Web Pages, and Web Applications
- custom application protocols, Application Layer Protocol Negotiation (ALPN)
- custom protocols, WebSocket
- streaming data and, Custom Application Protocols
D
- data
- caching, Early Termination
- compression of, Data Efficiency and Compression
- delivering, Delivering Media and Application Data–Delivering application data with SCTP
- efficiency of, Data Efficiency and Compression
- replicating, Early Termination
- streaming, Audio, Video, and Data Streaming–Audio, Video, and Data Streaming
- data bursts, Burst Your Data and Return to Idle–Burst Your Data and Return to Idle
- data flow
- analyzing, Analyzing HTTP/2 Frame Data Flow–Analyzing HTTP/2 Frame Data Flow
- data streams, encrypting, Secure Communication with DTLS–Secure Communication with DTLS
- DataChannel API, Brief Introduction to RTCPeerConnection API, DataChannel–Partially Reliable Delivery and Message Size
- audio engines vs., Data Efficiency and Compression
- configuration options for, Configuring Message Order and Reliability
- message order, configuring, Configuring Message Order and Reliability–Configuring Message Order and Reliability
- message reliability, configuring, Configuring Message Order and Reliability–Configuring Message Order and Reliability
- message size, limiting, Partially Reliable Delivery and Message Size–Partially Reliable Delivery and Message Size
- negotiations, Setup and Negotiation–Setup and Negotiation
- out-of-band negotiation, Setup and Negotiation
- partially reliable delivery, Partially Reliable Delivery and Message Size–Partially Reliable Delivery and Message Size
- setup, Setup and Negotiation–Setup and Negotiation
- video engines vs., Data Efficiency and Compression
- WebSocket vs., DataChannel
- Datagram Transport Layer Secuirty (DTLS) protocol, Transport Layer Security (TLS)
- datagrams, Building Blocks of UDP
- distinguishing, Null Protocol Services
- DATA_CHANNEL_OPEN message, Setup and Negotiation
- decoding binary data, Receiving Text and Binary Data
- dedicated IPs, Server Name Indication (SNI)
- deferring management of individual sockets, Network Security and Sandboxing
- deferring session state management, Resource and Client State Caching
- defining latency, Real-Time Notifications and Delivery
- delivering, outbound UDP traffic, Connection-State Timeouts
- delivery order, Null Protocol Services
- Delivery Traffic Indication Message (DTIM), Radio Resource Controller (RRC)
- delivery, real time, Real-Time Notifications and Delivery–Long-Polling with XHR
- long-polling, Long-Polling with XHR–Long-Polling with XHR
- polling and, Polling with XHR–Polling with XHR
- demand for high speed connectivity, Mobile Networks
- demand for higher bandwidth, Delivering Higher Bandwidth and Lower Latencies
- demand for wireless data services, 3GPP and 3GPP2 Partnerships
- denial of service (DoS), Using Multiple TCP Connections
- deploying HetNets, Heterogeneous Networks (HetNets)
- design assumptions, Optimizing for Mobile Networks
- designing applications, Packet Flow in a Mobile Network, Primer on Browser Networking
- destination port, Null Protocol Services
- detecting pieplining compatibility, HTTP Pipelining
- determining browser performance, Primer on Browser Networking
- digital-to-analog conversion, Modulation
- disabling TLS compression, TLS Compression
- distinguishing datagrams, Null Protocol Services
- DNS lookups
- domain sharding and, Domain Sharding
- high latency and, Domain Sharding
- reducing, HTTP/1.X, Evergreen Performance Best Practices
- DNS pre-resolve, Browser Optimization
- Document Object Model (DOM), Performance Pillars: Computing, Rendering, Networking
- documenting aware optimization, Browser Optimization
- DOM, Hypertext, Web Pages, and Web Applications
- Domain Name System (DNS), Building Blocks of UDP
- domain sharding, Domain Sharding–Domain Sharding, Optimizing for HTTP/1.x
- DNS lookup and, Domain Sharding
- formula for, Domain Sharding
- manual, Domain Sharding
- using, Domain Sharding
- DOMString objects, Receiving Text and Binary Data
- double compression, TLS Compression
- downloading data
- monitoring, Monitoring Download and Upload Progress–Monitoring Download and Upload Progress
- with XMLHttpRequest (XHR), Downloading Data with XHR–Downloading Data with XHR
- DTLS, Transport Layer Security (TLS), Secure Communication with DTLS–Secure Communication with DTLS
- handshake, Secure Communication with DTLS, Secure Communication with DTLS
- identity provider and, Secure Communication with DTLS
- TLS vs., Secure Communication with DTLS
E
- EDGE (Enhanced Data rates fo GSM Evolution), First Data Services with 2G
- efficient resource caching, Resource and Client State Caching
- emulating WebSocket, WebSocket API
- enabling cookies, Cross-Origin Resource Sharing (CORS)
- enabling HTTP authentication, Cross-Origin Resource Sharing (CORS)
- enabling pipelining, HTTP Pipelining
- encrypted channels
- establishing, Computational Costs
- maintaining, Computational Costs
- encrypted TLS tunnels, Server Name Indication (SNI)
- encrypting
- media payloads for WebRTC, Secure Communication with DTLS–Secure Communication with DTLS
- with DTLS, Secure Communication with DTLS–Secure Communication with DTLS
- encryption, Encryption, Authentication, and Integrity
- end-to-end latency, Initiating a Request
- end-to-end tunnels, HTTP Upgrade Negotiation
- energy costs of background updates, Eliminate Periodic and Inefficient Data Transfers
- energy tails, Inefficiency of Periodic Transfers
- energy use on wireless devices, Preserve Battery Power–Preserve Battery Power
- error handling in HTTP/2, HTTP/2
- establishing chains of trust, Chain of Trust and Certificate Authorities
- establishing encrypted channels, Computational Costs
- establishing performance strategy, Synthetic and Real-User Performance Measurement
- establishing TLS connections, Chain of Trust and Certificate Authorities
- ETag header, Cache Resources on the Client
- ETags, HTTP/1.X
- Ethernet standard, WiFi
- history, From Ethernet to a Wireless LAN
- Ethernet vs. Wi-Fi, From Ethernet to a Wireless LAN–From Ethernet to a Wireless LAN
- European Telecommunication Standards Institute (ETSI), 3GPP and 3GPP2 Partnerships
- EV-DO (CDMA)
- HSPA vs., End-to-End Carrier Architecture
- LTE vs., End-to-End Carrier Architecture
- RRC state machine for, EV-DO (CDMA) RRC State Machine–EV-DO (CDMA) RRC State Machine
- EVDO, Ubiquitous Connectivity
- event boundaries, Event Stream Protocol
- event payload, Event Stream Protocol
- event stream protocol, Event Stream Protocol–Event Stream Protocol
- EventSource API, EventSource API–EventSource API
- auto-reconnect and, EventSource API
- emulating with JavaScript, EventSource API
- SSE and, SSE Use Cases and Performance
- Websocket vs., WebSocket API
- evergreen optimizations, HTTP/1.X, Optimizing for HTTP/1.x
- Evergreen performance best practices, Evergreen Performance Best Practices–Parallelize Request and Response Processing
- caching resources on client, Cache Resources on the Client–Cache Resources on the Client
- request bytes, streamlining, Eliminate Unnecessary Request Bytes–Eliminate Unnecessary Request Bytes
- request processing, parallelizing, Parallelize Request and Response Processing–Parallelize Request and Response Processing
- response processing, parallelizing, Parallelize Request and Response Processing–Parallelize Request and Response Processing
- evolution of wireless standards, Building for the Multigeneration Future
- Evolved Packet Core (EPC), Core Network (CN), Core Network (CN)
- execution performance
- CSS bundle size vs., Concatenation and Spriting
- JavaScript bundle size vs., Concatenation and Spriting
- Extended Validation (EV), OCSP Stapling
- extensions
- HTTP, Encryption, Authentication, and Integrity
- Wi-Fi Multimedia (WMM), Measuring and Optimizing WiFi Performance
F
- Facebook, Computational Costs
- Facebook Chat and XHR long-polling, Long-Polling with XHR
- fast recovery algorithm, Slow-Start
- fast retransmit algorithm, Slow-Start
- Federal Communication Commission (FCC), Bandwidth
- fetching resources, Performance Pillars: Computing, Rendering, Networking
- using a proxy server to, Early Termination
- using CDN to, Early Termination
- Firefox, RTC support in, WebRTC
- first in, first out (FIFO), HTTP Pipelining
- first-hop latency, measuring, Measuring and Optimizing WiFi Performance
- fixed length fields, Brief Introduction to Binary Framing
- fixing perfromance regressions, Synthetic and Real-User Performance Measurement
- flow control, Slow-Start
- HTTP/2 and, HTTP/2
- in HTTP/2, Flow Control
- flow control window (rwnd), Bandwidth-Delay Product
- forced pushes, Server Push
- formatting requests, Primer on Browser Networking
- formula for domain sharding, Domain Sharding
- fragmenting application messages, Binary Framing Layer
- frame aggregation, Packet Loss in WiFi Networks
- frames, Streams, Messages, and Frames
- HTTP/2 types, Brief Introduction to Binary Framing
- implementing, Brief Introduction to Binary Framing
- PUSH PROMISE, Server Push
- settings, Server Push
- WebSocket, Binary Framing Layer
- frequency ranges, Bandwidth
- front-end performance, Analyzing the Resource Waterfall
G
- General Packet Radio Service (GPRS), First Data Services with 2G
- generations of mobile networks, Brief History of the G’s
- GET method, HTTP 0.9: The One-Line Protocol
- Gettys, Jim, The Many Components of Latency
- getUserMedia API, Acquiring Audio and Video with getUserMedia–Acquiring Audio and Video with getUserMedia
- constraints on, specifying, Acquiring Audio and Video with getUserMedia
- globally unique IPs, UDP and Network Address Translators
- Gmail, Concatenation and Spriting
- goals of HTTP/2, HTTP/2
- goals of SPDY, Brief History of SPDY and HTTP/2
- Google, STUN, TURN, and ICE, Computational Costs, TLS Record Size
- STUN test servers, Interactive Connectivity Establishment (ICE)
- Google Search, optimizing TTFB for, Browser Optimization
- Gs of mobile networks, Brief History of the G’s–Building for the Multigeneration Future
- 2 (second generation), First Data Services with 2G–First Data Services with 2G
- 3 (third generation), 3GPP and 3GPP2 Partnerships–Evolution of 3GPP2 technologies
- GSM (Global System for Mobile communications), First Data Services with 2G
- Gzip, TLS Compression
- assets, HTTP/1.X
H
- handshake
- DTLS, Secure Communication with DTLS, Secure Communication with DTLS
- HTTP Upgrade, Custom Application Protocols
- Key and Accept, HTTP Upgrade Negotiation
- TCP, Three-Way Handshake
- TCP, three-way, Three-Way Handshake–Three-Way Handshake
- TLS, TLS Handshake–Server Name Indication (SNI)
- WebSocket, HTTP Upgrade Negotiation
- hanging XHR, Using Multiple TCP Connections
- Hangouts (Google), Multiparty Architectures
- head-of-line blocking, Head-of-Line Blocking–Head-of-Line Blocking, HTTP Pipelining, Binary Framing Layer–Binary Framing Layer
- DataChannel and, Configuring Message Order and Reliability
- HTTP/2 and, Request and Response Multiplexing, One Connection Per Origin
- SCTP and, Delivering application data with SCTP
- TCP, Head-of-Line Blocking–Head-of-Line Blocking
- WebSocket protocol, Binary Framing Layer–Binary Framing Layer
- headers
- Cache-Control, Cache Resources on the Client
- compression, in HTTP/2, Header Compression–Header Compression
- Cookie, Eliminate Unnecessary Request Bytes
- ETag, Cache Resources on the Client
- HTTP/2 and, Header Compression
- WebSocket, HTTP Upgrade Negotiation
- XHR, Cross-Origin Resource Sharing (CORS)
- heterogeneous networks (HetNets), Heterogeneous Networks (HetNets)–Heterogeneous Networks (HetNets)
- deploying, Heterogeneous Networks (HetNets)
- infrastructure, Design for Variable Network Interface Availability
- Hibernia Express, Speed Is a Feature
- high latency variability, Optimizing for Mobile Networks
- DNS lookups and, Domain Sharding
- hostnames, Domain Sharding
- HSPA, Ubiquitous Connectivity, User Equipment Category
- EV-DO vs., End-to-End Carrier Architecture
- LTE vs., End-to-End Carrier Architecture
- networks, Evolution of 3GPP technologies
- RRC state machines for, HSPA and HSPA+ (UMTS) RRC State Machine–HSPA and HSPA+ (UMTS) RRC State Machine
- HSPA+
- 4G adoption and, HSPA+ is Leading Worldwide 4G Adoption–HSPA+ is Leading Worldwide 4G Adoption
- RRC state machines for, HSPA and HSPA+ (UMTS) RRC State Machine–HSPA and HSPA+ (UMTS) RRC State Machine
- HSTS (HTTP Strict Transport Security), HTTP Strict Transport Security (HSTS)
- HTTP (Hypertext Transfer Protocol), Brief History of HTTP–HTTP/2: Improving Transport Performance
- as one-line protocol, HTTP 0.9: The One-Line Protocol–HTTP 0.9: The One-Line Protocol
- authentication, enabling, Cross-Origin Resource Sharing (CORS)
- extensions to, Encryption, Authentication, and Integrity
- growth of, HTTP/1.0: Rapid Growth and Informational RFC–HTTP/1.0: Rapid Growth and Informational RFC
- headers, Measuring and Controlling Protocol Overhead
- informational RFC for, HTTP/1.0: Rapid Growth and Informational RFC–HTTP/1.0: Rapid Growth and Informational RFC
- latency overhead, Anticipate Network Latency Overhead
- leveraging requests, Long-Polling with XHR
- limitations, HTTP Pipelining
- multiplexing in, Using Multiple TCP Connections
- performance improvements to, HTTP/2: Improving Transport Performance–HTTP/2: Improving Transport Performance, Benefits of Keepalive Connections
- pipelining, leveraging, Optimizing for HTTP/1.x
- redirects, Evergreen Performance Best Practices
- redirects, avoiding, HTTP/1.X
- request components, Anticipate Network Latency Overhead
- standardization of, HTTP/1.1: Internet Standard–HTTP/1.1: Internet Standard
- Upgrade flow, Application Layer Protocol Negotiation (ALPN)
- Upgrade mechanism, Application Layer Protocol Negotiation (ALPN)
- version 1.x, HTTP/1.X–Resource Inlining
- HTTP keepalive, Benefits of Keepalive Connections
- HTTP requests
- limiting, HTTP/1.X
- states of, Analyzing the Resource Waterfall
- HTTP standard, Building Blocks of TCP
- HTTP State Management Mechanism, Eliminate Unnecessary Request Bytes
- HTTP Strict Transport Security (HSTS), HTTP Strict Transport Security (HSTS)
- HTTP Upgrade handshake, Custom Application Protocols
- HTTP upgrade negotiation, HTTP Upgrade Negotiation–HTTP Upgrade Negotiation
- HTTP Working Group (HTTP-WG), HTTP/1.0: Rapid Growth and Informational RFC
- HTTP-WG, Brief History of SPDY and HTTP/2
- HTTP/1.x, HTTP/1.X–Resource Inlining
- application performance, Design and Technical Goals
- concatenating requests, Concatenation and Spriting–Concatenation and Spriting
- domain sharding, Domain Sharding–Domain Sharding
- keep-alive connections, Benefits of Keepalive Connections–Benefits of Keepalive Connections
- optimizing applications for, Optimizing for HTTP/1.x
- pipelining, HTTP Pipelining–HTTP Pipelining
- protocol overhead, Measuring and Controlling Protocol Overhead–Measuring and Controlling Protocol Overhead
- resource inlining in, Resource Inlining–Resource Inlining
- spriting requests, Concatenation and Spriting–Concatenation and Spriting
- TCP connections and, Using Multiple TCP Connections–Using Multiple TCP Connections
- HTTP/2, HTTP/2–Analyzing HTTP/2 Frame Data Flow
- binary framing layer, Binary Framing Layer
- browser request prioritization and, Stream Prioritization
- coding of headers, Header Compression
- compression algorithm, Header Compression
- development of, Brief History of SPDY and HTTP/2
- discovery, Upgrading to HTTP/2
- error handling and, HTTP/2
- flow control, HTTP/2, Flow Control
- frame types, Brief Introduction to Binary Framing
- frames, Streams, Messages, and Frames–Streams, Messages, and Frames
- goals of, HTTP/2
- head-of-line blocking and, Request and Response Multiplexing, One Connection Per Origin
- header compression in, Header Compression–Header Compression
- headers in, Header Compression
- latency and, HTTP/2
- messages in, Streams, Messages, and Frames–Streams, Messages, and Frames
- one request per origin and, One Connection Per Origin–One Connection Per Origin
- optimizing applications for, Optimizing for HTTP/2
- performance enhancements, Binary Framing Layer
- request prioritization, Stream Prioritization–Stream Prioritization
- request/response multiplexing, Request and Response Multiplexing–Request and Response Multiplexing
- research for, One Connection Per Origin
- server pushes, Server Push
- settings frames and, Server Push
- snapshot, Request and Response Multiplexing
- SPDY and, Brief History of SPDY and HTTP/2–Brief History of SPDY and HTTP/2
- streams, Streams, Messages, and Frames–Streams, Messages, and Frames
- TCP connections and, One Connection Per Origin–One Connection Per Origin
- updating browsers to, Upgrading to HTTP/2
- upgrade mechanisms, HTTP/2
- upgrading to, Upgrading to HTTP/2
- HyBi Working Group, WebSocket Protocol
- hypermedia transports, HTTP/1.0: Rapid Growth and Informational RFC
- hypertext documents
- defined, Hypertext, Web Pages, and Web Applications
- web applications vs., Hypertext, Web Pages, and Web Applications–Hypertext, Web Pages, and Web Applications
- web pages vs., Hypertext, Web Pages, and Web Applications–Hypertext, Web Pages, and Web Applications
- Hypertext Transfer Protocol (HTTP), Brief History of HTTP–HTTP/2: Improving Transport Performance
I
- ICE protocol, STUN, TURN, and ICE, Interactive Connectivity Establishment (ICE)–Tracking ICE Gathering and Connectivity Status
- connectivity status and, Tracking ICE Gathering and Connectivity Status–Tracking ICE Gathering and Connectivity Status
- incremental provisioning of, Incremental Provisioning (Trickle ICE)–Incremental Provisioning (Trickle ICE)
- NAT and, STUN, TURN, and ICE
- tracking, Tracking ICE Gathering and Connectivity Status–Tracking ICE Gathering and Connectivity Status
- Trickle, Incremental Provisioning (Trickle ICE)–Incremental Provisioning (Trickle ICE)
- WebRTC, built-in, Establishing a Peer-to-Peer Connection
- iceConnectionState attribute (ICE agents), Tracking ICE Gathering and Connectivity Status
- iceGatheringState attribute (ICE agents), Tracking ICE Gathering and Connectivity Status
- identifying performance regressions, Synthetic and Real-User Performance Measurement
- identity provider, Secure Communication with DTLS
- idle (UMTS RRC State Machine), HSPA and HSPA+ (UMTS) RRC State Machine
- IETF Working Group, Standards and Development of WebRTC
- image memory requirements, calculating, Concatenation and Spriting
- image sprites, Concatenation and Spriting
- IMT-Advanced requirements
- for 4G, IMT-Advanced 4G Requirements–IMT-Advanced 4G Requirements
- LTE-Advanced vs., Long Term Evolution (LTE)
- infrastructure planning, WebRTC and, Infrastructure and Capacity Planning–Infrastructure and Capacity Planning
- inlining
- resource, Server Push
- insecure links, HTTP Strict Transport Security (HSTS)
- integrity, Encryption, Authentication, and Integrity
- interaction optimization, Primer on Web Performance
- Interactive Connectivity Establishment (see ICE protocol)
- intermediaries, Encryption, Authentication, and Integrity
- WebSocket and, HTTP Upgrade Negotiation
- intermediary caches, leveraging, Custom Application Protocols
- intermediate CAs, Certificate-Chain Length
- international performance characteristics, 3GPP and 3GPP2 Partnerships
- international standards, 3GPP and 3GPP2 Partnerships
- International Telecommunication Union (ITU), 3GPP and 3GPP2 Partnerships
- Internet Assigned Numbers Authority (IANA), UDP and Network Address Translators
- Internet Protocol (IP), Building Blocks of TCP
- Internet Protocol next generation (IPng), Building Blocks of TCP
- Internet Protocol Suite, Building Blocks of TCP
- internet routing latency, Initiating a Request
- Internet Stream Protocol (ST), Building Blocks of TCP
- invalidating certificates, Certificate Revocation
- IP protocols, Building Blocks of TCP
- IPs
- dedicated, Server Name Indication (SNI)
- globally unique, UDP and Network Address Translators
- Network Address Translator (NAT) specification, UDP and Network Address Translators
- public, UDP and Network Address Translators
- ISDN User Part (ISUP) signaling protocol, Signaling and Session Negotiation
- ISM spectrum, WiFi
- iTunes performance, HTTP/1.X
J
- Jacobson, Van, Slow-Start
- JavaScript, Hypertext, Web Pages, and Web Applications
- bundle size vs. execution performance, Concatenation and Spriting
- combining files, Concatenation and Spriting
- decoding binary data with, Receiving Text and Binary Data
- emulating EventSource with, EventSource API
- executing, Performance Pillars: Computing, Rendering, Networking
- Gmail and, Concatenation and Spriting
- optimization of, Performance Pillars: Computing, Rendering, Networking
- JavaScript Session Establishment Protocol (see JSEP)
- JavaScript VMs, Primer on Browser Networking
- Jingle signaling protocol, Signaling and Session Negotiation
- SDP and, Session Description Protocol (SDP)
- jitters, Head-of-Line Blocking
- in mobile networks, Initiating a Request
- JSEP, SDP and, Session Description Protocol (SDP)
L
- last mile latency, Last-Mile Latency–Last-Mile Latency
- latency, Speed Is a Feature, Speed Is a Feature–Last-Mile Latency
- and jitter, Initiating a Request–Initiating a Request
- bandwidth vs., Latency as a Performance Bottleneck
- components of, The Many Components of Latency–The Many Components of Latency
- connection setup, Early Termination
- control-plane, Initiating a Request, Anticipate Network Latency Overhead
- core network, Initiating a Request
- defining, Real-Time Notifications and Delivery
- DTLS and, Secure Communication with DTLS
- end-to-end, Initiating a Request
- first-hop, Measuring and Optimizing WiFi Performance
- high bandwidth and, Delivering Higher Bandwidth and Lower Latencies–Delivering Higher Bandwidth and Lower Latencies
- high variability, Optimizing for Mobile Networks
- HTTP/2 and, HTTP/2
- identifying, Parallelize Request and Response Processing
- improving, Delivering Higher Bandwidth and Lower Latencies
- internet routing, Initiating a Request
- last mile, Last-Mile Latency–Last-Mile Latency
- measuring, Last-Mile Latency
- media streaming and, Real-Time Network Transports–Brief Introduction to RTCPeerConnection API
- mobile connections and, Brief History of the G’s
- mobile networks and, Backhaul Capacity and Latency–Backhaul Capacity and Latency, Initiating a Request
- network, Analyzing the Resource Waterfall
- new request, Initiating a Request
- overhead, anticipating on mobile networks, Anticipate Network Latency Overhead–Decouple User Interactions from Network Communication
- peer-to-peer streaming and, Audio, Video, and Data Streaming
- processing delay, The Many Components of Latency
- propagation, Speed of Light and Propagation Latency–Speed of Light and Propagation Latency, Request and Response Streaming
- propagation delay, The Many Components of Latency
- queuing, Request and Response Streaming
- queuing delay, The Many Components of Latency
- reducing, HTTP/2
- signal, Speed of Light and Propagation Latency
- speed of light and, Speed of Light and Propagation Latency–Speed of Light and Propagation Latency
- Traceroute, Last-Mile Latency
- trading algorithms and, Speed Is a Feature
- transmission delay, The Many Components of Latency
- user-plane, Initiating a Request
- user-plane one-way, Building for the Multigeneration Future
- variable, adapting to, Adapt to Variable Latency
- web performance and, Latency as a Performance Bottleneck–Latency as a Performance Bottleneck
- wireless, Latency as a Performance Bottleneck
- latency performance, Measuring and Optimizing WiFi Performance, 3G, 4G, and WiFi Power Requirements
- least privilege principle, Network Security and Sandboxing
- length of packet, Null Protocol Services
- libjingle, STUN, TURN, and ICE
- lifecycle of network sockets, Connection Management and Optimization
- limiting
- connections, Using Multiple TCP Connections
- HTTP requests, HTTP/1.X
- Linux, window scaling on, Flow Control
- load balancing
- sticky, Session Caching and Stateless Resumption
- Local Area Network (LAN), Types of Wireless Networks
- long discontinuous reception (Long DRX), LTE RRC State Machine
- long DRX states, LTE RRC State Machine
- long-polling, Long-Polling with XHR–Long-Polling with XHR
- Facebook Chat via, Long-Polling with XHR
- LTE (Long Term Evolution), Ubiquitous Connectivity, Long Term Evolution (LTE)–Long Term Evolution (LTE)
- EPC network, Core Network (CN)
- EV-DO vs., End-to-End Carrier Architecture
- features of, Core Network (CN)
- HSPA vs., End-to-End Carrier Architecture
- RRC state machine for, LTE RRC State Machine–LTE RRC State Machine
- standard, Long Term Evolution (LTE)
- LTE-Advanced, IMT-Advanced 4G Requirements
- IMT-Advanced, Long Term Evolution (LTE)
M
- maintaining encrypted channels, Computational Costs
- managing connections, Radio Resource Controller (RRC)
- managing wireless network capacity, Heterogeneous Networks (HetNets)
- manual domain sharding, Domain Sharding
- manually specified certificates, Chain of Trust and Certificate Authorities
- max age attribute (HSTS), HTTP Strict Transport Security (HSTS)
- maximum channel capacity, Performance Fundamentals of Wireless Networks
- maximum request parallelism, Using Multiple TCP Connections
- maximum segment size (MSS), TLS Record Size
- maxRetransmits attribute (DataChannel), Configuring Message Order and Reliability
- maxRetransmitTime attribute (DataChannel), Configuring Message Order and Reliability
- measuring first-hop latency, Measuring and Optimizing WiFi Performance
- measuring latency, Last-Mile Latency
- Media Capture and Streams (W3C specification), Acquiring Audio and Video with getUserMedia–Acquiring Audio and Video with getUserMedia
- documentation for, Acquiring Audio and Video with getUserMedia
- media data, delivering, Delivering Media and Application Data–Delivering application data with SCTP
- with SRTP/SRTCP, Delivering Media with SRTP and SRTCP–Delivering Media with SRTP and SRTCP
- MediaStream API, WebRTC
- MediaStream object, Acquiring Audio and Video with getUserMedia–Acquiring Audio and Video with getUserMedia
- tracks within, Acquiring Audio and Video with getUserMedia
- memory cost, Using Multiple TCP Connections
- mesh networks, Multiparty Architectures
- Message Authenticaion Code (MAC), Encryption, Authentication, and Integrity
- message classes, Sending Text and Binary Data
- message-oriented streaming, WebSocket
- messages, Streams, Messages, and Frames
- aggregation of, Long-Polling with XHR
- delivery of, Null Protocol Services
- format of, Subprotocol Negotiation
- fragmenting, Binary Framing Layer
- WebSocket, Binary Framing Layer
- Metropolitan Area Network (MAN), Types of Wireless Networks
- mobile applications, Optimizing for Mobile Networks
- mobile broadband vs. 3G services, Evolution of 3GPP2 technologies
- mobile connections, latency and, Brief History of the G’s
- mobile devices, radio specification of, User Equipment Category
- mobile network optimizations, Optimizing for Mobile Networks–Apply Protocol and Application Best Practices
- application best practices and, Apply Protocol and Application Best Practices–Apply Protocol and Application Best Practices
- application keep-alives and, Eliminate Unnecessary Application Keepalives
- battery power, preserving, Preserve Battery Power–Preserve Battery Power
- data bursts and, Burst Your Data and Return to Idle–Burst Your Data and Return to Idle
- latency overhead, anticipating, Anticipate Network Latency Overhead–Decouple User Interactions from Network Communication
- periodic data transfers and, Eliminate Periodic and Inefficient Data Transfers–Eliminate Periodic and Inefficient Data Transfers
- protocol best practices and, Apply Protocol and Application Best Practices–Apply Protocol and Application Best Practices
- RRC state transitions, accounting for, Account for RRC State Transitions
- variable network availability, designing for, Design for Variable Network Interface Availability–Design for Variable Network Interface Availability
- Wi-Fi network use for, Offload to WiFi Networks
- mobile networks, Mobile Networks–Real-World 3G, 4G, and WiFi Performance
- 3G services, 3GPP and 3GPP2 Partnerships–Evolution of 3GPP2 technologies
- 3GPP technology, Evolution of 3G Technologies
- 3GPP2 technology, Evolution of 3GPP technologies–Evolution of 3GPP2 technologies
- architecture of, End-to-End Carrier Architecture–Backhaul Capacity and Latency
- backhaul capacity of, Backhaul Capacity and Latency–Backhaul Capacity and Latency
- complains about, Initiating a Request
- core network, Core Network (CN)–Core Network (CN)
- devices, Device Features and Capabilities–User Equipment Category
- battery power, preserving, Preserve Battery Power–Preserve Battery Power
- first data services, First Data Services with 2G–First Data Services with 2G
- future standards for, HSPA+ is Leading Worldwide 4G Adoption
- generations of (Gs), Brief History of the G’s–Building for the Multigeneration Future
- heterogeneous networks (HetNets), Heterogeneous Networks (HetNets)–Heterogeneous Networks (HetNets)
- IMT-Advanced 4G requirements, IMT-Advanced 4G Requirements–IMT-Advanced 4G Requirements
- inbound data flow, Inbound Data Flow
- jitters in, Initiating a Request–Initiating a Request
- latency and, Backhaul Capacity and Latency–Backhaul Capacity and Latency, Initiating a Request
- Long Term Evolution (LTE), Long Term Evolution (LTE)–Long Term Evolution (LTE)
- multi-generational future, planning for, Building for the Multigeneration Future–Building for the Multigeneration Future
- packet flow on, Packet Flow in a Mobile Network–Inbound Data Flow
- performance strategy requirements, Optimizing for Mobile Networks
- performance, measuring, Real-World 3G, 4G, and WiFi Performance–Real-World 3G, 4G, and WiFi Performance
- periodic transfers and, Inefficiency of Periodic Transfers–Inefficiency of Periodic Transfers
- Radio Access Network (RAN), Radio Access Network (RAN)–Radio Access Network (RAN)
- radio power requirements and, Radio Resource Controller (RRC)–Inefficiency of Periodic Transfers
- real-world performance, measuring, Real-World 3G, 4G, and WiFi Performance–Real-World 3G, 4G, and WiFi Performance
- RRC and, Radio Resource Controller (RRC)–Inefficiency of Periodic Transfers
- streaming data on, Design for Variable Network Interface Availability
- User Equipment category of devices, User Equipment Category–User Equipment Category
- Mobility Management Entity (MME), Core Network (CN)
- modeling wireless network capacity, Heterogeneous Networks (HetNets)
- Mozilla, XHR and, Brief History of XHR
- multi-party architectures, Multiparty Architectures–Multiparty Architectures
- multiple hostnames, Domain Sharding
- multiple radio streams (MIMO), Measuring Real-World Wireless Performance
- multiple TCP connections, Using Multiple TCP Connections, Using Multiple TCP Connections
- multiplexing, Using Multiple TCP Connections, Binary Framing Layer–Binary Framing Layer
- browser support for, Protocol Extensions–Performance Checklist
- WebSocket and, Binary Framing Layer
- Multiplicative Decrease and Additive Increase (AIMD) algorithm, Congestion Avoidance
N
- Nagle, John, Congestion Avoidance and Control
- Nagles algorithm, Eliminate Periodic and Inefficient Data Transfers
- NAT
- connection-state timeouts and, Connection-State Timeouts–Connection-State Timeouts
- ICE and, STUN, TURN, and ICE, Interactive Connectivity Establishment (ICE)–Tracking ICE Gathering and Connectivity Status
- peer-to-peer communication and, Establishing a Peer-to-Peer Connection
- SCTP and, Delivering application data with SCTP
- STUN and, STUN, TURN, and ICE–STUN, TURN, and ICE
- translations, Connection-State Timeouts
- traversals, Null Protocol Services, NAT Traversal–NAT Traversal
- TURN and, STUN, TURN, and ICE–STUN, TURN, and ICE
- UDP and, UDP and Network Address Translators–STUN, TURN, and ICE
- NAT devices
- introducing, UDP and Network Address Translators
- TCP timeouts and, Connection-State Timeouts
- native applications, push delivery and, Eliminate Periodic and Inefficient Data Transfers
- Navigation Timing API, Synthetic and Real-User Performance Measurement
- benefits of, Synthetic and Real-User Performance Measurement
- Resource Timing vs., Synthetic and Real-User Performance Measurement
- navigator.onLine notifications, Design for Variable Network Interface Availability
- near-far problem, Signal Power
- negotiating TLS tunnels, TLS Handshake
- negotiating tunnels, TLS Handshake
- Netscape, Transport Layer Security (TLS)
- Network Address Translators (see NAT)
- Network Control Program (NCP), Congestion Avoidance and Control
- network latency, Analyzing the Resource Waterfall
- chosen, HTTP Pipelining
- network requests
- concatenation, Concatenation and Spriting
- decoupling from user interactions, Decouple User Interactions from Network Communication
- spriting, Concatenation and Spriting
- network roundtrips, Anticipate Network Latency Overhead
- network sockets, lifecycle of, Connection Management and Optimization
- network weather, Bandwidth at the Network Edge
- networking
- bandwidth, Bandwidth in Core Networks–Delivering Higher Bandwidth and Lower Latencies
- browsers, Primer on Browser Networking
- connection management, Connection Management and Optimization–Connection Management and Optimization
- latency and, Speed Is a Feature–Last-Mile Latency
- performance, Preserve Battery Power
- real-time transports for, Real-Time Network Transports–Brief Introduction to RTCPeerConnection API
- sandboxing, Network Security and Sandboxing–Network Security and Sandboxing
- secure communications, Secure Communication with DTLS–Secure Communication with DTLS
- security, Network Security and Sandboxing–Network Security and Sandboxing
- speed, Speed Is a Feature–Delivering Higher Bandwidth and Lower Latencies
- new protocols, Encryption, Authentication, and Integrity
- new request latencies, Initiating a Request
- Next Protocol Negotiation (NPN), Application Layer Protocol Negotiation (ALPN)
- ALPN and, Application Layer Protocol Negotiation (ALPN)
- NFC, Ubiquitous Connectivity
- NoAck, Radio Resource Controller (RRC)
- non-text assets, resource inlining, Resource Inlining
- notifications, bundling, Eliminate Periodic and Inefficient Data Transfers
- notifications, real time, Real-Time Notifications and Delivery–Long-Polling with XHR
- long-polling, Long-Polling with XHR–Long-Polling with XHR
- polling and, Polling with XHR–Polling with XHR
- null protocol service, Building Blocks of UDP
- UDP as, Null Protocol Services–Null Protocol Services
O
- OCSP (Online Certificate Status Protocol), Online Certificate Status Protocol (OCSP)
- CRL vs., Online Certificate Status Protocol (OCSP)
- size, OCSP Stapling
- stapling, OCSP Stapling–OCSP Stapling
- offloading to Wi-Fi, Leverage Unmetered Bandwidth
- one-way latency, user-plane, Building for the Multigeneration Future
- Online Certificate Status Protocol (OCSP), Online Certificate Status Protocol (OCSP)
- Ookla, Bandwidth at the Network Edge
- OpenSSL buffers, TLS Record Size
- operating system certificates, Chain of Trust and Certificate Authorities
- opt-in authentication mechanism, Cross-Origin Resource Sharing (CORS)
- optical fibers, Bandwidth in Core Networks
- advantages of, Bandwidth in Core Networks
- optimizations
- application layer, Concatenation and Spriting
- document aware, Browser Optimization
- evergreen, HTTP/1.X, Optimizing for HTTP/1.x
- for mobile networks, Optimizing for Mobile Networks–Apply Protocol and Application Best Practices
- for TCP, Optimizing for TCP–Performance Checklist
- for TLS, Optimizing for TLS–HTTP Strict Transport Security (HSTS)
- for UDP, Optimizing for UDP–Optimizing for UDP
- for Wi-Fi, Optimizing for WiFi Networks–Adapt to Variable Latency
- in Google Chrome, Browser Optimization
- interaction, Primer on Web Performance
- JavaScript execution, Performance Pillars: Computing, Rendering, Networking
- protocol, Optimizing for Mobile Networks
- resource inlining, Resource Inlining
- speculative, Browser Optimization
- TTFB for Google Search, Browser Optimization
- optimized resource caching, Resource and Client State Caching
- OPUS bitrate codec, Acquiring Audio and Video with getUserMedia
- organizing socket pools, Connection Management and Optimization
- origins, Cross-Origin Resource Sharing (CORS)
- out-of-band negotiation, Setup and Negotiation
P
- packet flow
- between private networks, Interactive Connectivity Establishment (ICE)–Tracking ICE Gathering and Connectivity Status
- initiating requests on mobile networks, Initiating a Request–Initiating a Request
- on mobile networks, Packet Flow in a Mobile Network–Inbound Data Flow
- packet gateway (PGW), Core Network (CN)
- packet loss, Head-of-Line Blocking
- DTLS and, Secure Communication with DTLS
- on Wi-Fi networks, Packet Loss in WiFi Networks–Packet Loss in WiFi Networks
- partially reliable channels and, Partially Reliable Delivery and Message Size–Partially Reliable Delivery and Message Size
- with TCP on wireless networks, Packet Loss in WiFi Networks
- packet trace files, Preserve Battery Power
- page layout, Performance Pillars: Computing, Rendering, Networking
- page load time (PLT), Hypertext, Web Pages, and Web Applications, Brief History of SPDY and HTTP/2
- improving, Brief History of SPDY and HTTP/2
- page pre-rendering, Browser Optimization
- page rendering, Performance Pillars: Computing, Rendering, Networking
- parallel transmissions, 3G, 4G, and WiFi Power Requirements
- parallelism
- benefits of, Using Multiple TCP Connections
- high level of, Domain Sharding
- path attenuation, Signal Power
- path loss, Signal Power
- peak spectral efficiency, Brief History of the G’s
- peer-to-peer connections, Establishing a Peer-to-Peer Connection
- between private networks, Interactive Connectivity Establishment (ICE)–Tracking ICE Gathering and Connectivity Status
- connectivity status and, Tracking ICE Gathering and Connectivity Status–Tracking ICE Gathering and Connectivity Status
- initiating connections, Initiating a WebRTC connection–Initiating a WebRTC connection
- multi-party architectures, Multiparty Architectures–Multiparty Architectures
- optimization as service, Multiparty Architectures
- responding to connections, Responding to a WebRTC connection–Responding to a WebRTC connection
- SDP and, Session Description Protocol (SDP)–Session Description Protocol (SDP)
- session negotiation, Signaling and Session Negotiation–Performance Checklist
- signaling, Signaling and Session Negotiation–Responding to a WebRTC connection
- Skype as, Signaling and Session Negotiation
- Trickle ICE protocol, Incremental Provisioning (Trickle ICE)–Incremental Provisioning (Trickle ICE)
- performance
- browsers, Primer on Browser Networking
- socket pools and, Connection Management and Optimization
- performance bottlenecks
- bandwidth, Leverage Unmetered Bandwidth
- cookies, Measuring and Controlling Protocol Overhead
- identifying, Synthetic and Real-User Performance Measurement
- performance characterisics
- international, 3GPP and 3GPP2 Partnerships
- Wi-Fi networks, Optimizing for WiFi Networks
- performance components
- bandwidth, Speed Is a Feature
- latency, Speed Is a Feature
- performance gains, HTTP Pipelining
- performance regressions
- fixing, Synthetic and Real-User Performance Measurement
- identifying, Synthetic and Real-User Performance Measurement
- performance strategy, establishing, Synthetic and Real-User Performance Measurement
- performance.timing object, Synthetic and Real-User Performance Measurement
- periodic data transfers, Inefficiency of Periodic Transfers–Inefficiency of Periodic Transfers
- eliminating, for mobile networks, Eliminate Periodic and Inefficient Data Transfers–Eliminate Periodic and Inefficient Data Transfers
- Personal Area Network (PAN), Types of Wireless Networks
- physical application connectivity, Core Network (CN)
- picocells, Heterogeneous Networks (HetNets)
- pipelining, HTTP Pipelining–HTTP Pipelining
- application-layer, Concatenation and Spriting
- benefits of, HTTP Pipelining
- costs of, Using Multiple TCP Connections
- detecting compatibility, HTTP Pipelining
- enabling, HTTP Pipelining
- support, Optimizing for HTTP/1.x
- Policy and Charging Rules Function (PCRF), Core Network (CN)
- polling, Polling with XHR–Polling with XHR
- implementing, Polling with XHR
- long-polling, Long-Polling with XHR–Long-Polling with XHR
- periodic, Long-Polling with XHR
- push delivery vs., Eliminate Periodic and Inefficient Data Transfers
- polyfill libraries, EventSource API, WebSocket API
- pools, Connection Management and Optimization
- port tuples, UDP and Network Address Translators
- Postel, John, Building Blocks of UDP
- PowerSave mechanism, Radio Resource Controller (RRC)
- prefetch models
- building, Burst Your Data and Return to Idle
- evaluating, Burst Your Data and Return to Idle
- prefetching resources, Browser Optimization
- preflight requests, Cross-Origin Resource Sharing (CORS)
- presentation layer, Optimizing for Mobile Networks
- preserving batteries, Account for RRC State Transitions
- probabilistic access model, From Ethernet to a Wireless LAN
- processing
- delay, The Many Components of Latency
- in parallel, HTTP Pipelining
- propagation
- delay, The Many Components of Latency
- latency, Request and Response Streaming
- Proportional Rate Reduction (PRR), Congestion Avoidance
- protocol(s)
- new, Encryption, Authentication, and Integrity
- optimizations, Optimizing for Mobile Networks
- overhead measuring/controlling, Measuring and Controlling Protocol Overhead–Measuring and Controlling Protocol Overhead
- proxies, Encryption, Authentication, and Integrity
- and peer-to-peer communications, Multiparty Architectures
- WebSocket and, HTTP Upgrade Negotiation
- PSTN (Public Switched Telephone Network), Standards and Development of WebRTC
- public IPs, UDP and Network Address Translators
- discovering, STUN, TURN, and ICE
- public key cryptography
- performance of, RSA, Diffie-Hellman and Forward Secrecy
- symmetric vs., RSA, Diffie-Hellman and Forward Secrecy
- push deliver, native applications and, Eliminate Periodic and Inefficient Data Transfers
- push delivery, Eliminate Periodic and Inefficient Data Transfers
- PUSH PROMISE frames, Server Push
R
- radio capabilities, Device Features and Capabilities
- radio interface, using, Preserve Battery Power
- Radio Resource Controller (RRC), Radio Resource Controller (RRC)–Inefficiency of Periodic Transfers
- scheduling and, Radio Resource Controller (RRC)
- radio specification of mobile devices, User Equipment Category
- RAN (Radio Access Network), 3GPP and 3GPP2 Partnerships, Radio Access Network (RAN)–Radio Access Network (RAN)
- Real-Time Communication in Web-browsers (RTCWEB), Standards and Development of WebRTC
- real-time frameworks, WebSocket API
- real-user measurement (RUM), Synthetic and Real-User Performance Measurement
- analyzing, Synthetic and Real-User Performance Measurement
- receive windows (rwnd), Flow Control
- reduced protocol overhead, Concatenation and Spriting
- reducing DNS lookups, HTTP/1.X, Evergreen Performance Best Practices
- reducing latency, HTTP/2
- reduction of signal power, Signal Power
- reliable attribute (DataChannel), Configuring Message Order and Reliability
- render trees, Hypertext, Web Pages, and Web Applications
- replicating data, Early Termination
- request bytes, streamlining, Eliminate Unnecessary Request Bytes–Eliminate Unnecessary Request Bytes
- request formatting, Network Security and Sandboxing
- request prioritization, Stream Prioritization–Stream Prioritization
- request streaming, XHR and, Uploading Data with XHR
- request/response multiplexing, Request and Response Multiplexing–Request and Response Multiplexing
- requirements, User Equipment category, User Equipment Category
- researching HTTP/2, One Connection Per Origin
- resource caching, Resource and Client State Caching–Resource and Client State Caching
- efficient, Resource and Client State Caching
- optimized, Resource and Client State Caching
- resource inlining, Server Push
- in HTTP/1.x, Resource Inlining–Resource Inlining
- non-text assets and, Resource Inlining
- text-based assets and, Resource Inlining
- Resource Timing, Synthetic and Real-User Performance Measurement
- resource waterfall, Analyzing the Resource Waterfall
- resource(s)
- loading, Parallelize Request and Response Processing
- prefetching, Browser Optimization
- prioritization, Browser Optimization
- waterfalls, Anatomy of a Modern Web Application–Analyzing the Resource Waterfall
- response processing, Network Security and Sandboxing
- response times, Parallelize Request and Response Processing
- responseType attribute, Streaming Data with XHR
- responsive design, Optimizing for Mobile Networks
- root certificate authority, Chain of Trust and Certificate Authorities
- routers, SCTP and, Delivering application data with SCTP
- RRC (Radio Resource Controller), Radio Resource Controller (RRC)–Inefficiency of Periodic Transfers
- EV-DO state machines for, EV-DO (CDMA) RRC State Machine–EV-DO (CDMA) RRC State Machine
- LTE, state machine for, LTE RRC State Machine–LTE RRC State Machine
- periodic transfers and, Inefficiency of Periodic Transfers–Inefficiency of Periodic Transfers
- radio power requirements and, 3G, 4G, and WiFi Power Requirements–3G, 4G, and WiFi Power Requirements
- state transitions, accounting for, Account for RRC State Transitions
- RRC Connected, LTE RRC State Machine
- RRC Idle, LTE RRC State Machine
- RTCDataChannel API, WebRTC
- WebRTC requirements for, Delivering application data with SCTP
- RTCPeerConnection API, WebRTC, Brief Introduction to RTCPeerConnection API–Brief Introduction to RTCPeerConnection API
- adding/removing streams from, Initiating a WebRTC connection
- createOffer(), Session Description Protocol (SDP)
- ICE protocol and, Interactive Connectivity Establishment (ICE)–Tracking ICE Gathering and Connectivity Status
- JSEP and, Session Description Protocol (SDP)
- RTCWEB (Real-Time Communication in Web-browsers), Standards and Development of WebRTC
S
- same-origin policy, Network Security and Sandboxing, Cross-Origin Resource Sharing (CORS)
- restrictions of, Cross-Origin Resource Sharing (CORS)
- WebSocket, HTTP Upgrade Negotiation
- sandboxing, Primer on Browser Networking, Network Security and Sandboxing–Network Security and Sandboxing
- scheduling communication, From Ethernet to a Wireless LAN
- RRC and, Radio Resource Controller (RRC)
- scheduling Wi-Fi transmissions, Packet Loss in WiFi Networks
- SCTP, Delivering application data with SCTP–Delivering application data with SCTP
- and head-of-line blocking, Delivering application data with SCTP
- framing layer vs., Delivering application data with SCTP
- naked, Delivering application data with SCTP
- packet format, Delivering application data with SCTP
- SDP, Session Description Protocol (SDP)–Session Description Protocol (SDP)
- createOffer() and, Session Description Protocol (SDP)
- Jingle protocol and, Session Description Protocol (SDP)
- mapping to XMPP, Session Description Protocol (SDP)
- Secure Real-time Control Transport Protocol (see SRTCP)
- Secure Real-time Transport Protocol (see SRTP)
- secure web applications, Encryption, Authentication, and Integrity
- selective acknowledgments (SACK), Optimizing for TCP
- server kernels, upgrading, Tuning Server Configuration
- server name indication (see SNI)
- server processing time, Benefits of Keepalive Connections
- server pushes, Server Push
- forced, Server Push
- PUSH PROMISE and, Server Push
- server response time, Analyzing the Resource Waterfall
- Server Sent Events (SSE), Eliminate Periodic and Inefficient Data Transfers, Using Multiple TCP Connections
- server-sent events (see SSE)
- Serving Gateway (SGW), Core Network (CN)
- session caching, Session Tickets
- Session Description Protocol (see SDP)
- session identifiers, Session Identifiers–Session Identifiers, Session Caching and Stateless Resumption
- leveraging, Session Identifiers
- limitations, Session Identifiers
- Session Initiation Protocol (SIP), Signaling and Session Negotiation
- session management, Resource and Client State Caching
- session resumption (TLS), TLS Session Resumption–Session Tickets
- session identifiers, Session Identifiers–Session Identifiers
- session tickets, Session Tickets
- session state management, deferring, Resource and Client State Caching
- session tickets, Session Tickets
- records, Session Tickets
- Session Traversal Utilities for NAT (see STUN)
- SessionTicket (extension), Session Tickets
- settings frames, Server Push
- Sever-Sent Events, Streaming Data with XHR
- Shannon, Claude E., Performance Fundamentals of Wireless Networks
- short discontinuous reception (Short DRX), LTE RRC State Machine
- signal latencies, Speed of Light and Propagation Latency
- signal power (wireless networks), Signal Power–Signal Power
- reduction of, Signal Power
- signaling channel, Signaling and Session Negotiation
- trickle ICE and, Incremental Provisioning (Trickle ICE)
- signaling gateway, Signaling and Session Negotiation
- choosing, Signaling and Session Negotiation
- custom, Signaling and Session Negotiation
- signaling protocols, Signaling and Session Negotiation
- signaling server, Signaling and Session Negotiation
- services for, Signaling and Session Negotiation–Responding to a WebRTC connection
- SimpleWebRTC, Responding to a WebRTC connection
- size of socket pools, Connection Management and Optimization
- Skype, Signaling and Session Negotiation
- slicing files, Uploading Data with XHR
- slow response times, Optimizing for Mobile Networks
- slow start, Slow-Start–Slow-Start
- streaming and, Slow-Start
- slow start algorithm, Slow-Start
- Slow-Start Restart, Slow-Start
- smartphone chaching, Cache Resources on the Client
- SMS (text messaging), First Data Services with 2G
- snapshot in HTTP/2, Request and Response Multiplexing
- SNI, Server Name Indication (SNI)–Server Name Indication (SNI)
- socket pools, Connection Management and Optimization
- automatic, Connection Management and Optimization
- performance and, Connection Management and Optimization
- size limit, Connection Management and Optimization
- Socket.IO, WebSocket API
- sockets, deferring management of, Network Security and Sandboxing
- source port, Null Protocol Services
- SPDY (Google), Encryption, Authentication, and Integrity
- goals of, Brief History of SPDY and HTTP/2
- HTTP/2 and, Brief History of SPDY and HTTP/2–Brief History of SPDY and HTTP/2
- PLT, Brief History of SPDY and HTTP/2
- protocol for, Latency as a Performance Bottleneck
- zlib and, Header Compression
- speculative optimization, Browser Optimization
- in Google Chrome, Connection Management and Optimization
- speed, Speed Is a Feature–Delivering Higher Bandwidth and Lower Latencies
- bandwidth, Bandwidth in Core Networks–Delivering Higher Bandwidth and Lower Latencies
- human perception of, Speed, Performance, and Human Perception–Speed, Performance, and Human Perception
- ICE negotiation and, Interactive Connectivity Establishment (ICE)
- latency and, Speed Is a Feature–Last-Mile Latency
- of web applications, Speed, Performance, and Human Perception–Speed, Performance, and Human Perception
- STUN servers and, Interactive Connectivity Establishment (ICE)
- spriting, Concatenation and Spriting
- SRCP, Delivering Media with SRTP and SRTCP–Delivering Media with SRTP and SRTCP
- adapting to WebRTC, Delivering Media with SRTP and SRTCP
- SRTCP, Delivering Media with SRTP and SRTCP–Delivering Media with SRTP and SRTCP
- adapting to WebRTC, Delivering Media with SRTP and SRTCP
- SSE, Server-Sent Events (SSE)–SSE Use Cases and Performance
- binary transfers with, Event Stream Protocol
- event stream protocol, Event Stream Protocol–Event Stream Protocol
- EventSource API and, EventSource API–EventSource API, SSE Use Cases and Performance
- implementing, EventSource API
- limitations, SSE Use Cases and Performance
- performance measurements for, SSE Use Cases and Performance
- TLS and, SSE Use Cases and Performance
- use cases for, SSE Use Cases and Performance
- UTF-8 encoding with, Event Stream Protocol
- SSL protocol
- development, Transport Layer Security (TLS)
- standardizing, Transport Layer Security (TLS)
- using, Transport Layer Security (TLS)
- standards
- 3GPP and, 3GPP and 3GPP2 Partnerships
- 3GPP2 and, 3GPP and 3GPP2 Partnerships
- development of, 3GPP and 3GPP2 Partnerships
- Ethernet, WiFi
- future mobile networks, HSPA+ is Leading Worldwide 4G Adoption
- HSPA, User Equipment Category
- international, 3GPP and 3GPP2 Partnerships
- Long Term Evolution (LTE), Long Term Evolution (LTE)
- LTE-Advanced, IMT-Advanced 4G Requirements
- SSL protocol, Transport Layer Security (TLS)
- WebSocket, WebSocket
- wireless, From Ethernet to a Wireless LAN
- WMM, Radio Resource Controller (RRC)
- stateless resumption, Session Tickets
- sticky load balancing, Session Caching and Stateless Resumption
- storage, in browsers, Primer on Browser Networking
- stream ciphers, Secure Communication with DTLS
- Stream Control Transmission Protocol (see SCTP)
- streaming data
- bidirectional, WebSocket
- custom protocols and, Custom Application Protocols
- custom protocols over, Custom Application Protocols–Custom Application Protocols
- message-oriented, WebSocket
- on mobile networks, Design for Variable Network Interface Availability
- request/response streaming, Request and Response Streaming
- server-to-client, Server-Sent Events (SSE)
- Sever-Sent Events, Streaming Data with XHR
- slow start and, Slow-Start
- text-based, Server-Sent Events (SSE)
- WebRTC and, Audio, Video, and Data Streaming–Audio, Video, and Data Streaming
- WebSocket, Streaming Data with XHR, WebSocket Use Cases and Performance
- with XMLHttpRequest (XHR), Streaming Data with XHR–Streaming Data with XHR
- XHR, Server-Sent Events (SSE)
- streaming videos, Bandwidth at the Network Edge
- streams, Streams, Messages, and Frames
- STUN protocol, STUN, TURN, and ICE
- and WebRTC, Infrastructure and Capacity Planning
- lookups, Interactive Connectivity Establishment (ICE)
- NAT and, STUN, TURN, and ICE–STUN, TURN, and ICE
- test servers for, Interactive Connectivity Establishment (ICE)
- TURN vs., STUN, TURN, and ICE
- suboptimal delivery, HTTP Pipelining
- supernodes, Multiparty Architectures
- symmetric key cryptography
- performance of, RSA, Diffie-Hellman and Forward Secrecy
- public vs., RSA, Diffie-Hellman and Forward Secrecy
- SYN ACK, Three-Way Handshake
- SYN packet, Three-Way Handshake
- synthetic testing, Synthetic and Real-User Performance Measurement
T
- TCP, Building Blocks of TCP–Performance Checklist
- alternatives to, Head-of-Line Blocking
- application behavior, tuning, Tuning Application Behavior
- bandwidth-delay product, Bandwidth-Delay Product–Bandwidth-Delay Product
- congestion avoidance, Congestion Avoidance–Congestion Avoidance
- congestion, controlling, Congestion Avoidance and Control–Slow-Start
- connections, terminating, HTTP Pipelining
- flow control of, Flow Control–Flow Control
- handshake phase, Three-Way Handshake
- head-of-line blocking, Head-of-Line Blocking–Head-of-Line Blocking
- history, Building Blocks of TCP
- HTTP/2 and, One Connection Per Origin–One Connection Per Origin
- multiple connections with HTTP, Using Multiple TCP Connections–Using Multiple TCP Connections
- optimizing for, Optimizing for TCP–Performance Checklist
- packet loss on Wi-Fi networks, Packet Loss in WiFi Networks
- pre-connect, Browser Optimization
- server settings, tuning, Tuning Server Configuration–Tuning Server Configuration
- settings, tuning, Tuning Server Configuration
- slow start and, Slow-Start–Slow-Start
- specifications, Flow Control
- terminating connection, HTTP Pipelining
- three-way handshake for, Three-Way Handshake–Three-Way Handshake
- timeouts, NAT devices and, Connection-State Timeouts
- tuning, Optimizing for TCP
- UDP vs., Optimizing for UDP
- TCP connections, Three-Way Handshake
- multiple, Using Multiple TCP Connections, Using Multiple TCP Connections
- TCP Fast Open (TFO), Three-Way Handshake
- TCP Window Scaling, Flow Control
- enabling, Flow Control
- TCP/IP, Building Blocks of TCP
- tcpdump method, Preserve Battery Power
- TeleGeography, Delivering Higher Bandwidth and Lower Latencies
- testing web performance, Analyzing the Resource Waterfall
- text data
- receiving, Receiving Text and Binary Data–Receiving Text and Binary Data
- sending, Sending Text and Binary Data–Sending Text and Binary Data
- text messaging (SMS), First Data Services with 2G
- text-based assets
- compressing, HTTP/1.X
- resource inlining and, Resource Inlining
- server-to-client streaming, Server-Sent Events (SSE)
- size, Compress Transferred Data
- throughput performance, 3G, 4G, and WiFi Power Requirements
- time and user perception, Speed, Performance, and Human Perception
- timeouts and connection-state, Connection-State Timeouts–Connection-State Timeouts
- TLS, Transport Layer Security (TLS)–Testing and Verification
- ALPN and, Application Layer Protocol Negotiation (ALPN)–Application Layer Protocol Negotiation (ALPN)
- authentication, Encryption, Authentication, and Integrity–Encryption, Authentication, and Integrity
- certificate authorities, Chain of Trust and Certificate Authorities–Chain of Trust and Certificate Authorities
- certificate revocation, Certificate Revocation–Online Certificate Status Protocol (OCSP)
- certificate-chain length and, Certificate-Chain Length–Certificate-Chain Length
- chain of trust, Chain of Trust and Certificate Authorities–Chain of Trust and Certificate Authorities
- compression, TLS Compression–TLS Compression
- compression disabling, TLS Compression
- computational costs of, Computational Costs–Computational Costs
- connections, establishing, Chain of Trust and Certificate Authorities
- design, Transport Layer Security (TLS)
- DTLS and, Secure Communication with DTLS–Secure Communication with DTLS
- DTLS vs., Secure Communication with DTLS
- early session termination and, Early Termination–Early Termination
- encryption, Encryption, Authentication, and Integrity–Encryption, Authentication, and Integrity
- handshake, TLS Handshake–Server Name Indication (SNI)
- HSTS and, HTTP Strict Transport Security (HSTS)
- integrity of, Encryption, Authentication, and Integrity–Encryption, Authentication, and Integrity
- negotiation, Network Security and Sandboxing
- OCSP stapling, OCSP Stapling–OCSP Stapling
- optimizing for, Optimizing for TLS–HTTP Strict Transport Security (HSTS)
- record protocol, TLS Record Protocol–TLS Record Protocol
- record size of, TLS Record Size–TLS Record Size
- session caching, Session Caching and Stateless Resumption
- session resumption, TLS Session Resumption–Session Tickets, Computational Costs
- SNI and, Server Name Indication (SNI)–Server Name Indication (SNI)
- SSE streaming over, SSE Use Cases and Performance
- stateless resumption, Session Caching and Stateless Resumption
- testing/verifying configuration of, Testing and Verification–Testing and Verification
- tunnels, encrypted, Server Name Indication (SNI)
- tunnels, negotiating, TLS Handshake
- WebSocket with, Deploying WebSocket Infrastructure
- TLS record protocol
- IP vs., TLS Record Protocol
- optimum size, TLS Record Size
- TLS+SNI workflow, Server Name Indication (SNI)
- Traceroute, Last-Mile Latency
- trading algorithms, latency and, Speed Is a Feature
- transactional request-response communication, Request and Response Streaming
- transmission
- delay, The Many Components of Latency
- parallel, 3G, 4G, and WiFi Power Requirements
- Transmission Control Protocol (see TCP)
- Transport Layer Security (see TLS)
- Traversal Using Relays around NAT protocol (see TURN protocol)
- Trickle ICE protocol, Incremental Provisioning (Trickle ICE)–Incremental Provisioning (Trickle ICE)
- trust anchor, Chain of Trust and Certificate Authorities
- TTFB, optimizing for Google Search, Browser Optimization
- tuning TCP, Optimizing for TCP
- tunnels, negotiating, TLS Handshake
- TURN protocol, STUN, TURN, and ICE
- and WebRTC, Infrastructure and Capacity Planning
- NAT and, STUN, TURN, and ICE–STUN, TURN, and ICE
- STUN vs., STUN, TURN, and ICE
- Twitter, Computational Costs
U
- UDP, Building Blocks of UDP–Optimizing for UDP
- as null protocol service, Null Protocol Services–Null Protocol Services
- connection-state timeouts and, Connection-State Timeouts–Connection-State Timeouts
- DataChannel vs., Brief Introduction to RTCPeerConnection API
- delivering outbound traffic, Connection-State Timeouts
- for media streaming, Real-Time Network Transports–Brief Introduction to RTCPeerConnection API
- NAT and, UDP and Network Address Translators–STUN, TURN, and ICE
- NAT traversals, NAT Traversal–NAT Traversal
- non-services, Null Protocol Services
- optimizations for, Optimizing for UDP–Optimizing for UDP
- TCP vs., Optimizing for UDP
- transmit with, NAT Traversal
- understanding, Null Protocol Services
- UDP protocol fields, Null Protocol Services
- checksum, Null Protocol Services
- destination port, Null Protocol Services
- length of packet, Null Protocol Services
- source port, Null Protocol Services
- UMTS RRC State Machine, HSPA and HSPA+ (UMTS) RRC State Machine–HSPA and HSPA+ (UMTS) RRC State Machine
- cell DCH, HSPA and HSPA+ (UMTS) RRC State Machine
- cell FACH, HSPA and HSPA+ (UMTS) RRC State Machine
- idle, HSPA and HSPA+ (UMTS) RRC State Machine
- UMTS-based networks, Evolution of 3G Technologies
- limitations on, EV-DO (CDMA) RRC State Machine
- uncached origin fetch, Early Termination
- understanding UDP, Null Protocol Services
- unstable Wi-Fi performance, From Ethernet to a Wireless LAN
- untrusted application code, Network Security and Sandboxing
- updating
- applications, Concatenation and Spriting
- browsers, Upgrading to HTTP/2
- upgrade flow, Application Layer Protocol Negotiation (ALPN)
- upgrade mechanisms, Application Layer Protocol Negotiation (ALPN)
- HTTP/2, HTTP/2
- upgrading server kernel versions, Tuning Server Configuration
- uploading data
- monitoring, Monitoring Download and Upload Progress–Monitoring Download and Upload Progress
- with XMLHttpRequest (XHR), Uploading Data with XHR–Uploading Data with XHR
- URL schemes, WS and WSS URL Schemes
- User Datagram Protocol (see UDP)
- user devices
- battery power, preserving, Preserve Battery Power–Preserve Battery Power
- mobile networks, Device Features and Capabilities–User Equipment Category
- RRC state transitions, accounting for, Account for RRC State Transitions
- User Equipment category of, User Equipment Category–User Equipment Category
- User Equipment (UE) category requirements, User Equipment Category
- User Timing, Synthetic and Real-User Performance Measurement
- user, time perception of, Speed, Performance, and Human Perception
- user-plane latency, Initiating a Request
- one-way, Building for the Multigeneration Future
- UTF-8 encoding
- SSE and, Event Stream Protocol
V
- variable length fields, Brief Introduction to Binary Framing
- video engines, Audio and Video Engines–Acquiring Audio and Video with getUserMedia
- acquiring with getUserMedia, Acquiring Audio and Video with getUserMedia–Acquiring Audio and Video with getUserMedia
- bitrates for, Acquiring Audio and Video with getUserMedia
- DataChannel vs., Data Efficiency and Compression
- documentation for, Audio and Video Engines
- video streams, Audio, Video, and Data Streaming–Audio, Video, and Data Streaming
- acquiring, Acquiring Audio and Video with getUserMedia–Acquiring Audio and Video with getUserMedia
- Canvas API, Acquiring Audio and Video with getUserMedia
- CSS3 API, Acquiring Audio and Video with getUserMedia
- delivery quality of, Delivering Media with SRTP and SRTCP
- encrypting, Secure Communication with DTLS–Secure Communication with DTLS
- processing of, Audio and Video Engines
- VP8 bitrate codec, Acquiring Audio and Video with getUserMedia
- WebGL API, Acquiring Audio and Video with getUserMedia
- voice over IP (VOIP), Standards and Development of WebRTC
- VP8 bitrate codec, Acquiring Audio and Video with getUserMedia
W
- W3C Web Performance Working Group, Synthetic and Real-User Performance Measurement
- W3C Working Group, Standards and Development of WebRTC
- warm connection pool, Early Termination
- wavelength-division multiplexing (WDM), Bandwidth in Core Networks
- improving, Delivering Higher Bandwidth and Lower Latencies
- wavelengths, Bandwidth in Core Networks
- web applications
- anatomy of, Anatomy of a Modern Web Application–Analyzing the Resource Waterfall
- application protocols for, Application APIs and Protocols–Application APIs and Protocols
- authentication, Encryption, Authentication, and Integrity
- binary framing layer and, Sending Application Data
- browsers, optimizing for, Browser Optimization–Browser Optimization
- caching resources on client, Cache Resources on the Client–Cache Resources on the Client
- compressing transferred data, Compress Transferred Data
- data, delivering, Delivering Media and Application Data–Delivering application data with SCTP
- defined, Hypertext, Web Pages, and Web Applications
- designing, Primer on Browser Networking
- encryption, Encryption, Authentication, and Integrity
- Evergreen performance best practices, Evergreen Performance Best Practices–Parallelize Request and Response Processing
- HTTP/1.x optimizations, Optimizing for HTTP/1.x
- HTTP/2 optimizations, Optimizing for HTTP/2
- hypertext documents vs., Hypertext, Web Pages, and Web Applications–Hypertext, Web Pages, and Web Applications
- improving performance of, Measuring and Controlling Protocol Overhead
- installing, Anatomy of a Modern Web Application
- integrity, Encryption, Authentication, and Integrity
- optimizing delivery of, Optimizing Application Delivery
- performance of, measuring, Synthetic and Real-User Performance Measurement–Synthetic and Real-User Performance Measurement
- SCTP, delivering data with, Delivering application data with SCTP–Delivering application data with SCTP
- secure, Encryption, Authentication, and Integrity
- sending data, Sending Application Data
- size, TLS Record Protocol
- web pages vs., Hypertext, Web Pages, and Web Applications–Hypertext, Web Pages, and Web Applications
- Web Audio API, Acquiring Audio and Video with getUserMedia
- web pages
- defined, Hypertext, Web Pages, and Web Applications
- HTTP documents vs., Hypertext, Web Pages, and Web Applications–Hypertext, Web Pages, and Web Applications
- web applications vs., Hypertext, Web Pages, and Web Applications–Hypertext, Web Pages, and Web Applications
- web performance, Primer on Web Performance–Browser Optimization
- bandwidth and, More Bandwidth Doesn’t Matter (Much)–More Bandwidth Doesn’t Matter (Much)
- browsers, optimizing for, Browser Optimization–Browser Optimization
- computing time and, Performance Pillars: Computing, Rendering, Networking–Latency as a Performance Bottleneck
- cost and, Speed, Performance, and Human Perception
- human perception of, Speed, Performance, and Human Perception–Speed, Performance, and Human Perception
- latency and, Latency as a Performance Bottleneck–Latency as a Performance Bottleneck
- measuring with synthetic/real-user data, Synthetic and Real-User Performance Measurement–Synthetic and Real-User Performance Measurement
- rendering and, Performance Pillars: Computing, Rendering, Networking–Latency as a Performance Bottleneck
- resource waterfall, Analyzing the Resource Waterfall
- resource waterfalls, Anatomy of a Modern Web Application–Analyzing the Resource Waterfall
- testing, Analyzing the Resource Waterfall
- web applications, anatomy of, Anatomy of a Modern Web Application–Analyzing the Resource Waterfall
- Web Real-Time Communication (see WebRTC)
- WebGL API, Acquiring Audio and Video with getUserMedia
- WebKit-based browsers, Data Efficiency and Compression
- WebPageTest website, Analyzing the Resource Waterfall
- WebRTC, Building Blocks of UDP, WebRTC
- audio/video engines and, Audio and Video Engines–Acquiring Audio and Video with getUserMedia
- audio/video streams with, Audio, Video, and Data Streaming–Audio, Video, and Data Streaming
- audio/video streams, acquiring, Acquiring Audio and Video with getUserMedia–Acquiring Audio and Video with getUserMedia
- capacity planning and, Infrastructure and Capacity Planning–Infrastructure and Capacity Planning
- Chrome support for, WebRTC
- data compression, Data Efficiency and Compression
- data efficiency of, Data Efficiency and Compression
- DataChannel and, DataChannel–Partially Reliable Delivery and Message Size
- development of, Standards and Development of WebRTC
- DTLS and, Secure Communication with DTLS–Secure Communication with DTLS
- Firefox support for, WebRTC
- getUserMedia and, Acquiring Audio and Video with getUserMedia–Acquiring Audio and Video with getUserMedia
- infrastructure planning and, Infrastructure and Capacity Planning–Infrastructure and Capacity Planning
- initiating connections, Initiating a WebRTC connection–Initiating a WebRTC connection
- media data, delivering, Delivering Media and Application Data–Delivering application data with SCTP
- multi-party architectures and, Multiparty Architectures–Multiparty Architectures
- network transports for, Real-Time Network Transports–Brief Introduction to RTCPeerConnection API
- peer-to-peer connections, establishing, Establishing a Peer-to-Peer Connection
- protocol stack for, Real-Time Network Transports
- responding to connections, Responding to a WebRTC connection–Responding to a WebRTC connection
- RTCDataChannel requirements, Delivering application data with SCTP
- RTCPeerConnection API, Brief Introduction to RTCPeerConnection API–Brief Introduction to RTCPeerConnection API
- SCTP, delivering application data with, Delivering application data with SCTP–Delivering application data with SCTP
- secure communications, Secure Communication with DTLS–Secure Communication with DTLS
- SimpleWebRTC, Responding to a WebRTC connection
- SRCP, Delivering Media with SRTP and SRTCP–Delivering Media with SRTP and SRTCP
- SRTCP, Delivering Media with SRTP and SRTCP–Delivering Media with SRTP and SRTCP
- SRTCP, adapting to, Delivering Media with SRTP and SRTCP
- SRTP, adapting to, Delivering Media with SRTP and SRTCP
- STUN servers and, Infrastructure and Capacity Planning
- TURN protocol and, Infrastructure and Capacity Planning
- use cases for, WebRTC Use Cases and Performance–Data Efficiency and Compression
- WEBRTC (Web Real-Time Communications) API, Standards and Development of WebRTC
- webrtc.org (website), Audio and Video Engines
- WebSocket, Encryption, Authentication, and Integrity, Eliminate Periodic and Inefficient Data Transfers, Using Multiple TCP Connections, WebSocket
- API, WebSocket API–Subprotocol Negotiation
- Asterisk module for, Signaling and Session Negotiation
- binary transfers and, Custom Application Protocols
- client applications, Binary Framing Layer
- custom protocols via streaming, Custom Application Protocols–Custom Application Protocols
- data efficiency/compression with, Data Efficiency and Compression
- emulating, WebSocket API
- enabling extensions, Protocol Extensions
- EventSource API vs., WebSocket API
- frames, Binary Framing Layer
- headers, HTTP Upgrade Negotiation
- infrastructure, deploying, Deploying WebSocket Infrastructure–Deploying WebSocket Infrastructure
- intermediaries and, HTTP Upgrade Negotiation
- Key and Accept handshake, HTTP Upgrade Negotiation
- message format, Subprotocol Negotiation
- message overhead, Message Overhead
- messages, Binary Framing Layer
- multiplexing extension, Binary Framing Layer
- multiplexing in, Binary Framing Layer
- per-message compression extension, Data Efficiency and Compression
- performance measurements of, WebSocket Use Cases and Performance–Deploying WebSocket Infrastructure
- protocol, WebSocket Protocol
- proxies and, HTTP Upgrade Negotiation
- request/response streaming, Request and Response Streaming
- same origin policy and, HTTP Upgrade Negotiation
- server applications, Binary Framing Layer
- standards, WebSocket
- streaming data, Streaming Data with XHR, WebSocket Use Cases and Performance
- subprotocol negotiation API, Subprotocol Negotiation
- use cases, WebSocket Use Cases and Performance–Deploying WebSocket Infrastructure
- using TLS with, Deploying WebSocket Infrastructure
- wire protocol, WebSocket Protocol
- WebSocket API, WebSocket API–Subprotocol Negotiation
- binary data, receiving, Receiving Text and Binary Data–Receiving Text and Binary Data
- binary data, sending, Sending Text and Binary Data–Sending Text and Binary Data
- DataChannel API vs., DataChannel
- subprotocol negotiation, Subprotocol Negotiation–Subprotocol Negotiation
- text data, receiving, Receiving Text and Binary Data–Receiving Text and Binary Data
- text data, sending, Sending Text and Binary Data–Sending Text and Binary Data
- WS URL scheme, WS and WSS URL Schemes
- WSS URL scheme, WS and WSS URL Schemes
- WebSocket protocol, WebSocket Protocol
- API vs., Subprotocol Negotiation–Subprotocol Negotiation
- binary framing layer and, Binary Framing Layer–Binary Framing Layer
- extensions, Protocol Extensions
- head-of-line blocking, Binary Framing Layer–Binary Framing Layer
- HTTP upgrade negotiation, HTTP Upgrade Negotiation–HTTP Upgrade Negotiation
- in the wild, Protocol Extensions–HTTP Upgrade Negotiation
- multiplexing, Binary Framing Layer–Binary Framing Layer
- multiplexing, in the wild, Protocol Extensions–HTTP Upgrade Negotiation
- Wi-Fi Alliance, WiFi
- Wi-Fi Multimedia (WMM) extension, Measuring and Optimizing WiFi Performance
- Wi-Fi Multimedia (WMM) standard, Radio Resource Controller (RRC)
- Wi-Fi networks, Ubiquitous Connectivity, WiFi–Adapt to Variable Latency
- 4G wireless performance vs., Building for the Multigeneration Future
- access points, Radio Resource Controller (RRC)
- bandwidth bottlenecks and, Leverage Unmetered Bandwidth
- Ethernet vs., From Ethernet to a Wireless LAN–From Ethernet to a Wireless LAN
- features of, WiFi Standards and Features–WiFi Standards and Features
- first-hop latency, Measuring and Optimizing WiFi Performance
- history, WiFi Standards and Features
- improve performance of, Measuring and Optimizing WiFi Performance
- mobile network applications and, Offload to WiFi Networks
- optimizations for, Optimizing for WiFi Networks–Adapt to Variable Latency
- packet loss on, Packet Loss in WiFi Networks–Packet Loss in WiFi Networks
- performance of, increase, WiFi Standards and Features
- performance of, measuring, Measuring and Optimizing WiFi Performance–Packet Loss in WiFi Networks
- Quality of Service (QoS), Measuring and Optimizing WiFi Performance
- radio power requirements and, 3G, 4G, and WiFi Power Requirements–3G, 4G, and WiFi Power Requirements
- real-world performance, measuring, Real-World 3G, 4G, and WiFi Performance–Real-World 3G, 4G, and WiFi Performance
- standards for, WiFi Standards and Features–WiFi Standards and Features
- TCP packet loss and, Packet Loss in WiFi Networks
- unmetered bandwidth and, Leverage Unmetered Bandwidth–Leverage Unmetered Bandwidth
- unstable, From Ethernet to a Wireless LAN
- variable bandwidth, adapting to, Adapt to Variable Bandwidth–Adapt to Variable Bandwidth
- variable latency, adapting to, Adapt to Variable Latency
- WMM extension, Measuring and Optimizing WiFi Performance–Packet Loss in WiFi Networks
- Wi-Fi offloading, Leverage Unmetered Bandwidth
- Wi-Fi transmissions, scheduling, Packet Loss in WiFi Networks
- Wide Are Network (WAN), Types of Wireless Networks
- WiMax, Ubiquitous Connectivity
- window scaling, Flow Control
- on Linux, Flow Control
- window size negotiation, Bandwidth-Delay Product
- wired applications, Ubiquitous Connectivity
- wireless data services, demand for, 3GPP and 3GPP2 Partnerships
- wireless extensions, providing, WiFi
- Wireless LAN (WLAN), From Ethernet to a Wireless LAN
- wireless latencies, Latency as a Performance Bottleneck
- wireless networks, Ubiquitous Connectivity–Measuring Real-World Wireless Performance
- bandwidth for, Bandwidth–Bandwidth
- communication over, Optimizing Physical and Transport Layers
- constraints, Performance Fundamentals of Wireless Networks
- limitations, Performance Fundamentals of Wireless Networks, Signal Power
- Local Area Network (LAN), Types of Wireless Networks
- managing capacity, Heterogeneous Networks (HetNets)
- Metropolitan Area Network (MAN), Types of Wireless Networks
- mobile networks, Mobile Networks–Real-World 3G, 4G, and WiFi Performance
- modeling capacity, Heterogeneous Networks (HetNets)
- modulation of, Modulation–Modulation
- performance, Performance Fundamentals of Wireless Networks–Modulation
- Personal Area Network (PAN), Types of Wireless Networks
- real-world performance, measuring, Measuring Real-World Wireless Performance–Measuring Real-World Wireless Performance
- signal power, Signal Power–Signal Power
- types of, Types of Wireless Networks–Types of Wireless Networks
- Wi-Fi, WiFi–Adapt to Variable Latency
- Wide Area Network (WAN), Types of Wireless Networks
- wireless standards, From Ethernet to a Wireless LAN
- evolution of, Building for the Multigeneration Future
- wireless technologies, Ubiquitous Connectivity
- perfromance criteria, Ubiquitous Connectivity
- principles, Ubiquitous Connectivity
- tradeoffs, Ubiquitous Connectivity
- worldwide cellular connections, Mobile Networks
- worldwide spectrum allocation, Bandwidth
- worldwide spectrum regulation, Bandwidth
- WS URL scheme, WS and WSS URL Schemes
- WSS URL scheme, WS and WSS URL Schemes
X
- XHR polling
- Facebook Chat via, Long-Polling with XHR
- modeling performance of, Polling with XHR
- XHR streaming, Server-Sent Events (SSE)
- custom headers, Cross-Origin Resource Sharing (CORS)
- data types, Downloading Data with XHR
- efficiency of, Streaming Data with XHR
- extensions for, Streaming Data with XHR
- full analysis of, XMLHttpRequest
- Mozilla and, Brief History of XHR
- proprietary APIs for, Streaming Data with XHR
- same-origin policy, Cross-Origin Resource Sharing (CORS)
- XHR, request streaming and, Uploading Data with XHR
- XMLHttpRequest (XHR), XMLHttpRequest–XHR Use Cases and Performance
- CORS and, Cross-Origin Resource Sharing (CORS)–Cross-Origin Resource Sharing (CORS)
- development of, Brief History of XHR–Brief History of XHR
- downloading data with, Downloading Data with XHR–Downloading Data with XHR
- long-polling, Long-Polling with XHR–Long-Polling with XHR
- monitoring uploads/downloads, Monitoring Download and Upload Progress–Monitoring Download and Upload Progress
- notifications/delivery, real time, Real-Time Notifications and Delivery–Long-Polling with XHR
- performance measurements for, XHR Use Cases and Performance
- polling and, Polling with XHR–Polling with XHR
- streaming data with, Streaming Data with XHR–Streaming Data with XHR
- uploading data with, Uploading Data with XHR–Uploading Data with XHR
- use cases for, XHR Use Cases and Performance