1. WEB:在英语中web即表示网页的意思,它用于表示Internet上供外界访问的资源。
  2. Internet上供外界访问的Web资源分为:静态web资源、动态web资源
  3. 静态web资源:指web页面中供人们浏览的数据始终是不变,常用技术:html。
  4. 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。常用技术:JSP/Servlet、ASP、PHP。
  5. 在Java中,动态web资源开发技术统称为JavaWeb。
  6. WEB应用程序指供浏览器访问的程序,通常也简称为web应用。
  7. 一个web应用由多个静态web资源和动态web资源组成,如:html、css、js,Jsp、java程序、jar包、配置文件等等。
  8. 虚似目录的映射:Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理的过程。
  9. WEB发展的两个阶段:静态、动态
  10. 在静态WEB程序中,客户端使用WEB浏览器经过网络连接到服务器上,使用HTTP协议发起一个请求,告诉服务器我现在需要得到哪个页面,所有的请求交给WEB服务器,之后WEB服务器根据用户的需要,从文件系统(存放了所有静态页面的磁盘)取出内容。之后通过WEB服务器返回给客户端,客户端接收到内容之后经过浏览器渲染解析,得到显示的效果。
  11. 静态WEB:页面内容无法动态更新,所有的用户每时每刻看见的内容和最终效果都是一样的;无法连接数据库,无法实现和用户的交互。
  12. 动态WEB中,客户端依然使用浏览器,通过网络连接到服务器上,使用HTTP协议发起请求,现在的所有请求都先经过一个WEB Server Plugin(服务器插件)来处理,此插件用于区分是请求的是静态资源(.htm或者是.htm)还是动态资源。如果WEB Server Plugin发现客户端请求的是静态资源(*.htm或者是*.htm),则将请求直接转交给WEB服务器,之后WEB服务器从文件系统中取出内容,发送回客户端浏览器进行解析执行;如果WEB Server Plugin发现客户端请求的是动态资源(*.jsp、*.asp/*.aspx、*.php),则先将请求转交给WEB容器,在WEB容器中连接数据库,从数据库中取出数据等一系列操作后动态拼凑页面的展示内容,拼凑页面的展示内容后,把所有的展示内容交给WEB服务器,之后通过WEB服务器将内容发送回客户端浏览器进行解析执行。
  13. Web服务器是指驻留于因特网上某种类型计算机的程序,是可以向发出请求的浏览器提供文档的程序。只有当Internet上运行在其他计算机中的浏览器发出请求时,服务器才会响应。
  14. 常见的Web服务器:WebLogic、WebSphere、Tomcat、IIS
  15. Tomcat是一个实现了JAVA EE标准的最小的WEB服务器,JavaWeb开发学习一般都使用Tomcat服务器,该服务器支持全部JSP以及Servlet规范。
  16. 学习web开发,需要先安装一台web服务器,然后再在web服务器中开发相应的web资源,供用户使用浏览器访问。在本地计算机上随便创建一个web页面,用户是无法访问到的,但是如果启动tomcat服务器,把web页面放在tomcat服务器中,用户就可以访问了
  17. 不管什么web资源,想被远程计算机访问,都必须有一个与之对应的网络通信程序,当用户来访问时,这个网络通信程序读取web资源数据,并把数据发送给来访者。WEB服务器就是这样一个程序,它用于完成底层网络通迅。使用这些服务器,We应用的开发者只需要关注web资源怎么编写,而不需要关心资源如何发送到客户端手中,从而极大的减轻了开发者的开发工作量。
  18. 如果想修改Tomcat服务器的启动端口,则可以在conf文件夹内server.xml配置文件中的Connector节点进行的端口修改。
  19. HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。
  20. HTTP协议的版本:HTTP/1.0、HTTP/1.1,区别:在HTTP1.0协议中,客户端与web服务器建立连接后,只能获得一个web资源。在HTTP1.1协议中,允许在一个连接上获取多个web资源。
  21. HTTP请求:从客户端到服务器端的请求消息。包括:消息首行中,对资源的请求方法、资源的标识符及使用的协议。
  22. 一个完整的HTTP请求包括如下内容:一个请求行、若干消息头、以及实体内容。
  23. 请求行中的GET称之为请求方式,请求方式有:POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT,常用的有: GET、 POST。
  24. 默认情况下浏览器向服务器发送的都是get请求
  25. 请求方式为GET方式,则可以在请求的URL地址后以?的形式带上交给服务器的数据,多个数据之间以&进行分隔。
  26. GET方式的特点:在URL地址后附带的参数是有限制的,其数据容量通常不能超过1K。
  27. 请求方式为POST方式,则可以在请求的实体内容中向服务器发送数据。
  28. Post方式的特点:传送的数据量无限制。
  29. HTTP请求中的常用消息头:
    (1) accept:浏览器通过这个头告诉服务器,它所支持的数据类型
    (2) Accept-Charset: 浏览器通过这个头告诉服务器,它支持哪种字符集
    (3) Accept-Encoding:浏览器通过这个头告诉服务器,支持的压缩格式
    (4) Accept-Language:浏览器通过这个头告诉服务器,它的语言环境
    (5) Host:浏览器通过这个头告诉服务器,想访问哪台主机
    (6) If-Modified-Since: 浏览器通过这个头告诉服务器,缓存数据的时间
    (7) Referer:浏览器通过这个头告诉服务器,客户机是哪个页面来的 防盗链
    (8) Connection:浏览器通过这个头告诉服务器,请求完后是断开链接还是何持链接
  30. HTTP响应:一个HTTP响应代表服务器向客户端回送的数据,它包括: 一个状态行、若干消息头、以及实体内容 。
  31. 状态行格式: HTTP版本号 状态码 原因叙述
  32. 状态码用于表示服务器对请求的处理结果,它是一个三位的十进制数。响应状态码分为5类:
    ① 客户方错误
      100  继续
      101  交换协议
    ② 成功
      200  OK
      201  已创建
      202  接收
      203  非认证信息
      204  无内容
      205  重置内容
      206  部分内容
    ③ 重定向
      300  多路选择
      301  永久转移
      302  暂时转移
      303  参见其它
      304  未修改(Not Modified)
      305  使用代理
    ④ 客户方错误
      400  错误请求(Bad Request)
      401  未认证
      402  需要付费
      403  禁止(Forbidden)
      404  未找到(Not Found)
      405  方法不允许
      406  不接受
      407  需要代理认证
      408  请求超时
      409  冲突
      410  失败
      411  需要长度
      412  条件失败
      413  请求实体太大
      414  请求URI太长
      415  不支持媒体类型
    ⑤ 服务器错误
      500  服务器内部错误
      501  未实现(Not Implemented)
      502  网关失败
      504  网关超时
      505 HTTP版本不支持
  33. HTTP响应中的常用响应头(消息头)
    (1) Location: 服务器通过这个头,来告诉浏览器跳到哪里
    (2) Server:服务器通过这个头,告诉浏览器服务器的型号
    (3) Content-Encoding:服务器通过这个头,告诉浏览器,数据的压缩格式
    (4) Content-Length: 服务器通过这个头,告诉浏览器回送数据的长度
    (5) Content-Language: 服务器通过这个头,告诉浏览器语言环境
    (6) Content-Type:服务器通过这个头,告诉浏览器回送数据的类型
    (7) Refresh:服务器通过这个头,告诉浏览器定时刷新
    (8) Content-Disposition: 服务器通过这个头,告诉浏览器以下载方式打数据
    (9) Transfer-Encoding:服务器通过这个头,告诉浏览器数据是以分块方式回送的
    (10) Expires: -1 控制浏览器不要缓存
    (11) Cache-Control: no-cache
    (12) Pragma: no-cache