[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Type](https://evolu.dev/docs/api-reference/common/Type) › HttpUrl

```ts
const HttpUrl: brand(
  "HttpUrl",
  Url,
  (value: string) =>
    isHttpUrl(value) ? ok() : err<HttpUrlError>({ type: "HttpUrl", value }),
  formatHttpUrlError,
);
```

Defined in: [packages/common/src/Type.ts:9817](https://github.com/evoluhq/evolu/blob/aa223771feea747ffb1b0f5f3271574455633e37/packages/common/src/Type.ts#L9817)

[Url](https://evolu.dev/docs/api-reference/common/Type/variables/Url) with the `http:` or `https:` scheme, such as a link to a web page.

Use it for links, because Url also accepts schemes such as `javascript:`,
whose links run code when followed. Evolu does not validate the values other
devices write, and anyone who can write to an owner, such as a collaborator,
can store any string, so transform a link read from the database with
[HttpUrlFromString](https://evolu.dev/docs/api-reference/common/Type/variables/HttpUrlFromString) before rendering or opening it. Like Url, HttpUrl
does not normalize; use HttpUrlFromString to convert other spellings.

### Example

```ts
import { assertErr, assertOk, HttpUrl } from "@evolu/common";

assertOk(HttpUrl.fromUnknown("https://example.com/"), "https://example.com/");

assertErr(HttpUrl.fromUnknown("javascript:alert(1)"), {
  type: "HttpUrl",
  value: "javascript:alert(1)",
});
```