1.http协议(http协议是无状态的)

http协议是指计算机通信网络中两台计算机进行通信必须共同遵守的规定或规则,它允许将超文本标记语言(html)文档从web服务器传送到客户端的浏览器(目前我们使用的是http/1.1版本)。

(1)客户端浏览器和服务器的交互原理:当我们在浏览器输入url后,我们的浏览器给web服务器发送了一个request请求,服务器接收到request后进行处理,生成相应的response响应对象,返回给客户端浏览器,浏览器分析response中的html,发现其中引用了很多其他文件,比如图片,css,js,浏览器会再多次发送request请求去获取图片,css,js;

(2)状态码:Response消息中的第一行叫做状态行,由HTTP协议版本号,状态码, 状态消息三部分组成。状态码用来告诉HTTP客户端,HTTP服务器是否产生了预期的Response HTTP/1.1中定义了5类状态码, 状态码由三位数字组成,第一个数字定义了响应的类别

1XX提示信息-表示请求已被成功接收,继续处理

2XX成功-表示请求已被成功接收,理解,接受

3xx重定向-要完成请求必须进行更进一步的处理!

4XX客户端错误-请求有语法错误或请求见法实现

5xX 服务器端错误- 服务器末能实现合法的请求!

常见状态码:200表示成功!  302 表示重定向  304 表示上次的文档被缓存,可以继续使用  400:客户端请求错误,不被服务器所理解  403:服务器收到请求但是拒绝服务  404:请求资源不存在   500:服务器发生了不可预期的错误

(3)http协议定义了许多与服务器交互的方法,最基本的4种分别是GET,POST.PUT,DELETE,一个url地址用于描述一个网络上的资源,而GET,POST,PUT,DELETE分别对应着对这个资源的查改增删;最常见的就是GET,POST GET一般用于获取,查询资源信息,而POST一般用于更新资源信息

GET,POST的区别 :1.GET提交的数据会放在url之后,url和传输数据之间以?分割,参数之间以&相连(所以GET提交方式有安全隐患)  POST方法是把提交的数据http包中的body中  2.GET提交的数据大小有限制,而POST提交数据没有限制  3.GET方式需要使用RequestQueryString来取得变量的值,而POST方式通过RequestForm来取得变量的值  

二。servlet的生命周期

加载类-->实例化(为对象分配空间)-->初始化(为对象的属性赋值)-->请求处理(服务阶段)-->销毁  其中加载阶段是无法观察的,初始化的时候可以调用init方法,服务阶段调用service方法,摧毁阶段调用destroy方法

http协议,servlet的生命周期的更多相关文章

  1. Servlet的生命周期及工作原理

    Servlet生命周期分为三个阶段: 1,初始化阶段  调用init()方法 2,响应客户请求阶段 调用service()方法 3,终止阶段 调用destroy()方法 Servlet初始化阶段: 在 ...

  2. Servlet的生命周期+实现方式

    1.Servlet的生命周期:        (1)被创建:            默认情况下,Servlet第一次被访问时,被服务器创建.会调用init()方法.                一个 ...

  3. JavaWeb学习之Servlet(二)----Servlet的生命周期、继承结构、修改Servlet模板

    [声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4140466.html 一.http协议回顾: 在上一篇文章中:JavaW ...

  4. Servlet学习笔记(1)--第一个servlet&&三种状态对象(cookie,session,application)&&Servlet的生命周期

    servlet的404错误困扰了两天,各种方法都试过了,翻书逛论坛终于把问题解决了,写此博客来纪念自己的第一个servlet经历. 下面我会将自己的编写第一个servlet的详细过程提供给初学者,大神 ...

  5. servlet的生命周期与工作原理、使用!

    概念: Servlet是一个java程序运行在服务器上,处理客户端请求并做粗响应的程序!Servlet是和平台无关的服务器组件,它运行在Servlet容器中,Servlet容器 负责servlet和客 ...

  6. Servlet的生命周期与运行原理

    Servlet的生命周期:    1 加载classLoader    2 实例化 new    3 初始化 init(ServletConfig)    4 处理请求 service doGet d ...

  7. servlet的生命周期和servlet的继承关系

    一.servlet的生命周期 一个servlet类的对象   加载——>实例化——>初始化——>服务——>销毁 第一次访问某个servlet的时候 首先调用其 构造函数 pub ...

  8. (转)JavaWeb学习之Servlet(二)----Servlet的生命周期、继承结构、修改Servlet模板

    [声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4140466.html 一.http协议回顾: 在上一篇文章中:JavaW ...

  9. (转)Servlet的生命周期——初始化、运行、销毁全部过程

    背景:面试中很基础的一个问题,所以有必要好好整理一番. Servlet体系结构是建立在 Java 多线程机制上的,它的生命周期由 Web 容器负责. 当客户端第一次请求某个 Servlet 时,Ser ...

随机推荐

  1. Python每日练习汇总

    练习1 2019-3-19# 写一个函数实现99乘法表 def x99(x): if x >=1 and x <=9: line = 1 while line <= x: start ...

  2. XPATH 要想获取的东西里不分段,不变成列表就用STRING(),不用TEXT()

    简单说一说: requests配合xpath来抓网站数据的时候,不像selenium+xpath. selenium有  find_element  find_elements,区别是带S ,查找第一 ...

  3. 在linxu机器ansible上运行启动django项目命令

    source py3env/bin/activate  进入虚拟环境 cd /xiangmulujing     进入项目路径 然后就可以执行运行命令了 python manage.py runser ...

  4. 游戏编程算法与技巧 Game Programming Algorithms and Techniques (Sanjay Madhav 著)

    http://gamealgorithms.net 第1章 游戏编程概述 (已看) 第2章 2D图形 (已看) 第3章 游戏中的线性代数 (已看) 第4章 3D图形 (已看) 第5章 游戏输入 (已看 ...

  5. DevExpress GridControl控件行内新增、编辑、删除添加选择框

    以下为内容以图片居多1234表示点击顺序 先新增一行 操作和新增数据行一样 打开ColumnEdit  选择new ButtenEdit  new上方会出现一个系统命名的button 命名可以更改必须 ...

  6. nil和Nil及NULL的区别(仅作记录)

    今天在研究红黑树的时候一直提到一个NIL节点,百度了一下,这里仅作记录 nil是一个对象值,如果要把一个对象设置为空的时候就用nil.Nil是一个类对象的值,如果要把一个Class类型的对象设置为空的 ...

  7. python简明教程代码

    #!user/bin/env python #-*- coding:utf-8 -*- # code001 print('hello world') (only one quotation mark, ...

  8. Java8-Optional与null

    对null进行处理 程序中经常需要对null情况进行处理,比如Course类中有一个List stuList属性,Student有一个name属性. 现在想要查看某个student的name属性的长度 ...

  9. Java 锁的学习

    个人学习整理,所有资料均来源于网络,非原创. 死锁的四个必要条件:互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用.请求与保持条件(Hold and wait):已经得 ...

  10. 将NULL值转化为“”

    // 将NULL转化为“”,1是需要修改的实体类参数,3是转化后的实体对象 String 2= JSON.toJSONString(1, SerializerFeature.WriteNullStri ...