http
http相关概念:
URL:统一资源定位符 使每个文档在整个互联网的范围内具有唯一的标识URL 本地电脑一个文件 url index.html 本地文件系统的文件 HTTP: 应用层协议,超文本传输协议 tcp 80 443 http tcp 80 https tcp 443 HTML: 超文本标记语言,将不同风格的文档统一显示
2.浏览器请求过程:
1.浏览器请求并解析服务器返回的url
2.进行dns 解析 ,为什么进行dns解析,是将ip转换为我们可以记忆的域名
a.优先从系统缓存查询
hosts
b.路由器缓存,ISP缓存
c.dns递归查询
3.ip tcp连接
三次握手
四次断开
4.http 请求
get post
5.浏览器就会进行渲染
3.持久连接(长连接,keep-alive)当连接建立,每个资源获取完成后不会断开连接,而是继续等待其它的请求完成
断开条件:
(1)时间限制
(2)请求数量
副作用:
不适用于大并发场景
适用于数据库,需要通过nginx转发数据库的请求
4.http通讯发起实例:
http协议状态码:
1xx 信息提示
2xx 成功
200 一切正常
3xx 重定向
301 永久重定向
302 临时重定向
4xx 错误信息 一般是客户端错误
401 用户名和密码错误
403 禁止访问 (客户端的ip地址被拒绝)
404 文件不存在
414 请求的url头部过长
5xx 错误信息 服务端错误
500 服务器内部错误
502 bad gateway
503 gateway timeout
偶发
5.OSI网络模型
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了