WEB应用知识一二三
1、HTTP协议
|--基于请求(Request)和响应(Response)的无状态通讯协议
浏览器和WEB应用程序通过HTTP进行通信。客户端通过URL对指定服务器要求特定位置的数据
|--POST和GET的区别
-->GET请求长度的限制;请求参数会拼接到URL上;会暴露重要信息;是幂等操作(多次请求都不会改变服务器上的数据和状态)
-->POST没有请求长度的限制;请求参数会封装起来;由于参数没有拼接到URL上,所以不能进行添加书签的操作;可以有效的避免缓存;不是幂等操作。
2、客户端程序和服务端程序
|--无法直接进行通信,因为执行于不同的内存地址空间;eg:WEB应用程序是通过HTTP进行通信的
-->Servlet/JSP为服务端程序,Javascript为客户端程序
执行顺序:现在服务器端将Servlet/JSP执行完之后,再将Javascript脚本返回客户端执行,所有Javascript中不可能获取到HttpServletRequest中的值。
3、Servlet/JSP
|--Servlet与CGI
-->CGI为运行在服务器上的可执行程序,每次请求都会就会启动一次程序来处理请求给服务器造成很大的负担
-->Servlet/JSP 通过容器创建,容器通过运行在服务器上的JVM进行启动,每次请求过来都由同一个容器进行处理,开启一个线程,并决定由哪一个Servlet处理,多线程处理,减轻性能负担。
4、WEB容器和HTTP服务器
|--Tomcat为WEB容器,因内置一个简单的HTTP服务器,所以可以打开直接访问
|--Apache为Http服务器,只能处理静态的内容,可以搭配Tomcat进行使用。