Everything in Azure is reached over a network, so these few ideas come up in every service you'll use.
Almost everything in Azure is used over a network: your laptop sends a message to a computer in a Microsoft datacenter, and that computer answers. From Docker you know a server is a program waiting for clients on a numbered port. This lesson fills in how computers find each other and what their messages look like.
Every computer on a network has an IP address, a number such as 20.13.45.7 that works like a street address for data. Addresses starting with 10. or 192.168. are private: they only work inside one organisation's network, like room numbers inside a building. Most others are public, reachable from anywhere on the internet.
Numbers are hard to remember, so computers also get names. example.com is a domain name; the full name of one machine or service, like mystore.blob.core.windows.net, is a hostname.
DNS is the internet's phone book: a program asks it for a hostname and gets back that name's IP address. Every connection starts with this lookup.
Programs on the web talk using HTTP. The client sends a request ("give me this", "save this") and the server sends back a response.
Every response starts with a three-digit status code saying how it went: 200 means OK, 401 "I don't know who you are", 403 "I know who you are, but you're not allowed", 404 "not found", 429 "too many requests, slow down".
HTTPS is HTTP with encryption: the data is scrambled on the way so nobody in between can read or change it. The scrambling standard is called TLS; Azure services require TLS version 1.2 or newer.
To prove it really is, say, Microsoft's server and not an impostor, the server shows a certificate: a digital ID card for its hostname, signed by a trusted authority. Your browser (Chrome, , Safari) checks it before showing the padlock icon.
A URL is the full address of one thing on the web. https://mystore.blob.core.windows.net/photos/cat.jpg says: use HTTPS, find that hostname, ask for /photos/cat.jpg.
An API is the set of requests a service agrees to answer, a menu for programs instead of people. Each URL on that menu that does one job is an endpoint. Azure itself is controlled through such an API: the website, the az command and every other tool send HTTPS requests to it.
Example
# Ask DNS for the IP address behind a hostname
nslookup learn.microsoft.com
# Name: ...
# Address: 23.x.x.x
# Send an HTTPS request to Azure's API without signing in,
# and print only the status code of the response
curl -s -o /dev/null -w "%{http_code}\n" \
"https://management.azure.com/subscriptions?api-version=2022-12-01"
# 401 <- the API answered: "I don't know who you are"Remember
- IP address = where a machine is; DNS turns names into IP addresses
- HTTP: a client sends a request, the server returns a response with a status code
- HTTPS = HTTP plus TLS encryption, with a certificate proving the server's identity
- An API is the menu of requests a service answers; each URL on it is an endpoint
Watch out for
- Mixing up 401 and 403: 401 means you didn't prove who you are, 403 means you did but lack permission.
New words in this lesson
- edge location
- One of many small sites around the world, close to users, where a provider answers requests and caches content. Learn it →