---
title: WebResourceLoadDelegate
framework: webkit
role: symbol
role_heading: Protocol
path: webkit/webresourceloaddelegate
---

# WebResourceLoadDelegate

Web view resource load delegates implement this protocol to be notified on the progress of loading individual resources. Note that there can be hundreds of resources, such as images and other media, per page. So, if you just want to get page loading status see the WebFrameLoadDelegate protocol.

## Declaration

```swift
protocol WebResourceLoadDelegate : NSObjectProtocol
```

## Overview

Overview There’s a separate client request and server response made for each resource on a page. By implementing the webView(_:identifierForInitialRequest:from:) method, resource load delegates provide a tracking object used to identify individual resources in subsequent calls to delegate methods. Delegates are then notified when resource loading starts, when data is incrementally received, when any load errors occur, and when the load is complete. Delegates may also change a request before it is sent. In some cases, depending on the page content and server redirects, methods defined in this protocol may be invoked multiple times (see individual method descriptions for more details). All the methods in this protocol are optional.

## Topics

### Setting Identifiers

- [webView(_:identifierForInitialRequest:from:)](webkit/webresourceloaddelegate/webview(_:identifierforinitialrequest:from:).md)

### Loading Content

- [webView(_:resource:willSend:redirectResponse:from:)](webkit/webresourceloaddelegate/webview(_:resource:willsend:redirectresponse:from:).md)
- [webView(_:resource:didFinishLoadingFrom:)](webkit/webresourceloaddelegate/webview(_:resource:didfinishloadingfrom:).md)
- [webView(_:resource:didReceive:from:)](webkit/webresourceloaddelegate/webview(_:resource:didreceive:from:)-22bdg.md)
- [webView(_:resource:didReceiveContentLength:from:)](webkit/webresourceloaddelegate/webview(_:resource:didreceivecontentlength:from:).md)
- [webView(_:resource:didFailLoadingWithError:from:)](webkit/webresourceloaddelegate/webview(_:resource:didfailloadingwitherror:from:).md)
- [webView(_:plugInFailedWithError:dataSource:)](webkit/webresourceloaddelegate/webview(_:pluginfailedwitherror:datasource:).md)

### Authenticating Resources

- [webView(_:resource:didReceive:from:)](webkit/webresourceloaddelegate/webview(_:resource:didreceive:from:)-54xbd.md)
- [webView(_:resource:didCancel:from:)](webkit/webresourceloaddelegate/webview(_:resource:didcancel:from:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Loading Resources (Legacy)

- [WebResource](webkit/webresource.md)
