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. 可持久化trie学习笔记

    其实很早之前就想学习可持久化trie,不过由于换队友等情况,还是优先去学数论和计算几何,今天突然心血来潮学了一发可持久化trie,感觉还是蛮简单的,不过由于自己很长时间没写过可持久化了,都快忘了是个什 ...

  2. Python实例之抓取淘宝商品数据(json型数据)并保存为TXT

    本实例实现了抓取淘宝网中以‘python’为关键字的搜索结果,经详细查看数据存储于html文档中的js脚本中,数据类型为JSON 具体实现代码如下: import requests import re ...

  3. Space Invaders 太空侵略者

    发售年份 1978 平台 街机 开发商 Taito 类型 射击 https://www.youtube.com/watch?v=MU4psw3ccUI

  4. C# CRC - 16

    using System; static class Program { static void Main() { string input = "8000"; var bytes ...

  5. 使用phpunit测试yaf项目操作步骤

    yaf + phpunit 使用phpunit对yaf进行测试的核心在于bootstrip文件的配置. *1. 首先在项目目录下创建tests文件,并在tests中创建phpunit.xml < ...

  6. mybatis中大于等于小于等于的写法

    标准写法如下: 第一种写法(1): 原符号 < <= > >= & ' "替换符号 < <= > >= & &apos ...

  7. 发布一个PHP包到Packagist, 然后使用Composer安装

    Composer 能够方便的进行项目的依赖管理,  当我们发布一个包并且希望别人通过Composer安装的时候, 就需要将包发布到Composer的包仓库Packagist上面. 下面进行详细的说明一 ...

  8. python 多线程threading的学习一

    1. import threading #引入线程模块 2 申明实例 t = threading.Thread(target  = fun, args = (,)) 说明:参数target 是要运行的 ...

  9. javaweb开发大致流程

  10. Ubuntu16.04 apt源更新

    更新源 安装好系统后,先更新源,方便后面能比较快地下载各种软件包. 备份/etc/apt/sources.list,然后将内容全部替代为: # deb cdrom:[Ubuntu 16.04 LTS ...