你的位置:首页 > Java教程

[Java教程]JavaWeb知识点总结一


JavaWeb知识点总结一

常见的状态码以及其含义

一些常见HTTP状态码为:

200 -- 服务器成功返回网页

400 -- 服务器不理解请求的语法

404 -- 请求的网页不存在

503 -- 服务不可用

常见HTTP状态码大全

1xx(临时响应):表示临时响应并需要请求者继续执行操作的状态代码。

http状态码 100(继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。

http状态码 101(切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。

2xx (成功):表示成功处理了请求的状态代码。

http状态码 200(成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。
http状态码 201(已创建) 请求成功并且服务器创建了新的资源。
http状态码 202(已接受) 服务器已接受请求,但尚未处理。
http状态码 203(非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源。
http状态码 204(无内容) 服务器成功处理了请求,但没有返回任何内容。
http状态码 205(重置内容) 服务器成功处理了请求,但没有返回任何内容。
http状态码 206(部分内容) 服务器成功处理了部分 GET 请求。

3xx (重定向):表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。
http状态码 300(多种选择) 针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。
http状态码 301(永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
http状态码 302(临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
http状态码 303(查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。
http状态码 304(未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。
http状态码 305(使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。
http状态码 307(临时重定向) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

4xx(请求错误):这些状态代码表示请求可能出错,妨碍了服务器的处理。

http状态码 400(错误请求) 服务器不理解请求的语法。
http状态码 401(未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
http状态码 403(禁止) 服务器拒绝请求。
http状态码 404(未找到) 服务器找不到请求的网页。
http状态码 405(方法禁用) 禁用请求中指定的方法。
http状态码 406(不接受) 无法使用请求的内容特性响应请求的网页。
http状态码 407(需要代理授权) 此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理。
http状态码 408(请求超时) 服务器等候请求时发生超时。
http状态码 409(冲突) 服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。
http状态码 410(已删除) 如果请求的资源已永久删除,服务器就会返回此响应。
http状态码 411(需要有效长度) 服务器不接受不含有效内容长度标头字段的请求。
http状态码 412(未满足前提条件) 服务器未满足请求者在请求中设置的其中一个前提条件。
http状态码 413(请求实体过大) 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。
http状态码 414(请求的 URI 过长) 请求的 URI(通常为网址)过长,服务器无法处理。
http状态码 415(不支持的媒体类型) 请求的格式不受请求页面的支持。
http状态码 416(请求范围不符合要求) 如果页面无法提供请求的范围,则服务器会返回此状态代码。
http状态码 417(未满足期望值) 服务器未满足”期望”请求标头字段的要求。

5xx(服务器错误):这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。

http状态码 500(服务器内部错误) 服务器遇到错误,无法完成请求。
http状态码 501(尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。
http状态码 502(错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。
http状态码 503(服务不可用) 服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。

http状态码 504(网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。
http状态码 505(HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。

请求协议的格式

  1. 请求方法 URI 协议/版本
  2. 请求头:包含了许多有关的客户端环境和请求正文的有用信息。例如,请求头可以声明浏览器所用的语言,请求正文的长度等等。
  3. 请求正文:请求头和请求正文之间有一个空行,这个行非常重要,它表示请求头已经结束,接下来的是请求正文。

user_agent包含的信息

user_agent是HTTP协议中的一部分,属于头域中的组成部分,user_agent也简称为UA。用较为普通的话来说,是一种访问网站时提供你所使用的浏览器类型、操作系统及版本、CPU类型、浏览器渲染引擎、浏览器语言、浏览器插件等信息的标识。UA字符串在每次浏览器HTTP请求时发送到服务器。

浏览器UA字串的标准格式为:浏览器标识(操作系统标识;加密等级标识;浏览器语言)渲染引擎标识 版本信息

http中常见的请求头和响应头分别有哪些,及其作用

请求头: 
Accept: text/html,image/*(浏览器可以接收的类型) 
Accept-Charset: ISO-8859-1(浏览器可以接收的编码类型) 
Accept-Encoding: gzip,compress(浏览器可以接收压缩编码类型) 
Accept-Language: en-us,zh-cn(浏览器可以接收的语言和国家类型) 
Host: www.it315.org:80(浏览器请求的主机和端口) 
If-Modified-Since: Mon, 6 Jul 2015 18:23:51 GMT(某个页面缓存时间) 
Referer: http://www.it315.org/index.jsp(请求来自于哪个页面) 
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)(浏览器相关信息) 
Cookie:(浏览器暂存服务器发送的信息) 
Connection: close(1.0)/Keep-Alive(1.1)(HTTP请求的版本的特点) 
Date: Mon, 6 Jul 2015 18:23:51 GMT(请求网站的时间) 

响应头: 
Location: http://www.it315.org/index.jsp(控制浏览器显示哪个页面) 
Server:apache tomcat(服务器的类型) 
Content-Encoding: gzip(服务器发送的压缩编码方式) 
Content-Length: 80(服务器发送显示的字节码长度) 
Content-Language: zh-cn(服务器发送内容的语言和国家名) 
Content-Type: image/jpeg; charset=UTF-8(服务器发送内容的类型和编码类型) 
Last-Modified: Mon, 6 Jul 2015 18:23:51 GMT(服务器最后一次修改的时间) 
Refresh: 1;url=http://www.it315.org(控制浏览器1秒钟后转发URL所指向的页面) 
Content-Disposition: attachment; filename=aaa.jpg(服务器控制浏览器发下载方式打开文件) 
Transfer-Encoding: chunked(服务器分块传递数据到客户端)  
Set-Cookie:SS=Q0=5Lb_nQ; path=/search(服务器发送Cookie相关的信息) 
Expires: -1(服务器控制浏览器不要缓存网页,默认是缓存) 
Cache-Control: no-cache(服务器控制浏览器不要缓存网页) 
Pragma: no-cache(服务器控制浏览器不要缓存网页)   
Connection: close/Keep-Alive(HTTP请求的版本的特点)   
Date: Mon, 6 Jul 2015 18:23:51 GMT(响应网站的时间) 

Tomcat服务器的默认端口是多少?怎样修改tomcat的端口

Tomcat服务器的默认端口是8080;在tomcat下的\conf\server.

什么是cookie? cookie有什么作用?

Cookie 是一小段文本信息,伴随着用户请求和页面在 Web 服务器和浏览器之间传递。用户每次访问站点时,Web 应用程序都可以读取 Cookie 包含的信息。

Cookie 为 Web 应用程序保存用户相关信息提供了一种有用的方法。例如,当用户访问您的站点时,您可以利用 Cookie 保存用户首选项或其他信息,这样,当用户下次再访问您的站点时,应用程序就可以检索以前保存的信息。

简述JSP中动态include与静态include的区别

动态include用jsp:include动作实现,<jsp:include page="included.jsp" flush="true" /> 它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数;

静态include用include伪码实现,<% @ include file="included.htm" %>,不会检查所含文件的变化,适用于包含静态页面。

简述表单中POST和GET的区别

GET方法

资源类型 :主动的或被动的 

数据类型 :文本 

数据量 :最多255个字符。尽管HTTP协议并没有限制查询串的长度,某些浏览器和web服务器可能不能处理超过255个字符的数据。 

可见性 :数据是URL的一部分,在浏览器的URL地址栏中用户可见。 

缓存 :数据可以在浏览器的URL历史中缓存。

POST方法

目标资源类型 :主动的

数据类型 :文本或二进制数据  

数据量 :没有限制 。 

可见性 :数据不是URL的一部分而是作为请求的消息体发送,因此在浏览器的URL地址栏中对用户不可见。

缓存 :数据不能在浏览器的URL历史中缓存。

简称JSP的执行过程

首先,由客户端浏览器向Web服务器提出访问JSP页面的请求(Request),然后由JSP引擎负责将JSP转换成Servlet,产生的servlet经过编译后生成类文件,然后再把类文件加载到内存执行。最后,由Web服务器将执行结果即(Response)给客户端浏览器。

较JSP而言,Servlet有什么优点,有什么缺点?

优点:响应客户端的请求,根据请求动态响应,最大的优点做为一个服务,控制程序的流向,过滤等。mvc中,控制就是servlet。

缺点:Servlet在表示逻辑上对于视图的表示相对于JSP麻烦太多,在负责显示工作完成并生成页面上,JSP更优。