Skip to content

Commit

Permalink
Merge branch 'main' into patch-1
Browse files Browse the repository at this point in the history
  • Loading branch information
wbamberg authored Oct 21, 2023
2 parents 1bc7236 + f3a30ac commit 7123b32
Show file tree
Hide file tree
Showing 772 changed files with 10,350 additions and 5,583 deletions.
1 change: 1 addition & 0 deletions .vscode/project-words.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ hulki
i'gyu
Kazotetsu
Letorey
mathml
mdnplay
menclose
mfenced
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ If you are comfortable working with git and GitHub, you can skip ahead to [Contr
If you've created a new GitHub account and want to know what to do next, you can choose one of the following ways to manage changes:

- [GitHub UI](https://docs.github.com/en/repositories/working-with-files/managing-files) -
This is the easiest way to contribute **small changes** described in [Simple changes](#simple_changes).
This is the easiest way to contribute **small changes** described in [Simple changes](#simple-changes).
- [GitHub Desktop](https://docs.github.com/en/get-started/using-github/github-desktop) - A desktop app for managing interaction with GitHub.
- [GitHub CLI](https://docs.github.com/en/github-cli/github-cli/about-github-cli) - A command-line wrapper for interacting with GitHub.
- [`git`](https://git-scm.com/downloads) - You can use `git` from the command line to interact with GitHub.
Expand Down Expand Up @@ -339,7 +339,7 @@ Say you want to delete the entire `/en-US/Learn/Accessibility` tree and redirect
### Redirecting a document
If you are [moving a document](#moving-one-or-more-documents) as shown above you don't need to create a redirect.
If you are [moving a document](#moving-documents) as shown above you don't need to create a redirect.
However, you may need to do so when fixing a broken link or after [deleting a document](#deleting-a-document) without the `--redirect` flag.
You may do this by using the `yarn content add-redirect` command.
Expand Down
17 changes: 11 additions & 6 deletions files/en-us/_redirects.txt
Original file line number Diff line number Diff line change
Expand Up @@ -464,7 +464,7 @@
/en-US/docs/CSS/@page /en-US/docs/Web/CSS/@page
/en-US/docs/CSS/@page_rule /en-US/docs/Web/CSS/@page
/en-US/docs/CSS/@supports /en-US/docs/Web/CSS/@supports
/en-US/docs/CSS/Adjacent_sibling_selectors /en-US/docs/Web/CSS/Adjacent_sibling_combinator
/en-US/docs/CSS/Adjacent_sibling_selectors /en-US/docs/Web/CSS/Next-sibling_combinator
/en-US/docs/CSS/Alias /en-US/docs/Web/CSS/cursor
/en-US/docs/CSS/Alternative_style_sheets /en-US/docs/Web/CSS/Alternative_style_sheets
/en-US/docs/CSS/At-rule /en-US/docs/Web/CSS/At-rule
Expand Down Expand Up @@ -499,7 +499,7 @@
/en-US/docs/CSS/Flexbox-redirect-3 /en-US/docs/Web/CSS/CSS_flexible_box_layout/Basic_concepts_of_flexbox
/en-US/docs/CSS/Flexible_boxes /en-US/docs/Web/CSS/CSS_flexible_box_layout/Basic_concepts_of_flexbox
/en-US/docs/CSS/Flexible_boxes-redirect-1 /en-US/docs/Web/CSS/CSS_flexible_box_layout/Basic_concepts_of_flexbox
/en-US/docs/CSS/General_sibling_selectors /en-US/docs/Web/CSS/General_sibling_combinator
/en-US/docs/CSS/General_sibling_selectors /en-US/docs/Web/CSS/Subsequent-sibling_combinator
/en-US/docs/CSS/Getting_Started /en-US/docs/Learn/CSS/First_steps
/en-US/docs/CSS/Getting_Started/Boxes /en-US/docs/Learn/CSS/Building_blocks
/en-US/docs/CSS/Getting_Started/Cascading_and_inheritance /en-US/docs/Learn/CSS/Building_blocks/Cascade_and_inheritance
Expand Down Expand Up @@ -953,7 +953,7 @@
/en-US/docs/CSS:@font-face /en-US/docs/Web/CSS/@font-face
/en-US/docs/CSS:@import /en-US/docs/Web/CSS/@import
/en-US/docs/CSS:@media /en-US/docs/Web/CSS/@media
/en-US/docs/CSS:Adjacent_sibling_selectors /en-US/docs/Web/CSS/Adjacent_sibling_combinator
/en-US/docs/CSS:Adjacent_sibling_selectors /en-US/docs/Web/CSS/Next-sibling_combinator
/en-US/docs/CSS:Attribute_selectors /en-US/docs/Web/CSS/Attribute_selectors
/en-US/docs/CSS:Aural /en-US/docs/Web/CSS/@media/aural
/en-US/docs/CSS:Child_selectors /en-US/docs/Web/CSS/Child_combinator
Expand Down Expand Up @@ -7777,6 +7777,7 @@
/en-US/docs/Web/API/CanvasRenderingContext2D/mozImageSmoothingEnabled /en-US/docs/Web/API/CanvasRenderingContext2D/imageSmoothingEnabled
/en-US/docs/Web/API/CanvasRenderingContext2D/mozTextStyle /en-US/docs/Web/API/CanvasRenderingContext2D/font
/en-US/docs/Web/API/Canvas_API/Drawing_graphics_with_canvas /en-US/docs/Web/API/Canvas_API/Tutorial
/en-US/docs/Web/API/Canvas_API/Tutorial/Compositing/Example /en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation
/en-US/docs/Web/API/CharacterData.previousElementSibling /en-US/docs/Web/API/CharacterData/previousElementSibling
/en-US/docs/Web/API/ChildNode.nextElementSibling /en-US/docs/Web/API/Element/nextElementSibling
/en-US/docs/Web/API/ChildNode.remove /en-US/docs/Web/API/Element/remove
Expand Down Expand Up @@ -9464,6 +9465,7 @@
/en-US/docs/Web/API/RTCOfferAnswerOptions/voiceActivityDetection /en-US/docs/Web/API/RTCPeerConnection/createAnswer
/en-US/docs/Web/API/RTCOfferOptions /en-US/docs/Web/API/RTCPeerConnection/createOffer
/en-US/docs/Web/API/RTCOfferOptions/iceRestart /en-US/docs/Web/API/RTCPeerConnection/createOffer
/en-US/docs/Web/API/RTCOutboundRtpStreamStats/lastPacketSentTimestamp /en-US/docs/Web/API/RTCOutboundRtpStreamStats
/en-US/docs/Web/API/RTCOutboundRtpStreamStats/perDscpPacketsReceived /en-US/docs/Web/API/RTCOutboundRtpStreamStats/perDscpPacketsSent
/en-US/docs/Web/API/RTCPeerConnection.addStream /en-US/docs/Web/API/RTCPeerConnection/addStream
/en-US/docs/Web/API/RTCPeerConnection.close /en-US/docs/Web/API/RTCPeerConnection/close
Expand Down Expand Up @@ -11313,7 +11315,8 @@
/en-US/docs/Web/CSS/@viewport/viewport-fit /en-US/docs/Web/CSS
/en-US/docs/Web/CSS/@viewport/width /en-US/docs/Web/CSS
/en-US/docs/Web/CSS/@viewport/zoom /en-US/docs/Web/CSS
/en-US/docs/Web/CSS/Adjacent_sibling_selectors /en-US/docs/Web/CSS/Adjacent_sibling_combinator
/en-US/docs/Web/CSS/Adjacent_sibling_combinator /en-US/docs/Web/CSS/Next-sibling_combinator
/en-US/docs/Web/CSS/Adjacent_sibling_selectors /en-US/docs/Web/CSS/Next-sibling_combinator
/en-US/docs/Web/CSS/Alias /en-US/docs/Web/CSS/cursor
/en-US/docs/Web/CSS/All_About_The_Containing_Block /en-US/docs/Web/CSS/Containing_block
/en-US/docs/Web/CSS/Aural /en-US/docs/Web/CSS/@media/aural
Expand Down Expand Up @@ -11438,7 +11441,8 @@
/en-US/docs/Web/CSS/Filter_Effects/Using_filter_effects /en-US/docs/Web/CSS/CSS_filter_effects/Using_filter_effects
/en-US/docs/Web/CSS/Filters_Effects /en-US/docs/Web/CSS/CSS_filter_effects
/en-US/docs/Web/CSS/Flexbox /en-US/docs/Web/CSS/CSS_flexible_box_layout/Basic_concepts_of_flexbox
/en-US/docs/Web/CSS/General_sibling_selectors /en-US/docs/Web/CSS/General_sibling_combinator
/en-US/docs/Web/CSS/General_sibling_combinator /en-US/docs/Web/CSS/Subsequent-sibling_combinator
/en-US/docs/Web/CSS/General_sibling_selectors /en-US/docs/Web/CSS/Subsequent-sibling_combinator
/en-US/docs/Web/CSS/Grouping_selectors /en-US/docs/Web/CSS/Selector_list
/en-US/docs/Web/CSS/Interactive /en-US/docs/Web/CSS/@media
/en-US/docs/Web/CSS/Layout_cookbook/Recipe:_Media_Objects /en-US/docs/Web/CSS/Layout_cookbook/Media_objects
Expand Down Expand Up @@ -12031,7 +12035,7 @@
/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Basic_animations /en-US/docs/Web/API/Canvas_API/Tutorial/Basic_animations
/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Basic_usage /en-US/docs/Web/API/Canvas_API/Tutorial/Basic_usage
/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Compositing /en-US/docs/Web/API/Canvas_API/Tutorial/Compositing
/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Compositing/Example /en-US/docs/Web/API/Canvas_API/Tutorial/Compositing/Example
/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Compositing/Example /en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation
/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Drawing_shapes /en-US/docs/Web/API/Canvas_API/Tutorial/Drawing_shapes
/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Optimizing_canvas /en-US/docs/Web/API/Canvas_API/Tutorial/Optimizing_canvas
/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Pixel_manipulation_with_canvas /en-US/docs/Web/API/Canvas_API/Tutorial/Pixel_manipulation_with_canvas
Expand Down Expand Up @@ -12678,6 +12682,7 @@
/en-US/docs/Web/MathML/Element/mprescripts /en-US/docs/Web/MathML/Element/mmultiscripts
/en-US/docs/Web/MathML/Element/none /en-US/docs/Web/MathML/Element/mmultiscripts
/en-US/docs/Web/MathML/Fonts/Test /en-US/docs/Web/MathML/Fonts
/en-US/docs/Web/MathML/Global_attributes/mathvariant /en-US/docs/Web/MathML/Element/mi#mathvariant
/en-US/docs/Web/MathML/Index /en-US/docs/Web/MathML
/en-US/docs/Web/Media/Formats/Guide_to_codecs_for_audio_on_the_web /en-US/docs/Web/Media/Formats/Audio_codecs
/en-US/docs/Web/Media/images/aspect_ratio_mapping /en-US/docs/Learn/Performance/Multimedia
Expand Down
118 changes: 55 additions & 63 deletions files/en-us/_wikihistory.json
Original file line number Diff line number Diff line change
Expand Up @@ -24687,10 +24687,6 @@
"trevorh"
]
},
"Web/API/Canvas_API/Tutorial/Compositing/Example": {
"modified": "2019-03-23T23:28:23.382Z",
"contributors": ["brttd", "beaugunderson", "jpmedley", "fscholz", "Sheppy"]
},
"Web/API/Canvas_API/Tutorial/Drawing_shapes": {
"modified": "2020-08-05T11:19:13.950Z",
"contributors": [
Expand Down Expand Up @@ -54608,10 +54604,6 @@
"modified": "2020-10-15T22:17:15.823Z",
"contributors": ["Sheppy"]
},
"Web/API/RTCOutboundRtpStreamStats/lastPacketSentTimestamp": {
"modified": "2020-10-15T22:17:16.317Z",
"contributors": ["Sheppy"]
},
"Web/API/RTCOutboundRtpStreamStats/nackCount": {
"modified": "2020-10-15T22:17:14.809Z",
"contributors": ["Sheppy"]
Expand Down Expand Up @@ -76818,36 +76810,6 @@
"webinista"
]
},
"Web/CSS/Adjacent_sibling_combinator": {
"modified": "2020-10-15T21:03:44.777Z",
"contributors": [
"wbamberg",
"cariad",
"mfuji09",
"ExE-Boss",
"fscholz",
"mfluehr",
"KadirTopal",
"erikadoyle",
"jsx",
"Jezer",
"cvrebert",
"Sebastianz",
"teoli",
"jlanus",
"zacharytamas",
"motoxer4533",
"khs",
"FredB",
"Sheppy",
"dhar",
"tregagnon",
"tw2113",
"BYK",
"miken32",
"Wjjohnst"
]
},
"Web/CSS/Alternative_style_sheets": {
"modified": "2020-10-15T21:15:55.661Z",
"contributors": [
Expand Down Expand Up @@ -78959,31 +78921,6 @@
"Wjjohnst"
]
},
"Web/CSS/General_sibling_combinator": {
"modified": "2020-10-15T21:04:16.746Z",
"contributors": [
"nko6",
"wbamberg",
"mfuji09",
"ExE-Boss",
"fscholz",
"mfluehr",
"Sheppy",
"erikadoyle",
"mikelew42",
"cvrebert",
"MusikAnimal",
"Sebastianz",
"DanSorahan",
"SphinxKnight",
"FredB",
"teoli",
"ethertank",
"tiffon",
"dhar",
"miken32"
]
},
"Web/CSS/ID_selectors": {
"modified": "2020-12-14T11:20:33.993Z",
"contributors": [
Expand Down Expand Up @@ -79180,6 +79117,36 @@
"GT"
]
},
"Web/CSS/Next-sibling_combinator": {
"modified": "2020-10-15T21:03:44.777Z",
"contributors": [
"wbamberg",
"cariad",
"mfuji09",
"ExE-Boss",
"fscholz",
"mfluehr",
"KadirTopal",
"erikadoyle",
"jsx",
"Jezer",
"cvrebert",
"Sebastianz",
"teoli",
"jlanus",
"zacharytamas",
"motoxer4533",
"khs",
"FredB",
"Sheppy",
"dhar",
"tregagnon",
"tw2113",
"BYK",
"miken32",
"Wjjohnst"
]
},
"Web/CSS/Privacy_and_the_:visited_selector": {
"modified": "2020-05-05T20:20:41.094Z",
"contributors": [
Expand Down Expand Up @@ -79479,6 +79446,31 @@
"jwalker"
]
},
"Web/CSS/Subsequent-sibling_combinator": {
"modified": "2020-10-15T21:04:16.746Z",
"contributors": [
"nko6",
"wbamberg",
"mfuji09",
"ExE-Boss",
"fscholz",
"mfluehr",
"Sheppy",
"erikadoyle",
"mikelew42",
"cvrebert",
"MusikAnimal",
"Sebastianz",
"DanSorahan",
"SphinxKnight",
"FredB",
"teoli",
"ethertank",
"tiffon",
"dhar",
"miken32"
]
},
"Web/CSS/Syntax": {
"modified": "2020-07-07T12:39:09.357Z",
"contributors": [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ page-type: guide

{{NextMenu("Games/Techniques/Control_mechanisms/Desktop_with_mouse_and_keyboard", "Games/Techniques/Control_mechanisms")}}

The future of mobile gaming is definitely web, and many developers choose the [mobile first](/en-US/docs/Web/Apps/Mobile_First) approach in their game development process — in the modern world, this generally also involves implementing touch controls. In this tutorial, we will see how easy it is to implement mobile controls in an HTML game, and enjoy playing on a mobile touch-enabled device.
The future of mobile gaming is definitely web, and many developers choose the [mobile first](/en-US/docs/Glossary/Mobile_First) approach in their game development process — in the modern world, this generally also involves implementing touch controls. In this tutorial, we will see how easy it is to implement mobile controls in an HTML game, and enjoy playing on a mobile touch-enabled device.

> **Note:** The game [Captain Rogers: Battle at Andromeda](https://rogers2.enclavegames.com/demo/) is built with Phaser and managing the controls is Phaser-based, but it could also be done in pure JavaScript. The good thing about using Phaser is that it offers helper variables and functions for easier and faster development, but it's entirely up to you which approach you to choose.
Expand Down
2 changes: 2 additions & 0 deletions files/en-us/glossary/accessible_name/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ slug: Glossary/Accessible_name
page-type: glossary-definition
---

{{GlossarySidebar}}

An **accessible name** is the name of a user interface element; it is the text associated with an HTML element that provides users of assistive technology with a label for the element.

Accessible names convey the purpose or intent of the element. This helps users understand what the element is for and how they can interact with it. In general, accessible names for elements should be unique to a page. This helps users distinguish an element from other elements and helps users identify the element they want to interact with.
Expand Down
2 changes: 1 addition & 1 deletion files/en-us/glossary/base64/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ function base64ToBytes(base64) {
}

function bytesToBase64(bytes) {
const binString = Array.from(bytes, (x) => String.fromCodePoint(x)).join("");
const binString = String.fromCodePoint(...bytes);
return btoa(binString);
}

Expand Down
2 changes: 2 additions & 0 deletions files/en-us/glossary/binding/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ slug: Glossary/Binding
page-type: glossary-definition
---

{{GlossarySidebar}}

In programming, a **binding** is an association of an {{glossary("identifier")}} with a value. Not all bindings are {{glossary("variable", "variables")}} — for example, function {{glossary("parameter", "parameters")}} and the binding created by the {{jsxref("Statements/try...catch", "catch (e)")}} block are not "variables" in the strict sense. In addition, some bindings are implicitly created by the language — for example, {{jsxref("Operators/this", "this")}} and [`new.target`](/en-US/docs/Web/JavaScript/Reference/Operators/new.target) in JavaScript.

A binding is {{glossary("mutable")}} if it can be re-assigned, and {{glossary("immutable")}} otherwise; this does _not_ mean that the value it holds is immutable.
Expand Down
2 changes: 1 addition & 1 deletion files/en-us/glossary/certificate_authority/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ A certificate authority (CA) is an organization that {{Glossary("Signature/Secur

For a website digital certificate, this information minimally includes the name of the organization that requested the digital certificate (e.g., Mozilla Corporation), the site that it is for (e.g., mozilla.org), and the certificate authority.

Certificate authorities are the part of the Internet [public key infrastructure](https://en.wikipedia.org/wiki/Public_key_infrastructure) that allows browsers to verify website identity and securely connect over SSL (and HTTPS).
Certificate authorities are the part of the Internet [public key infrastructure](https://en.wikipedia.org/wiki/Public_key_infrastructure) that allows browsers to verify website identity and securely connect over TLS (thus HTTPS).

> **Note:** Web browsers come preloaded with a list of "root certificates". The browser can use these to reliably check that the website certificate was signed by a certificate authority that "chains back" to the root certificate (i.e. was trusted by the owner of the root certificate or an intermediate CA). Ultimately this process relies on every CA performing adequate identity checks before signing a certificate!
Expand Down
6 changes: 3 additions & 3 deletions files/en-us/glossary/code_splitting/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ page-type: glossary-definition

{{GlossarySidebar}}

**Code splitting** is the splitting of code into various bundles or components which can then be loaded on demand or in parallel.

As an application grows in complexity or is maintained, CSS and JavaScripts files or bundles grow in byte size, especially as the number and size of included third-party libraries increases. To prevent the requirement of downloading ginormous files, scripts can be split into multiple smaller files. Then features required at page load can be downloaded immediately with additional scripts being [lazy loaded](/en-US/docs/Glossary/Lazy_load) after the page or application is interactive, thus improving performance. While the total amount of code is the same (and perhaps even a few bytes larger), the amount of code needed during initial load can be reduced.
**Code splitting** is the practice of splitting the code a web application depends on — including its own code and any third-party dependencies — into separate bundles that can be loaded independently of each other.
This allows an application to load only the code it actually needs at a given point in time, and load other bundles on demand.
This approach is used to improve application performance, especially on initial load.

Code splitting is a feature supported by bundlers like [Webpack](https://webpack.js.org/) and [Browserify](https://browserify.org/) which can create multiple bundles that can be dynamically loaded at runtime.

Expand Down
4 changes: 2 additions & 2 deletions files/en-us/glossary/css_selector/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,8 @@ The resulting page content is styled like this:

- Combinators

- [Adjacent sibling selectors](/en-US/docs/Web/CSS/Adjacent_sibling_combinator) `A + B`
- [General sibling selectors](/en-US/docs/Web/CSS/General_sibling_combinator) `A ~ B`
- [Next-sibling selectors](/en-US/docs/Web/CSS/Next-sibling_combinator) `A + B`
- [Subsequent-sibling selectors](/en-US/docs/Web/CSS/Subsequent-sibling_combinator) `A ~ B`
- [Child selectors](/en-US/docs/Web/CSS/Child_combinator) `A > B`
- [Descendant selectors](/en-US/docs/Web/CSS/Descendant_combinator) `A B`

Expand Down
2 changes: 1 addition & 1 deletion files/en-us/glossary/function/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ const loop2 = (x) => {
};
```

An **Immediately Invoked Function Expressions** ({{glossary("IIFE")}}) is a function that is called directly after the function is loaded into the browser's compiler. The way to identify an IIFE is by locating the extra left and right parenthesis at the end of the function's definition.
An **Immediately Invoked Function Expression** ({{glossary("IIFE")}}) is a function that is called directly after the function is loaded into the browser's compiler. The way to identify an IIFE is by locating the extra left and right parenthesis at the end of the function's definition.

Function expressions, named or anonymous, can be called immediately.

Expand Down
4 changes: 2 additions & 2 deletions files/en-us/glossary/https/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ page-type: glossary-definition

{{GlossarySidebar}}

**HTTPS** (**_HyperText Transfer Protocol Secure_**) is an encrypted version of the {{Glossary("HTTP")}} protocol. It uses {{Glossary("SSL")}} or {{Glossary("TLS")}} to encrypt all communication between a client and a server. This secure connection allows clients to safely exchange sensitive data with a server, such as when performing banking activities or online shopping.
**HTTPS** (**_HyperText Transfer Protocol Secure_**) is an encrypted version of the {{Glossary("HTTP")}} protocol. It uses {{Glossary("TLS")}} to encrypt all communication between a client and a server. This secure connection allows clients to safely exchange sensitive data with a server, such as when performing banking activities or online shopping.

## See also

Expand All @@ -16,5 +16,5 @@ page-type: glossary-definition
- [MDN Web Docs Glossary](/en-US/docs/Glossary)

- {{glossary("HTTP")}}
- {{glossary("SSL")}}
- {{glossary("TLS")}}
- {{glossary("SSL")}}
1 change: 0 additions & 1 deletion files/en-us/glossary/https_rr/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,4 @@ Further, the presence of an _HTTPS RR_ signals that all useful {{Glossary("HTTP"

- [Service binding and parameter specification via the DNS (DNS SVCB and HTTPS RRs)](https://datatracker.ietf.org/doc/draft-ietf-dnsop-svcb-https/00/) (Draft IETF specification: draft-ietf-dnsop-svcb-https-00)
- [Strict Transport Security vs. HTTPS Resource Records: the showdown](https://emilymstark.com/2020/10/24/strict-transport-security-vs-https-resource-records-the-showdown.html) (Emily M. Stark blog)
- {{glossary("SSL")}}
- {{glossary("TLS")}}
Loading

0 comments on commit 7123b32

Please sign in to comment.