当你在浏览器里输入一个网址,比如 www.example.com,按下回车后,页面就跳出来了。这个过程背后,其实靠的是 HTTP 协议在工作。
HTTP 到底是啥?
HTTP 全称是 HyperText Transfer Protocol,翻译过来叫“超文本传输协议”。说白了,它就是浏览器和网站服务器之间“聊天”的一套规矩。你问一句,它答一句,整个网页加载的过程就是这样来回对话完成的。
比如你在手机上点开一个新闻链接,你的浏览器就会向服务器发个请求:‘喂,把这篇文章给我一下’。服务器收到后,如果没问题,就会回传网页内容。这套‘你问我答’的规则,就是 HTTP。
看看一次 HTTP 请求长什么样
实际通信中,浏览器发送的请求信息类似这样:
GET /index.html HTTP/1.1\r\nHost: www.example.com\r\nUser-Agent: Mozilla/5.0...\r\nAccept: text/html\r\n\r\n
这段内容告诉服务器:我要获取首页(GET /index.html),用的是 HTTP 1.1 版本,目标网站是 www.example.com。服务器收到后,会返回类似:
HTTP/1.1 200 OK\r\nContent-Type: text/html\r\nContent-Length: 1024\r\n\r\n<html><body>Hello World</body></html>
开头的 200 OK 表示请求成功,后面跟着网页的实际内容。
HTTP 是无状态的
每次请求都是独立的。比如你登录一个网站,服务器并不记得你是谁。为了解决这个问题,就有了 Cookie 和 Session。简单说,服务器给你发个“身份证”(Cookie),下次访问时带上,就知道你是老用户了。
HTTP 和 HTTPS 有啥区别?
你可能注意到有些网址是 http://,有些是 https://。后者多了一个 S,意思是加了安全层(SSL/TLS)。普通 HTTP 传的数据是明文的,别人中途可能看到;而 HTTPS 是加密的,像把信装进信封寄出去,更安全。现在大多数网站都用 HTTPS 了,尤其是涉及登录、付款的页面。
下次你看到浏览器地址栏有个小锁图标,说明当前连接是 HTTPS,数据被保护着,不用担心被偷看。