Java Web

112 阅读2分钟

1、TCP与UDP区别

UDP

  1. 是面向无连接,将数据及源的封装成数据包中,不需要建立连接
  2. 每个数据报的大小在限制64k内
  3. 因无连接,是不可靠协议
  4. 不需要建立连接,速度快 TCP
  5. 建立连接,形成传输数据的通道
  6. 在连接中进行大数据量传输,以字节流方式
  7. 通过三次握手完成连接,是可靠协议
  8. 必须建立连接效率会稍低

2、get与post请求区别?

  1. Get重点在从服务器上获取资源,post重点在向服务器发送数据;
  2. Get传输数据是通过URL请求,以field(字段)= value 的形式,置于URL后,并用"?"连接,多个请求数据间用"&"连接,如http://127.0.0.1/Test/LogIn?name=admin&password=admin,这个过程用户是可见的;post传输数据通过Http的post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的;
  3. Get传输的数据量小,因为受URL长度限制,但效率较高;Post可以传输大量数据,所以上传文件时只能用 Post 方式;
  4. Get是不安全的,因为URL是可见的,可能会泄露私密信息,如密码等;Post较Get安全性较高;
  5. Get方式只能支持ASCII字符,向服务器传的中文字符可能会乱码。Post支持标准字符集,可以正确传递中文字符。

3、http中重定向和请求转发的区别

本质区别:转发是服务器行为,重定向是客户端行为。

  • 重定向特点:两次请求,浏览器地址发生变化,可以访问自己web之外的资源,传输的数据会丢失。
  • 请求转发特点:一次请求,浏览器地址不变,访问的是自己本身的web资源,传输的数据不会丢失。

4、Cookie和Session

Cookie是web服务器发送给浏览器的一块信息,浏览器会在本地一个文件中给每个web服务器存储cookie。以后浏览器再给特定的web服务器发送请求时,同时会发送所有为该服务器存储的cookie。Session是存储在web服务器端的一块信息。session对象存储特定用户会话所需的属性及配置信息。当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。

Cookie和Session的不同点:

  • 无论客户端做怎样的设置,session都能够正常工作。当客户端禁用cookie时将无法使用cookie。
  • 在存储的数据量方面:session能够存储任意的java对象,cookie只能存储String类型的对象。