网络相关
http和https区别
http是超文本传输协议,信息是明文传输。https则是具有安全性的ssl加密传输协议
http端口号80,https端口号443
https比http协议更安全
TCP和UDP(传输控制协议和用户数据报协议)的区别
TCP和UDP都位于计算机网络模型中的传输层,负责传输应用层产生的数据
1.UDP是无面向连接的协议,TCP是面向连接的协议
2.TCP可以传输大量的数据,速度慢,UDP可以用来传输少量的数据,速度快
3.TCP是可靠的,UDP不可靠的
网络七层模型:
应用表示会传输网络数据给物理
应用层:为应用程序提供接口 http
表示层:把数据转换成兼容接收系统的格式
会话层:保持计算机之间的通信
传输层:TCP和UDP
网络层:负责数据的路由和转发
数据链路层:错误侦察和改错
物理层:负责在物理网络中传输数据帧
Cookie和Session
HTTP协议是一种无状态协议,即每次服务端接收到客户端的请求时,都是一个全新的请求,服务器并不知道客户端的历史请求记录,Session和Cookie的主要目的就是为了弥补HTTP的无状态特性。
服务器第一次接收到请求时候,创建了session对象,同时生成一个sessionid,然后向客户端发送要求设置Cookie的响应;客户端收到响应后,在本机客户端设置了Cookie信息。接下来客户端每次向同一个网站发送请求时,包含sessionid的Cookie信息都会被服务器读取到Cookie信息和sessionid。
TCP为啥三次握手和四次挥手 。
因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,告诉Client端,"你发的FIN报文我收到了"。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,因此不能一起发送。故需要四步挥手。
当你的浏览器中地址栏输入地址并回车的一瞬间到页面能够展示回来,经历了什么?
1.域名解析
2.发起TCP的三次握手
3.建立起TCP连接后发起http请求
4.服务器响应http请求,浏览器得到html代码
5.浏览器解析html代码,并且亲贵html代码中的资源
6.浏览器对页面进行渲染呈现
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通