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. Incjector

    网上的注入工具很多,大多也有比较详细的解释,但是大部分windows下的注入软件都是对自己软件的一种推荐,而且很多也不是非常的安全,对于有些破解版本来说,很可能自身会被带有木马,所以,Linux下的注 ...

  2. python,pil库的小应用

    <pre>#euraxluo 5.15 #obj_1#跳一跳的外挂 from PIL import Image import subprocess import time import r ...

  3. PythonStudy——迭代器 iterator

    # 迭代器对象: 可以不用依赖索引取值的容器# 可迭代对象:可以通过某种方法得到迭代器对象 # 迭代器优点:可以不用依赖索引取值# 迭代器缺点:只能从前往后依次取值 可迭代对象 # 可迭代对象:有__ ...

  4. rust debug之基于pdb

    方法一: 用visual studio 步骤: 安装msvc工具链 rustup toolchain install stable-x86_64-pc-windows-msvc 切换到该工具链 rus ...

  5. MySQL 5.6 以上版本支持三种sql_mode模式:ANSI、TRADITIONAL和STRICT_TRANS_TABLES。

    Field 'id' doesn't have a default value问题解决方法 运维的名义关注0人评论3323人阅读2018-01-23 17:37:42   MySQL 5.0 以上版本 ...

  6. swoole之代码热更新实现 转自https://blog.csdn.net/nep_tune/article/details/81329918

    随着swoole的版本迭代更新,已经足够稳定了,在阿里,腾讯,yy等各大公司都有着使用,也有很多游戏圈里的朋友也在使用,这些朋友经常会提到一个问题,每次代码更新还需要停止服务,然后重新启动,来达到更新 ...

  7. Linux shell 重定向学习笔记

    在了解重定向之前,我们先来看看linux 的文件描述符. linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读 ...

  8. Lattice并购案和我国FPGA发展道路

    引用 http://www.cnblogs.com/alifpga/p/9292588.html FPGA作为通信.航天.军工等领域的关键核心器件,是保障国家战略安全的重要支撑基础.近年来,随着数字化 ...

  9. 【json】与【枚举】的序列化和反序列化

    参考:Jackson – Deserialization from json to Java enums 问题描述 java中使用枚举时,如果涉及到restful调用,不可避免会涉及到枚举的序列化和反 ...

  10. logback.xml例子

    我项目中一直使用这样的模板,留档,并纪念. <?xml version="1.0" encoding="UTF-8"?> <configura ...