1、什么是3次握手
三次握手是发生TCP连接的时候,客户端和服务器一共需要发送三个数据包来确保对象的接受能力和发送能力是否正常。第一次握手是客户端发送一个SYN报文,并指明自己的初始化序号。第二次握手是服务器接受到客户端的报文之后,也发送一个自己的SYN与自己的初始化序号,确认号ACK是收到SYN报文的序列号+1的报文。第三次握手是客户端收到报文后,发送一个确认号ACK是序列号+1的报文。经过这三次握手,TCP连接就建立了。
2、浏览器输入url按下回车发生了什么
首先会进行DNS域名解析,就是将网址转换成IP地址的过程。然后进行TCP连接,连接过程就是俗称的三次握手。连接成功后就开始发送http请求,然后服务器处理请求并返回报文接着浏览器解析渲染页面,这里涉及了一个回流和重绘的概念。回流就是浏览器根据渲染树中元素的尺寸,位置等进行构建。重绘就是绘制元素的样式,比如颜色,背景颜色什么的。最后断开连接。断开连接就是我们所说的4次挥手。第一次挥手是客户端向服务器发送一个FIN报文并指定一个初始序列号,第二次挥手是服务器收到报文,把序列号+1作为确认号ACK的值发送回去,然后客户端到服务器的连接就断开了,如果服务器也想断开和客户端的连接,就进行和客户端刚刚的操作,客户端进行应答,一共就进行了4次数据报传送。
3、get与post的区别
get和post都是http请求的方式。get请求一般是获取数据,请求参数会出现在url中,并且数据不能太长。post请求一般是向服务器发送数据,请求数据会放在请求包的包体中,数据大小没有限制。相对来说比较安全。get请求在回退时是无害的,但是post请求在回退时需要重新进行请求。
4、常见的状态码
以2开头,就是代表请求被正常处理了,比如200表示ok,204表示正常处理但是没有返回内容
以3开头表示重定向。比如301是永久重定向,302是临时重定向
以4开发一般是客户端发生错误。比如403表示访问被服务器拒绝,404是找不到请求资源
以5开头就是服务器发生错误。比如502是没有响应,504是响应超时了