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. 使用bind提供域名解析服务

  2. docker下搭建fastfds

    https://blog.csdn.net/weixin_40247263/article/details/81087726 搭建过程参考 作者 https://me.csdn.net/feng_qi ...

  3. Elasticsearch(单节点)

    1 Elasticsearch搭建 1.1 通过Wget下载ElasticSearch安装包wget https://artifacts.elastic.co/downloads/elasticsea ...

  4. spring 普通类注入为null,通过自定义SpringUtils解决

    package com.jathams.spring; import org.springframework.beans.BeansException; import org.springframew ...

  5. python selenium-webdriver 常用浏览器的操作 (十)

    浏览器常用的一些方法和属性其实很简单一些方法,但是却在实际测试过程中经常使用. 浏览器中加载url 方法:get(url) 实例:driver.get("http//:www.baidu.c ...

  6. py-day4-1 python reduce函数

    from functools import reduse    从模块中导入 reduce函数: 处理一个序列,然后把序列进行合并操作 #**** 问题:求1+2+3+100的和是多少? # 一,原始 ...

  7. HD,3G视频数据中行号的插入方法---Verilog代码实现

    HD,3G视频数据中行号的插入方法---Verilog代码实现 行号的生成: `timescale 1ns / 1ps //////////////////////////////////////// ...

  8. 群晖NAS同步文件,防止Mac OS X自动休眠的办法

    背景: NAS drive同步文件到移动硬盘,需要消耗很长时间.但长时间不动电脑,mac又会自动关闭所有application,进入休眠模式,导致同步任务被终止. 使用系统的节能设置配置也没能成功关闭 ...

  9. 代理设计模式在auto_ptr及smart_ptr中的体现

    下面这段代码是auto_ptr的实现: class Image { public: Image(string name): m_imageName(name) {} virtual ~Image() ...

  10. 【mysql】字段类型和长度的解释

    int(11)最大长度是多少,MySQL中varchar最大长度是多少? int(11)最大长度是多少? 在SQL语句中int代表你要创建字段的类型,int代表整型,11代表字段的长度. 这个11代表 ...