ReferrerPolicy

Enum ReferrerPolicy 

Source
pub enum ReferrerPolicy {
    NoReferrer,
    NoReferrerWhenDowngrade,
    Origin,
    OriginWhenCrossOrigin,
    SameOrigin,
    StrictOrigin,
    StrictOriginWhenCrossOrigin,
    UnsafeUrl,
}
Expand description

The referrerpolicy attribute values.

§Purpose

Controls how much referrer information is sent with requests, enabling privacy control over what information is shared with linked resources.

§Usage Context

  • Used with: <a>, <area>, <img>, <iframe>, <link>, <script> elements
  • Privacy: Determines what URL information is sent in the Referer header
  • Security: Prevents leaking sensitive URLs to third parties

§Valid Values

  • NoReferrer: Never send referrer information
  • NoReferrerWhenDowngrade: Send referrer only on same security level
  • Origin: Send only the origin (scheme, host, port)
  • OriginWhenCrossOrigin: Send full URL for same-origin, origin for cross-origin
  • SameOrigin: Send referrer only for same-origin requests
  • StrictOrigin: Send origin, but not when downgrading HTTPS→HTTP
  • StrictOriginWhenCrossOrigin: Full URL same-origin, origin cross-origin, none on downgrade
  • UnsafeUrl: Always send the full URL (not recommended)

§Example

use ironhtml_attributes::{AttributeValue, ReferrerPolicy};
let policy = ReferrerPolicy::NoReferrer;
assert_eq!(policy.to_attr_value(), "no-referrer");
<a href="https://example.com" referrerpolicy="no-referrer">Private Link</a>
<img src="https://example.com/img.jpg" referrerpolicy="origin">
<iframe src="https://example.com" referrerpolicy="strict-origin-when-cross-origin"></iframe>

§WHATWG Specification

Variants§

§

NoReferrer

Never send referrer information. Maximum privacy.

§

NoReferrerWhenDowngrade

Send referrer only when not downgrading from HTTPS to HTTP. This is often the browser default.

§

Origin

Send only the origin (no path or query string).

§

OriginWhenCrossOrigin

Send full URL for same-origin requests, only origin for cross-origin.

§

SameOrigin

Send referrer only for same-origin requests, nothing for cross-origin.

§

StrictOrigin

Send only origin, and not when downgrading from HTTPS to HTTP.

§

StrictOriginWhenCrossOrigin

Send full URL for same-origin, origin for cross-origin, nothing when downgrading. Recommended for most use cases.

§

UnsafeUrl

Always send the full URL as referrer. Not recommended due to privacy and security concerns.

Trait Implementations§

Source§

impl AttributeValue for ReferrerPolicy

Source§

fn to_attr_value(&self) -> Cow<'static, str>

Convert to the attribute value string.
Source§

impl Clone for ReferrerPolicy

Source§

fn clone(&self) -> ReferrerPolicy

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ReferrerPolicy

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for ReferrerPolicy

Source§

fn eq(&self, other: &ReferrerPolicy) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for ReferrerPolicy

Source§

impl Eq for ReferrerPolicy

Source§

impl StructuralPartialEq for ReferrerPolicy

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.