java面试---TCP/IP

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

 

你可能感兴趣的:(后端,面试)