javaWEB需要掌握的小碎知识点(2)

1、什么是服务包含(server side include)?
服务端包含(ssi)是一种简单的解释型服务端脚本语言,大多数时候仅用在web上,用servlet标签嵌入进来。ssi最常用的场景把一个或多个文件包含到web服务器的一个web页面中。当浏览器访问web页面的时候,web服务器会对用的servlet产生的文本来替换web页面中的servlet标签。

2、什么是servlet链(servlet chaining)?
servlet链是把一个servlet的输出发送给另一个servlet的方法。第二个servlet的输出会发送给第三个servlet,以此类推。链条上最后一个servlet负责把响应发送给客户端。

3、如果知道是哪一个客户端的机器正在请求你的servlet?
servletrequest类可以找出客户端机器的ip地址或者是主机名。getRemoteAddr()方法获取客户端主机的ip地址,getRemoteHost()可以获取主机名。

4、http响应的结构是怎样的?
HTTP响应由三个部分组成:
状态码(status code):描述响应的状态。可以用来检测是否成功的完成了请求。请求失败的情况下,状态码可用来找到失败的原因。如果servlet没有返回状态码,默认会返回成功的状态码HTTPServletResponse.SC_OK
http头部(HTTP header):它们包含了更多关于响应的信息;比如:头部可用指定认为响应过期的过期日期,或者是指定用来给用户安全的传输实体内容的编码格式。如何在servlet中检索HTTP的头部看这里。
主体(Body):它包含了响应的内容。它可以包含html代码,图片等等。主体是由传输在HTTP消息中紧跟在头部后面的数据字节组成的。

5、什么是cookie?session和cookie有什么区别?
cookie是web服务器发送给浏览器的一块信息。浏览器会在本地文件中给每一个web服务器存储cookie。以后浏览器在给特定的web服务器发送请求的时候,同时会发送所有该服务器存储的cookie。下面是cookie和session的区别:
无论客户端浏览器做怎么样的设置,session都应该正常的工作。客户端可以选择禁用cookie。但是,session仍然继续工作的,因为客户端无法禁用服务端的session。
在存储的数据量方面session和cookies也是不一样的。session能够存储任意的java对象,cookie只能存储String类型的对象。

6、浏览器和servlet通信使用的是什么协议?
浏览器和servlet通信使用的是HTTP协议。

7、什么是HTTP隧道?
HTTP隧道是一种利用HTTP或是https把多种网络协议封装起来进行通信传输的协议。因此HTTP协议扮演了一个打通用于通信网络协议的管道和包装器的角色。把其他协议的请求掩盖成HTTP的请求就是HTTP隧道。

8、sendRedirect()和forward()方法有什么区别?
sendRedirect()方法会创建一个新的请求,而forward()方法只是把请求转发到一个新的目标上。重定向redirect以后,之前的请求作用域范围以内的对象就消失了,因此会产生一个新的请求,而转发forwarding以后,之前请求作用域范围以内的对象还是可以访问的。一般sendRedirect()方法比forward()要慢。

9、什么是URL编码和URL解码?
URL编码是负责把URL里面的空格和其他的特殊字符替换成十六进制表示,反之就是解码。
  • 13
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值