Days 11 HTTP/HTTPS/DNS/请求协议
本文最后更新于82 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com

一、今日核心认知(最重要)

记一句:

HTTP 是浏览器和服务器交流的“语言”。


例如:

你打开:

Bilibili

浏览器其实在说:

GET / HTTP/1.1

服务器返回:

HTTP/1.1 200 OK

所以:

互联网本质:

浏览器 ←HTTP→ 服务器

二、HTTP 是什么

HTTP:

HyperText Transfer Protocol

超文本传输协议。


作用

用于:

浏览器和服务器传输数据。


可以传什么

HTML
JSON
图片
视频
CSS
JS

HTTP 特点

1)基于 TCP

所以:

HTTP 稳定可靠。


2)无状态

服务器默认不知道你是谁。


所以:

需要:

Cookie
Session
Token

三、HTTP 请求长什么样(超核心)

浏览器发送:

GET /index.html HTTP/1.1
Host: www.xxx.com
User-Agent: Chrome

解释

GET

请求方法。


/index.html

请求资源路径。


HTTP/1.1

协议版本。


Host

访问哪个网站。


User-Agent

浏览器信息。


四、GET 和 POST(面试高频)


GET

特点:

获取数据
参数在URL
通常用于查询

例如:

/search?q=redis

POST

特点:

提交数据
参数在请求体
通常用于登录/上传

面试标准回答

GET

GET 通常用于获取资源。

POST

POST 通常用于提交数据。

五、HTTP 状态码(超级高频)

这个必须熟。


200

成功。


301 / 302

重定向。


403

禁止访问。

通常:

权限问题

404

资源不存在。

例如:

路径错误

500

服务器内部错误。

通常:

代码异常

502(特别重要)

Bad Gateway。

通常:

Nginx 找不到后端

504

后端超时。


六、DNS(互联网电话簿)

为什么需要 DNS

因为人记不住:

104.18.xx.xx

所以:

有:

openai.com
bilibili.com
github.com

DNS:

负责:

域名 → IP

转换。


浏览器访问网站第一步

其实是:

DNS 解析。


查看 DNS

nslookup openai.com

或者:

dig openai.com

七、HTTPS(特别重要)

HTTP 问题

HTTP:

明文传输。


意味着:

别人能偷看。


例如:

密码
Cookie
支付信息

HTTPS 是什么

HTTP + SSL/TLS 加密。


作用

加密
防篡改
身份验证

为什么有小锁

因为:

启用了 HTTPS。


Nginx 为什么经常配 HTTPS

因为:

现代网站必须安全。


八、浏览器访问网站全过程(升级版)

以后面试会大量问。


Step1 输入网址

例如:

https://openai.com

Step2 DNS解析

找到服务器 IP。


Step3 TCP 三次握手

建立连接。


Step4 HTTPS 握手

SSL/TLS 加密协商。


Step5 发送 HTTP 请求

例如:

GET /

Step6 Nginx 接收请求

可能:

反向代理
负载均衡

Step7 应用服务器处理

例如:

Java
Go
Python

Step8 Redis / MySQL

查询数据。


Step9 返回数据

服务器返回:

HTML
JSON
图片

Step10 浏览器渲染

最终显示网页。


九、今天必须实操(重点)


1)curl 网站

curl https://www.baidu.com

2)查看响应头

curl -I https://www.baidu.com

3)DNS 查询

nslookup github.com

或者:

dig github.com

4)查看 HTTPS 证书

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇