1、http1.0和http1.1区别
1)缓存处理策略不同
2)带宽优化和网络连接的使用
3)错误通知的管理
4)host头处理
5)长链接;1.0每次请求都要创建连接;1.1保持长链接
2、常用状态
1)ESTABLISHED表示正在 通信
2)TIME_WAIT表示主动关闭;主动关闭链接时形成的,主要是防止最后一个ACK丢失。由于时间非常长,因此服务端尽量减少主动关闭链接
3)CLOSE_WAIT表示被动关闭;
3、响应码
1)1开头表示收到请求并需要请求继续处理
2)2开头表示成功响应,成功处理了请求
3)3开头的重定向,引导浏览器跳转到另一个页面
4)4开头的表示出错,返回具体的状态吗解释到底什么错误
5)5开头表示服务器错误
4、打开一个链接,计算机做了什么
1)域名解析
2)发起TCP3次握手
3)建立TCP链接发送请求
4)服务器响应请求
5)浏览器得到HTML代码
6)浏览器解析HTML代码,并请求代码中的资源
7)浏览器对页面进行渲染
5、TCP、IP如何保证可靠性
1)三次握手
2)将数据截取为合理的长度
3)超时重发
4)对于收到的请求,给以确认响应
5)校验出包有错,丢弃报文段,不响应
6)对失序数据进行重新排序
7)丢弃重复数据
8)流量控制
9)阻塞控制
6、HTTP协议的无状态性
指的是http协议对于事务处理没有记忆功能,服务器不知道客户端是什么状态。http是一个无状态的面向连接的协议,无状态不代表http不能保持tcp连接
7、http请求get和post的区别
1)get请求可被缓存,post不能被缓存
2)get请求被保存在浏览器历史记录中,post不会保留
3)get请求可以被收藏在书签中,post不能
4)get请求安全性低于post
5)get请求有长度限制,post没有
6)post不限制提交的数据类型,post可以提交文件
8、HTTP有哪些方法
1)get:获取资源
2)post:表单提交
3)head:获取报头信息
4)put与patch:更新资源
5)delete:删除资源
9、HTTP的长链接
客户端和服务端建立链接后,不会因完成一次请求,链接关闭,后续的读写操作可以继续使用这个连接。长连接可以节省较多的TCP建立和关闭操作,减少浪费,节约时间。
10、session与cookie的区别
1)cookie保存在客户端,关闭浏览器cookie被删除;cookie子客户端可以被伪造,敏感数据不易保存。session保存在服务端,过多会消耗服务器资源,尽量少使用
2)session是服务器用来跟踪用户的一种手段,每个session都有唯一标识id,生成后发送 到客户端cookie保存,发起请求后根据id来匹配session
3)存储数据类型不同;session可以存储任意java对象,cookie只能存储String
4)长于10k的数据,不要用到cookie