http
url输入到输出的过程
1. 构建请求 构建请求行,请求行包括请求方法、请求http版本、URI Get/Http/1.0 2. 查找强缓存 检查强缓存,命中则直接使用,否则检查协商缓存 3. DNS解析 域名与IP地址映射 4.建立tcp连接 chrome限制同一域名下最多6个tcp连接 + 通过三次握手建立连接 三次握手过程: 1.客户端向服务器发送连接请求,传递一个数据包syn,此时客户端处于SYN_SEND状态 2.服务器接收syn报文后,会以自己的syn报文作为应答,传递数据包syn+ack,此时服务器处于SYN-REVD状态 3.客户端接收syn报文后,发送一个数据包ack,此时客户端处于ESTABLISHED状态,双方已建立连接 + 进行数据传输 + 通过四次挥手断开连接 四次挥手过程: 1. 客户端发送一个FIN报文,报文中指定一个序列号,此时客户端处于FIN_WAIT1状态,等待服务器确认 2. 服务器接收到FIN后,会发送ACK确认报文,表明已经收到客户端报文,此时服务端处于CLOSE_WAIT2状态 3. 服务器发送FIN,告诉客户端想断开连接,此时服务端处于LAST_CHECK阶段 4. 客户端收到FIN后,一样发送一个ACK作为应答,此时客户端处于TIME_WAIT阶段。需要过一段时间确认服务端收到自己的ACK报文 后才会进入CLOSED状态 5.发送http请求 6.网络响应 7.浏览器解析和渲染 分为构建dom树、样式计算、生成布局树。 8.生成布局 触发回流和重绘
tcp和udp区别
tcp只能一对一通信,udp可以一对一、一对多、多对多通信,即支持多播和广播 tcp首部开销消耗32字节,udp仅消耗8个字节 tcp适合对数据安全性要求高的场景,比如文件传输,udp适合对数据实时性要求高的场景,比如视频通话、语音通话 tcp是有状态连接,udp是无状态的连接 tcp-可靠传输 udp-不可靠传输 tcp-面向字节流 udp-面向报文
tcp怎么保证可靠性
1. 超时重传机制 2. 对失序数据进行重排序 3. 应答机制 4. 滑动窗口 5. 拥塞控制
http请求有哪几种
http1.0:get、post、head
http1.1:put、delete、connect、trace、options
简单请求:
-
请求method只能是get、post、head
-
请求头只能是accept/accept-language/content-language/content-Type
-
content-Type只能是text/plain、multipart/form-data、application/x-www-form-urlencoded
http和https区别
http基于TCP/IP协议,https基于SSL/TLS协议 http默认端口号为80,https默认端口号为443 https安全性更强,需要CA证书 https可以防止运营商劫持
http状态码
列举一些常见状态码即可
200-请求成功 301-永久重定向 302和307-临时重定向 400-当前请求不能被服务器理解或请求参数有误 401-请求需要认证或认证失败 403-服务器禁止访问 404-资源未找到 405-方法未允许 500-内部服务器错误 502-网关错误 503-服务器处于超负载或停机维护

浙公网安备 33010602011771号