YAML introduction
YAML stands for Ain’t Markup Language
, and new data format for serialization language like toml or ini file format.
YAML files contain text data arranged in a hierarchical structure.
It supports Scalar types (Integer, strings, float, Boolean,Time) and collection types (array, list).
This course series of posts help you to get the basics of YAML with examples for learning.
Important points:
- It is case sensitive
- file extension is
.yaml
- Tabs are not allowed,
- Some editors allow spaces
Advantages of YAML
- Lightweight
- It is very easy and simple to represent the complex mapping
- Human friendly readable and writable
- Simple to modify with any text editor
- Suitable for configuration settings
- Support for major programming languages
Disadvantages of YAML
- It is a new format introduced recently, a learning curve exists.
- Not much popular other than XML and JSON
- It is very complex to represent configuration in the hierarchy of data
What is the file extension for YAML
yaml
files are created with extension .yaml
or .yml
.
You can use any IDE or text editor to open this file.
All the popular IDE supports the yaml
file extension and also provides plugins to validate the yaml
file content.
What is the YAML media type?
media or MIME types exist in request headers with Content-Type
and accept
during data transfer between systems.
According to IANA, there is no official MIME type for YAML document content.
It can be represented using text/yaml
or text/x-yaml
or application/x-yaml
mime types
When yaml
data transfers between client and server, Implementation vendors add MIME type settings specified in requests and responses across the internet.
Generally, we can use MIME format type - text/yaml
.
Content-Type
and accept
headers in a request object are specified with this format.
Following is the mime type for these documents
text/yaml
and request contains the below value for YAML data sent over the internet.
Content-type : text/yaml
The other possible options are
- text/yaml
- text/yml
- text/x-yaml
- application/yaml
- application/yml
One of the above is considered based on the browser and the supported programming language.
For example, Chrome accepts application/yaml
.