recursal/MDN huggingface dataset:
Encabezado de solicitud incluido en la lista segura de CORS
===========================================================

 Un encabezado de solicitud incluido en la lista segura de CORS
 es uno de los siguientes encabezados HTTP:

* `Accept`,
* `Accept-Language` (en-US),
* `Content-Language` (en-US),
* `Content-Type`.

 Cuando contenga solo estos encabezados (y valores que cumplan con los requisitos adicionales establecidos a continuación),
 una solicitud no necesita enviar una solicitud de verificación previa en el contexto de CORS.

 Puede incluir en la lista segura más encabezados usando el encabezado `Access-Control-Allow-Headers`
 y también enumerar los encabezados anteriores allí para eludir las siguientes restricciones adicionales:

#### Restricciones adicionales

 Los encabezados incluidos en la lista segura de CORS también deben cumplir los siguientes
 requisitos para ser un encabezado de solicitud valido:

* Para `Accept-Language` (en-US) y `Content-Language` (en-US):
 solo puede tener valores que constan de `0-9`, `A-Z`, `a-z`, espacio o `*,-.;=`.
* Para `Accept` y `Content-Type`:
 no puede contener un encabezado byte `_CORS-unsafe`: `0x00-0x1F` (excepto `0x09 (HT)`, que está permitido), `"():<>?@[\]{}`, y `0x7F (DEL)`.
* Para `Content-Type`: debe tener un tipo MIME de su valor analizado (ignorando los parámetros) de `application/x-www-form-urlencoded`, `multipart/form-data`, o `text/plain`.
* Para cualquier encabezado: la longitud del valor no puede ser superior a 128.
Véase también
-------------

* Nombre de encabezado prohibido
Hilo principal
==============

El hilo principal es donde un navegador procesa eventos y pinturas del usuario. De manera predeterminada, el navegador usa un solo hilo para ejecutar todo el JavaScript en su página, así como para realizar el diseño, los reflujos y la recolección de basura. Esto significa que las funciones de JavaScript de larga duración pueden bloquear el hilo, lo que lleva a una página que no responde y a una mala experiencia del usuario.

A menos que use intencionalmente un trabajador web, como un trabajador de servicio, JavaScript se ejecuta en el hilo principal, por lo que es fácil que un script provoque retrasos en el procesamiento o la pintura de eventos. Cuanto menos trabajo se requiera del hilo principal, más puede responder ese hilo a los eventos del usuario, pintar y, en general, responder al usuario.

Véase también
-------------

* Asynchronous JavaScript
* Web worker API
* Service worker API
* Glosario de MDN Web Docs
    + Thread (en-US)
SISD
====

SISD son las siglas de **Single Instruction/Single Data** la cual es una clasificación de arquitecturas. En las arquitecturas SISD, un único procesador ejecuta una única instrucción sobre un único punto de la memoria.

En contraposición SIMD es una arquitectura que permite realizar una operación sobre distintos puntos de memoria.

Learn more
----------

### General knowledge

* SISD on Wikipedia
Metadatos
=========

Los **metadatos** son, en su definición más simple, datos que describen otros datos. Por ejemplo, un documento HTML son datos, pero HTML también puede contener metadatos en su elemento `<head>` que describe el documento, como por ejemplo, quién lo escribió y su resumen.

Saber más
---------

### Conocimientos generales

* Metadatos en Wikipedia
### Metadatos HTML

* El elemento `<meta>` en MDN
Seguro
======

Un método HTTP es **seguro** cuando no altera el estado del servidor. En otras palabras, un método HTTP es seguro solo cuando ejecuta una operación de lectura. Todos los métodos seguros también son idempotent (en-US) así como algunos, pero no todos, métodos inseguros como `PUT`, o `DELETE`.

Incluso si los métodos seguros tienen una semántica de solo lectura, los servidores pueden alterar su estado: por ejemplo, pueden registrar o mantener estadísticas. Lo importante aquí es que al llamar a un método seguro, el cliente no solicita ningún cambio en el servidor y, por lo tanto, no creará una carga o carga innecesaria para el servidor. Los navegadores pueden llamar a métodos seguros sin temor a causar ningún daño al servidor: esto les permite realizar actividades como la búsqueda previa sin riesgos. Los rastreadores web también confían en llamar a métodos seguros.

Los métodos seguros no solo sirven archivos estáticos; un servidor puede generar una respuesta a un método seguro sobre la marcha, siempre que el script de generación garantice la seguridad: no debe desencadenar efectos externos, como desencadenar un pedido en un sitio web de comercio electrónico.

Es responsabilidad de la aplicación en el servidor implementar la semántica segura correctamente, el propio servidor web, ya sea Apache, nginx o IIS, no puede imponerlo por sí mismo. En particular, una aplicación no debe permitir que `GET` solicite alterar su estado.

Una petición de un método seguro, no cambia ningún estado en el servidor:
```

GET /pageX.html HTTP/1.1
```


Una petición de un método inseguro, puede cambiar el estado en el servidor:
```

POST /pageX.html HTTP/1.1
```


Una petición de un método idempotente pero no seguro:
```

DELETE /idX/delete HTTP/1.1
```

Vea también
-----------

### Conocimientos generales

* Definición de seguro en la especificación HTTP.
### Conocimientos técnicos

* Descripción de los metodos seguros: `GET`, `HEAD` (en-US), `OPTIONS` (en-US)
* Descripción de los métodos inseguros: `PUT`, `DELETE`, `POST`
JSON
====

**JSON (notación de objetos javascript)** es un formato de intercambio de datos. Es muy parecido a un subconjunto de sintaxis JavaScript, aunque no es un subconjunto en sentido estricto. (Ver JSON en la Referencia JavaScript para más detalles.) Aunque muchos lenguajes de programación lo soportan, JSON es especialmente útil al escribir cualquier tipo de aplicación basada en JavaScript, incluyendo sitios web y extensiones del navegador. Por ejemplo, es posible almacenar la información del usuario en formato JSON en una cookie o almacenar las preferencias de extensión en JSON en una cadena de valores de preferencias del navegador.

JSON es capaz de representar números, valores lógicos, cadenas, valores nulos, arreglos y matrices (secuencias ordenadas de valores) y objetos (mapas de cadena de valores) compuestos de estos valores (o de otras matrices y objetos). JSON no representa de manera nativa tipos de datos más complejos como funciones, expresiones regulares, fechas, y así sucesivamente (en objetos de fecha serializados por defecto como una cadena que contiene la fecha en formato ISO, al no hacerlo de ida y vuelta, la información no se pierde por completo). Si se necesita que JSON represente tipos de datos adicionales, se puede transformar los valores, ya que son serializados, o antes de su deserialización.

Más similar a XML, JSON tiene la capacidad de almacenar datos jerárquicos a diferencia del formato más tradicional CSV. Muchas herramientas proveen la "traducción" entre esos formatos tales como JSON to CSV Converter.
Dominio
=======

Un dominio es una autoridad dentro de internet que controla sus propios recursos. Su "nombre de dominio" es una forma de dirigirse a esta autoridad como parte de la jerarquía en una URL, que generalmente es la parte más significativa de la misma, por ejemplo, un nombre de marca.

Un nombre de dominio completo (FQDN, por sus siglas en inglés) contiene todas las partes necesarias para buscar esta autoridad por su nombre sin ambigüedades utilizando el sistema DNS (en-US) de Internet.

For example, in "developer.mozilla.org":

1. "org" es llamado un dominio de nivel superior. Están registrados como estándar de Internet por la entidad IANA . Aquí, "org" significa "organización" que se define en un *registro de dominio* de nivel superior.
2. "mozilla" es el dominio. Si quieres tener un dominio, debes registrarlo con uno de los muchos registradores que tienen permiso para hacerlo con un registro de dominios de nivel superior.
3. "developer" es un "subdominio", algo que usted mismo como propietario de un dominio puede definir usted mismo. Muchos propietarios eligen tener un subdominio "www" para que apunte a su recurso World\_Wide\_Web, pero eso no es necesario (e incluso ha caído en desgracia).
Saber más
---------

* Dominio de internet en Wikipedia
RGB
===

Red Green Blue (RGB) es un modelo de color que representa los colores como mezclas de tres componentes subyacentes (o canales), rojo, verde y azul. Cada color se describe mediante una secuencia de tres números (normalmente entre 0.0 y 1.0, o entre 0 y 255) que representan las diferentes intensidades (o contribuciones) de rojo, verde y azul para determinar el color final.

Hay muchas formas de describir los componentes RGB de un color. En CSS se pueden representar como un solo entero de 24 bits en notación hexadecimal (por ejemplo, `#ADD8E6` is azul claro), o en notación funcional como tres enteros de 8 bits separados (por ejemplo , rgb (46, 139, 87) es verde mar). En OpenGL (en-US), WebGL (en-US), y GLSL los componentes rojo-verde-azul son fracciones (números en coma flotante entre 0.0 y 1.0), aunque en el búfer de color real normalmente se almacenan como enteros de 8 bits. Gráficamente, un color se puede representar como un punto en una cuadrícula o cubo tridimensional, donde cada dimensión (o eje) corresponde a un canal diferente.

Saber más
---------

### Conocimientos generales

* Modelos de color RGB en Wikipedia
### Véase también

* CSS data type: <color>
UX
==

**UX** es un acrónimo de User eXperience. Es el estudio de la interacción entre usuarios y un sistema. Su objetivo es hacer que un sistema sea fácil de interactuar desde el punto de vista del usuario.

El sistema puede ser cualquier tipo de producto o aplicación con el que un usuario final deba interactuar. Los estudios de UX realizados en una página web, por ejemplo, pueden demostrar si es fácil para los usuarios entender la página, navegar a diferentes áreas y completar tareas comunes, y dónde dichos procesos podrían tener menos fricciones.

Saber más
---------

### Conocimiento general

* User experience on Wikipedia
HTML
====

HTML (Lenguaje de marcado de hipertexto o HyperText Markup Language por sus siglas en inglés) es un lenguaje descriptivo que especifica la estructura de las páginas web.

Breve historia
--------------

En 1990, como parte de su visión de la Web (art. en inglés), Tim Berners-Lee definió el concepto de hypertext (art. en inglés), el cual Berners-Lee formalizó el siguiente año a través de una marca principalmente basada en SGML (art. en inglés). El IETF (en-US) (art. en inglés) comenzó formalmente a especificar HTML en 1993, y después de varios borradores se liberó la version 2.0 en 1995. En 1994 Berners-Lee fundó el W3C (en-US) (art. en inglés) para desarrollar la Web. En 1996, el W3C asumió el control de los trabajos de HTML y publicó la recomendación HTML 3.2 un año más tarde. HTML 4.0 fue liberada en 1999 y se convirtió en estándar en el año 2000.

En ese momento, el W3C casi abandonó HTML en favor a XHTML, crear un grupo independiente llamado WHATWG (art. en inglés) en 2004. Gracias al WHATWG, el trabajo de HTML5 (art. en inglés) continuó: las dos organizaciones liberaron el primer borrador en 2008 y el estándar final en 2014.

Conceptos y sintaxis
--------------------

Un documento HTML es un documento de texto plano estructurado con elements (elementos en español) (art. en inglés). Los elementos están encerrados con parejas de tags (etiquetas en español) (art. en inglés) que realizan la apertura y el cierre . Cada etiqueta comienza y termina con paréntesis angulados (símbolos de menor que y mayor que (`<>`)). Existen unas pocas etiquetas vacías o nulas que no puede encerrar ningún texto, como por ejemplo `<img>` (art. en inglés).

Usted puede extender las etiquetas (tags) de HTML con attributes(atributos en español) (art. en inglés), las cuales proporcionan información adicional que afecta el modo como el navegador interpreta los elementos:

![](/es/docs/Glossary/HTML/anatomia-de-un-elemento-html.png)

Un archivo HTML es normalmente guardado con una extensión `.htm` o `.html`, es entregado por un web server (en-US) (servidor de internet) (art. en inglés), y puede ser interpretado por cualquier web browser (navegador de internet) (art. en inglés).

Aprenda más
-----------

### Cultura general

* HTML en Wikipedia
### Aprendiendo HTML

* Nuestro tutorial de HTML
* Curso web en codecademy.com (sitio en inglés)
### Referencia técnica

* La documentación de HTML en MDN
* La especificación de HTML (art. en inglés)
CSRF
====

**CSRF** (Cross-Site Request Forgery) es un ataque que falsifica una petición a un servidor web haciéndose pasar por un usuario de confianza. Esto se puede hacer, por ejemplo, incluyendo parámetros maliciosos en una URL después de un enlace que pretende redirigir a otro sitio.

Saber más
---------

### Conocimiento general

* Cross site request forgery en Wikipedia
* Medidas de prevención
* Tutorial de seguridad de MDN
Entidad
=======

Una **entidad** HTML es un conjunto de caracteres ("string") que comienza con un ampersand (`&`) y termina con un punto y coma (`;`) . Las entidades son utilizadas frecuentemente para imprimir en pantalla caracteres reservados (aquellos que serían interpretados como HTML por el navegador) o invisibles (cómo tabulaciones). También pueden usarse para representar caracteres que no existan en algunos teclados, por ejemplo caracterés con tilde o diéresis.

**Nota:** Muchos caracteres tienen entidades con nombres fáciles de recordar, como las vocales con tilde (`á`) es `&aacute;`, (`é`) es `&eacute;` y así sucesivamente. Otro ejempo es el simbolo de copyright, (`©`) representado por la entidad `&copy;`. Al lidiar con entidades menos representativas de los caracteres que representan, es de gran ayuda utilizar una tabla de referencia o un decodificador.

Caracteres Reservados
---------------------

Algunos caracteres son reservados para uso en HTML, es decir que no pueden utilizarse sin que el navegador los interprete como parte del código HTML. Por ejemplo, al utilizar el simbolo para "menor a" (`<`), el navegador interpretara cualquier texto que siga como parte de una etiqueta.

Para utilizar estos caracteres como texto, deben reemplazarse por la entidad que les corresponda, a saber:

| Caracter | Entitdad | Nota |
| --- | --- | --- |
| & | `&amp;` | Interpretado como el comienzo de una entidad HTML. |
| < | `&lt;` | Interpretado como la apertura de una etiqueta. |
| > | `&gt;` | Interpretado como el cierre de una etiqueta. |
| " | `&quot;` | Interpretado como apertura o cierre del valor de un atributo. |

Aprende más
-----------

### Referencia técnica

* Lista oficial de entidades HTML [en-US]
Arquitectura de la información
==============================

La arquitectura de la información, aplicada al diseño y desarrollo web, es la práctica de organizar la información, contenido y funcionalidad de un sitio web para que presente la mejor experiencia de usuario posible, con información y servicios fáciles de usar y encontrar.

Aprende más
-----------

### Conocimientos generales

* Arquitectura de la información en Wikipedia
Grid Row
========

Una **grid row** es una pista horizontal en un CSS Grid Layout, es el espacio entre dos líneas de cuadrícula horizontales. Se define por la propiedad `grid-template-rows` o con la propiedad shorthand `grid` o `grid-template` (en-US).

Además, se pueden crear filas en la *cuadrícula implícita* cuando los elementos se colocan fuera de las filas creadas en la *cuadrícula explícita*. Estas filas serán de tamaño automático por defecto, o pueden tener un tamaño especificado con la propiedad `grid-auto-rows`.

Cuando se trabaja con alineación en CSS Grid Layout, el eje por el que se ejecutan las filas se conoce como *eje en línea*, o *fila*.

Learn More
----------

### Property reference

* `grid-template-rows`
* `grid-auto-rows`
* `grid`
* `grid-template` (en-US)
### Further reading

* CSS Grid Layout Guide: *Basic concepts of grid layout*
XHTML
=====

**XHTML** es a XML como HTML es a SGML. Es decir, XHTML es un lenguaje de marcado que es similar al HTML, pero con un sintaxis más estricta. Dos versiones de XHTML han sido terminadas por el W3C:

* XHTML 1.0 es HTML4 reformulado como una aplicación XML, y es compatible con versiones anteriores de HTML en casos limitados.
* XHTML 1.1 es una versión modular de XHTML que no es compatible con versiones anteriores de HTML.
    + Para entender mejor la Modularidad en XHTML
* XHTML Básico Es una versión simplificada pensada para los nuevos dispositivos de acceso a internet, como telefonos, PDAs, y otros.

Actualmente se encuentra en desarrollo XHTML 2, con cambios significativos en el vocabulario de elementos. Para más información sobre XHTML, lea:

* Artículo sobre XHTML en la Wikipedia
### Herramientas

* Servicio de validación de XHTML (W3C)

Categorías

Interwiki enlaces a otros idiomas
Programación de computadoras
============================

Programación de computadoras es un proceso de componer y organizar un conjunto de instrucciones. Éstas le indican a una computadora/software qué hacer en un lenguaje comprensible para la computadora. Estas instrucciones pueden presentarse en diferentes lenguajes, tales como C++, Java, JavaScript, HTML, Python, Ruby y Rust.

Usando un lenguaje apropiado, puedes programar/crear todo tipo de software. Por ejemplo, un programa que ayude a científicos con cálculos complejos; una base de datos que almacene grandes cantidades de datos; un sitio web que permita a la gente descargar música, o un software de animación que permita a la gente crear películas animadas.

Saber más
---------

### Conocimiento general

* Programación: Wikipedia
* Lista de lenguajes de programación: Wikipedia
Hipertexto
==========

El hipertexto es texto que contiene enlaces a otros textos, y no un flujo único y lineal como el de una novela.

El término fue acuñado por Ted Nelson alrededor del año 1965.

Aprenda más
-----------

### Conocimiento general

* Hipertexto en Wikipedia
### Referencia Técnica

* Hypertext Information Base
Git
===

**Git** es un software de control de versiones (SCV) distribuido, libre y de código abierto. Facilita el manejo de código fuente con equipos de desarrollo distribuidos. La principal diferencia con SCV previos es la habilidad para hacer operaciones comunes (branching, committing, etc.) en el equipo de desarrollo local, sin tener que modificar el repositorio master o tener de acceso de escritura a él.

Saber más
---------

### Conocimiento general

* Web oficial con documentación
* GitHub, un host gráfico de proyectos basado en Git
Tipificación estática
=====================

Un lenguaje de **tipo estático** es un lenguaje (como Java, C, o C++) en donde los tipos de variables se conocen en tiempo de compilación. En la mayoria de estos lenguajes, los tipos deben ser expresamente indicados por el programador; en otros casos (como en OCaml), la inferencia de tipos permite al programador no indicar sus tipos de variables.

Learn more
----------

### General knowledge

* Type system on Wikipedia
SLD
===

Un dominio de nivel secundario, o SLD (Second Level Domain) es el nombre que se encuentra antes del dominio de nivel primario, o TLD (Top Level Domain).

Por ejemplo, en el dominio `mozilla.org`, `mozilla` es el dominio de nivel secundario del TLD `.org`.

Un nombre de dominio no está limitado a un TLD y a un SLD. Se pueden crear subdominios adicionales para proporcionar información adicional sobre las diferentes funciones de un servidor o para delimitar áreas bajo el mismo dominio. Por ejemplo, `www` es un subdominio muy común, que indica que el dominio apunta a un servidor web.

Otro ejemplo es el de `developer.mozilla.org`, el subdominio `developer` es utilizado para especificar que el subdominio contiene la sección para desarrolladores del sitio web de Mozilla.

Aprender más
------------

### General knowledge

* SLD on Wikipedia
Preflight petición
==================

Una petición preflight CORS es una petición CORS realizada para comprobar si el protocolo CORS es comprendido.

Es una petición `OPTIONS` (en-US), que emplea tres cabeceras HTTP: `Access-Control-Request-Method` (en-US), `Access-Control-Request-Headers` (en-US), y la cabecera `Origin` .

Las peticiones preflight se lanzan automáticamente desde el navegador cuando son necesarias. Normalmente los desarrolladores front-end no necesitan realizar estas peticiones manualmente.

Por ejemplo, un cliente puede preguntar si el servidor permite una petición `DELETE` antes de enviar la petición `DELETE` usando una petición preflight:
```

OPTIONS /resource/foo
Access-Control-Request-Method: DELETE
Access-Control-Request-Headers: origin, x-requested-with
Origin: https://foo.bar.org
```


Si el servidor lo permite responderá a la petición preflight con una cabecera de respuesta `Access-Control-Allow-Methods` que incluirá el método `DELETE`:
```

HTTP/1.1 200 OK
Content-Length: 0
Connection: keep-alive
Access-Control-Allow-Origin: https://foo.bar.org
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE
Access-Control-Max-Age: 86400
```

Véase también
-------------

* CORS
* `OPTIONS` (en-US)
Pseudocódigo
============

El pseudocódigo se refiere a la sintaxis del código que generalmente se usa para indicar a los humanos cómo funciona dicho código, o para ilustrar el diseño de un elemento. No funcionará si intentas ejecutarlo como código.

Saber más
---------

### Conocimientos generales

* Pseudocódigo en Wikipedia.
Tipado Dinámico
===============

**Los lenguajes de tipado dinámico** son aquellos (como JavaScript) donde el intérprete asigna a las variables un tipo durante el tiempo de ejecución basado en su valor en ese momento.

Ver más
-------

### Conoce sobre el tema

* Tipos de datos y estructuras de datos en Javascript
### Conocimientos generales

* Sistema de tipos en Wikipedia
Internet
========

La Internet es una red mundial de redes que utiliza el conjunto de protocolos de Internet (tambien conocidos como TCP/IP (art. en ingles) siendo sus dos mas importantes protocolos).

Aprender más
------------

### Aprender al respecto

* Cómo funciona Internet (introducción para principiantes)
SMTP
====

**SMTP** (Protocolo de Transferencia de Correo Simple por sus siglas en inglés) es un protocolo utilizado para enviar un nuevo correo. Como POP3 y NNTP (en-US), es un protocolo dirigido por estado de máquina (en-US).

El protocolo es relativamente simple. Las complicaciones principales incluyen soportar varios mecanismos de autenticación (GSSAPI, CRAM-MD5, NTLM, MSN, AUTH LOGIN, AUTH PLAIN, etc.), manejo de respuestas de error, y retroceder cuando los mecanismos de autenticación fallan (p. ej., el servidor asegura que soporta un mecanismo, pero no).

Véase también
-------------

* SMTP en Wikipedia
* Glosario de MDN Web Docs
    + NNTP (en-US)
    + POP3
    + protocolo
    + estado de máquina (en-US)
Java
====

Java es un lenguaje de programación semi-compilado, orientado a objetos y portable.

Java está tipado estáticamente y tiene una sintaxis parecida a la de C. Tiene una gran librería de funciones fáciles de usar, el Java Software Development Kit (SDK).

Los programas son compilados primero una única vez a byte code y empaquetados en un formato que puede ser ejecutado por la Máquina Virtual de Java (JVM). La JVM está disponible para multiples plataformas, lo que permite que los programas en Java funcionen en casi todos los sistemas sin tener que volver a compilar y empaquetar el proyecto cada vez. Esto hace que sea el lenguaje preferido de muchas empresas con distintos propósitos, aunque puede ser considerado como muy "pesado".

Véase también
-------------

* Java en Wikipedia