本章学完之后能干什么?
要把 知识点学好,那就需要把它相关的周边知识点了解全面
HTTP协议是web学习的核心!!!
学东东切忌只学配置,不学原理:只学会框架有什么用,要会自己写框架!!
web学习直接关系到J2EE的学习
一、HTTP 超文本传输协议 人类之所发展得如此快,就是因为有自己的语言

1、所谓超文本:即纯文本语言,不依赖于任何特定语言,任何语言都可以操作它(如java、c++)

2、传入:HTTP的应用价值在于传输

3、HTTP是无状态协议

基于请求/响应模型

服务器和客户端的交互仅限于请求/响应过程,结束之后便断开,在下一次请求服务器会认为新的客户端

二、要真正理解web工作原理,就必须彻底了解http协议
三、HTTP请求信息(浏览器信息)
       1、请求行:GET/POST(流的组织(请求)方式) URL(地址+目录) 版本号

2、请求头:Host:客户端IP和端口

User-Agent:浏览器信息

Accept:客户端能接收的数据类型

Accept-encoding:是否支持压缩的流

Accept-charset:客户端字符编码集

3、空行:分割请求头和消息体

4、消息体:请求的参数

四、HTTP响应信息(服务器信息)
       1、状态行:HTTP版本
 服务器状态(比如:404找不到...) 描述信息
       2、响应头

content-text:服务器发送信息的类型

date:发送时间

server:服务器类型

3、消息体:服务器发送给客户端的页面内容

五、模型
       客户端-----通过socket建立连接-----服务器

客户端-----请求----->服务器

客户端<-----响应-----服务器

客户端-----断开-----服务器

下一次连接.......

六、传统服务器
       缺点:无法生成动态页面

于是加入一个辅助应用:通过客户端提交的参数来选择服务类型

七、辅助应用
       1、在获取请求之后先执行一段代码,再返回页面

2、根据客户端请求参数来调用辅助应用

3、类似word文档,需要注册(注册表)

八、对于服务器的缺点的解决方案
       1、最早的解决方案:CGI通用网关接口(一种与外部程序通讯的标准)

原理:web服务器调用外部程序,再将返回的结果返回客户端

CGI的缺点:每次客户端请求都要在服务器上开启一个进程,这样会大大消耗服务器资源

更好的解决方案是:开启服务器进程一次,就处理所有请求

2、java的解决方案(解决CGI的缺点:其实CGI是现在web服务器的鼻祖):servlet+web容器

servlet是一个与平台无关的java接口

理解servlet,是掌握javaweb编程的核心
          sevlet受控于另一个java应用程序,它就是web容器

servlet+web容器:为每个请求开启一个线程,线程占用进程的一部分

sevlet没有main方法,说明它要被别的类web容器调用

servlet到web容器需要用xml文件注册,而xml的解析由web容器封装

九、web容器对servlet的支持包括:
       1、通讯支持:解析流,封装请求/响应对象

2、生命周期管理:我们书写的servlet由容器来调用,也就是sevlet的产生和消亡生命周期

3、多线程支持:解决线程同步,开启关闭等,由容器厂商来做

4、JSP支持:翻译页面

5、处理安全性:处理异常等等,比如:servlet抛出异常,由web容器来处理

总结:web容器主要是用于,给处于容器中的应用程序组件(servlet、jsp)提供一个环境,

使sevlet和jsp直接和容器中的环境变量交互。

这样我们就可以把注意力放在,用servlet实现业务逻辑上,不必为

系统底层服(如线程管理,安全性和网络通信等)务编写代码。
十、web容器的实现
       根据sevlet的规范来实现web容器

servlet规范之定义了一个容器必须实现的标准功能。那么不同的容器厂商就有了更多的容器实现选择:

Tomcat

Jboss

WebLogic

WebSphere

Orecle9i
AS

转载地址:http://blog.sina.com.cn/s/blog_4b5bc0110100ftgp.html

HTTP协议和web工作原理的更多相关文章

  1. http协议和web应用有状态和无状态浅析

    http协议和web应用有状态和无状态浅析 (2013-10-14 10:38:06) 转载▼ 标签: it   我们通常说的web应用程序的无状态性的含义是什么呢? 直观的说,“每次的请求都是独立的 ...

  2. http协议和web本质

    转载:http://www.cnblogs.com/dinglang/archive/2012/02/11/2346430.html http协议和web本质 当你在浏览器地址栏敲入“http://w ...

  3. C/S B/S 及WEB工作原理

     一.C/S B/S区别 (http://wenku.baidu.com/link?url=e8bxaqz_lYCXws6TlDRJEq1qsLumNTBhr3Es6eA1ZuhHhq9FZGbVgo ...

  4. web基础-web工作原理,http协议,浏览器缓存

    1,web工作原理 2,http协议 3,浏览器缓存 4,cookie和session -------------------------------------------------------- ...

  5. 第一章 Java Web工作原理

    一:在本章我们将学到如下的内容 >HTTP协议原理 >服务器端Web编程原理 >Servlet与Web容器 >Java Web应用程序的组成 >Tomcat介绍 一:1. ...

  6. HTTP协议和WEB应用

    一.应用层协议原理 1.套接字(Socket):主机地址+端口地址.(通常为32位IP地址和16位端口号组成,总长度为48位) 2.进程通过套接字来接收和发送报文.因特网运输层将所提供的服务整合成两种 ...

  7. HTTP协议和WEB框架

    一.HTTP协议 <<HTTP权威指南>>读书笔记:https://www.cnblogs.com/qcssmd/p/5508150.html 一.HTTP简介 HTTP协议是 ...

  8. http协议和web本质(转)

    当你在浏览器地址栏敲入“http://www.cnblogs.com/”,然后猛按回车,呈现在你面前的,将是博客园的首页了(这真是废话,你会认为这是理所当然的).作为一个开发者,尤其是web开发人员, ...

  9. Http协议和web本职【转自丁码农】

    当你在浏览器地址栏敲入“http://www.cnblogs.com/”,然后猛按回车,呈现在你面前的,将是博客园的首页了(这真是废话,你会认为这是理所当然的).作为一个开发者,尤其是web开发人员, ...

随机推荐

  1. ZOJ 2853 Evolution 【简单矩阵快速幂】

    这道题目第二次看的时候才彻底理解了是什么意思 把题目转化为数学模型分析后就是 有一个初始序列, 有一个进化率矩阵 求的是初始序列 与进化率矩阵进行 m 次运算后, 初始序列最后一位的答案 那么显然,可 ...

  2. USACO Longest Prefix 【水】

    用Dp的思想解决了这道题目,也就是所谓的暴力= = 题意:给出一个集合,一个字符串,找出这个字符串的最长前缀,使得前缀可以划分为这个集合中的元素(集合中的元素可以不全部使用). 还不会Trie 树QA ...

  3. CodeForces 260A Adding Digits

    这道题目的意思是给你提供a, b, n 三个数 a为 输入的数字 ,你需要在a后面加n次 ,每次可以加0-9 但要保证每次加上去的那个数字能被b整除 不过数据规模有点大,用搜索会MLE(即使开了个开栈 ...

  4. 【集训笔记】二分图及其应用【HDOJ1068【HDOJ1150【HDOJ1151

    匈牙利算法样例程序 格式说明 输入格式: 第1行3个整数,V1,V2的节点数目n1,n2,G的边数m 第2-m+1行,每行两个整数t1,t2,代表V1中编号为t1的点和V2中编号为t2的点之间有边相连 ...

  5. MVC-01 概述

    一.何谓MVC 1.MVC是开发时所使用的一种架构(框架). 2.目的在于简化软件开发的复杂度,以一种概念简单却又权责分明的架构,贯穿整个软件开发流程,通过“商业逻辑层”与“数据表现层”的切割,让这两 ...

  6. Chrome设计文档-多进程资源加载

    原文:Multi-process Resource Loading 背景 浏览器主进程及browser process处理所有的网络通信.原因有三点: Browser process可以控制每一个re ...

  7. Delphi资源大全

    A curated list of awesome Delphi frameworks, libraries, resources, and shiny things. Inspired by awe ...

  8. 登陆整合实现-QQ互联认证(ASP.NET版本)

    原文:登陆整合实现-QQ互联认证(ASP.NET版本) 首先 我们创建一个qq.ashx的页面,这个页面会跳转到QQ的请求界面 代码如下: QQSettingConfig qqSettingConfi ...

  9. HDU 4740 模拟题意

    九野的博客,转载请注明出处:http://blog.csdn.net/acmmmm/article/details/11711743 题意:驴和老虎在方格中跑,跑的方式:径直跑,若遇到边界或之前走过的 ...

  10. Android平台调用Web Service:演示样例

    近期在学习Android,随着移动设备的流行,当软件走上商业化的道路,为了争夺市场,肯定须要支持Android的,所以開始接触了Android,只是仅仅了解皮毛就好,由于我们要做管理者嘛,懂点Andr ...