5.1 关于http与DNS的概念与操作

5.1 关于http与DNS的概念与操作 一、HTTP / HTTPS 基础1. http与https的区别HTTP明文传输端口80不安全容易被窃听、篡改、劫持。HTTPSHTTP TLS/SSL 加密端口443数据加密传输身份认证防劫持。2. get与post的区别1get的url可见post不可以2get的参数是拼接在url中post是在body体中3get回退页面没有什么影响post需要重新发起请求4get可以缓存post不可以5get数据大小限制在2k-4k左右post是在php.ini设置参数6post比get更加安全7get产生一个TCP数据包post产生两个TCP数据包header、data3. 浏览器输入地址到页面展示 的全过程浏览器输入url解析url地址是否合法浏览器查看是否有缓存浏览器缓存-系统缓存-路由器缓存有就直接显示解析域名获取对应的IP地址浏览器向服务器发送tcp连接请求建立tcp连接握手成功后浏览器向服务器发送http请求请求数据包服务器收到处理的请求将数据返回至浏览器浏览器解析收到的响应如果响应可以缓存则存入缓存浏览器发送请求获取嵌入在HTML中的资源htmlcssJavaScript图片音乐等对于未知类型会弹出对话框浏览器发送异步请求页面全部渲染结束4. HTTPS 工作原理客户端和服务器打招呼交换随机数服务器发证书客户端验证证书合法性客户端用服务器公钥加密一个密钥材料发过去双方算出相同的对称密钥之后所有数据都用这个密钥加密传输安全可靠5. 常用的http方法GET获取资源参数在 URL明文可见POST提交数据参数在 body更适合敏感数据PUT更新资源DELETE删除资源HEAD从服务端获取指定信息的头部OPTIONS查询针对请求URL指定的资源支持TRACE沿着目标资源的路径执行消息环回测试6. WebSocket与 HTTP 的关键区别特性WebSocketHTTP通信模式全双工双向同时半双工请求 - 响应连接持久长连接短连接一次请求即断服务器推送支持不支持只能被动响应头部开销极小2–14 字节大数百字节KB 级适用场景实时交互文档 / 资源加载工作原理两步握手基于 HTTP客户端发 HTTP 请求包含Upgrade: websocket服务器返回101 Switching Protocols完成协议升级。数据传输握手后双方用二进制 / 文本帧自由收发消息直到主动关闭。二、HTTP 状态码必考按分类记1xx 信息性100 Continue继续发送101 Switching Protocols切换协议如升级到 WebSocket2xx 成功200 OK正常返回201 Created创建成功204 No Content无响应体206 Partial Content断点续传3xx 重定向301 Moved Permanently永久重定向302 Found临时重定向304 Not Modified缓存未变化使用本地缓存307/308严格重定向保留请求方法4xx 客户端错误400 Bad Request请求格式错误401 Unauthorized未认证403 Forbidden拒绝访问404 Not Found资源不存在405 Method Not Allowed方法不允许429 Too Many Requests请求频率限制5xx 服务端错误500 Internal Server Error服务器内部错误502 Bad Gateway网关错误503 Service Unavailable服务不可用 / 过载504 Gateway Timeout网关超时一些小补充1. 304 怎么触发浏览器缓存机制1触发条件客户端发送请求时带上缓存标识If-Modified-SinceIf-None-Match服务器检查资源没变化→ 返回304 Not Modified浏览器直接用本地缓存不下载内容。2浏览器缓存流程先看强缓存Cache-Control / Expires没过期直接用本地缓存不发请求强缓存过期 → 发请求带协商缓存头资源没变 → 304资源变了 → 200 新内容2. DNS 污染是什么DNS 污染 DNS 缓存投毒攻击者伪造 DNS 响应让你把域名解析到错误 IP。结果你访问正常网站却跳到恶意网站、广告页、钓鱼页。特点污染的是递归 DNS 服务器缓存不是你本机。常见场景公共 WiFi 劫持某些地区网络干扰恶意软件篡改 DNS三、DNS 解析完整流程1. DNS 作用域名 → IP 地址的映射分布式、层级域名系统2. 完整解析流程标准 8 步浏览器查自身缓存查操作系统缓存hosts 文件向本地 DNS 服务器LDNS发起查询LDNS 查自身缓存LDNS 向根域名服务器查询根服务器返回顶级域服务器如 .com地址LDNS 向顶级域服务器查询顶级域返回权威 DNS 服务器地址LDNS 向权威 DNS 查询拿到最终 IPLDNS 缓存并返回给客户端根 DNS只管顶级域.com/.cn/.net顶级域 DNS管二级域名baidu.com权威 DNS管具体域名解析存真正 IPLDNS帮你代理查询负责缓存本地缓存 /hosts最快优先级最高3. 常见 DNS 记录A 记录域名 → IPv4AAAA 记录域名 → IPv6CNAME域名别名NS域名服务器MX邮件服务器TXT验证、SPF、DKIMPTR反向解析 IP → 域名四、nslookup 详细讲解1. 基本用法直接查 A 记录默认nslookup baidu.com指定 DNS 服务器查询nslookup baidu.com 8.8.8.8查询指定类型记录nslookup -typemx baidu.com nslookup -typens baidu.com nslookup -typeaaaa baidu.com nslookup -typecname www.baidu.com nslookup -typetxt baidu.com交互模式nslookup server 8.8.8.8 set typemx baidu.com2. 输出结构Server: 114.114.114.114 # 你使用的递归DNS Address: 114.114.114.114#53 Non-authoritative answer: # 非权威应答来自缓存 Name: baidu.com Address: 223.119.241.111Non-authoritative不是域名的权威 DNS 回答是缓存结果Authoritative权威 DNS 直接回答五、dig 详细讲解1. 最基础用法dig baidu.com2. 常用参数查询指定记录类型dig A baidu.com dig AAAA baidu.com dig NS baidu.com dig MX baidu.com dig TXT baidu.com dig CNAME www.baidu.com dig SOA baidu.com指定 DNS 服务器dig 8.8.8.8 baidu.com dig 1.1.1.1 baidu.com只看关键答案dig short baidu.com显示完整 DNS 解析路径dig trace baidu.com3. dig 输出结构详解典型输出分为 5 段1. HEADER头信息;; -HEADER- opcode: QUERY, status: NOERROR, id: 12345 ;; flags: qr rd ra; QUERY:1, ANSWER:1, AUTHORITY:4, ADDITIONAL:1status: NOERROR查询成功qr响应报文rd要求递归ra服务器支持递归ANSWER返回几条记录2. QUESTION SECTION你问了啥;; QUESTION SECTION: ;baidu.com. IN A3. ANSWER SECTION服务器回答;; ANSWER SECTION: baidu.com. 324 IN A 223.119.241.111324TTL缓存时间INInternet ClassAIPv4 记录IP最终地址4. AUTHORITY SECTION权威 DNS 服务器告诉这个域名由谁管理。5. ADDITIONAL SECTION附加信息一般是权威 DNS 的 IP。六、总结概念1. DNS是什么文中有说2. DNS端口是什么采用的协议是什么默认查询用UDP53查询用UDP同步用TCP3. DNS完整解析流程文中有说