欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

HTTP协议_servlet基础

程序员文章站 2022-05-03 11:53:43
一、定义 http(Hyper Text Transfer Protocol):超文本传输协议 二、作用 数据传输 三、概念 HTTP消息: 1.客户端发向服务器的请求消息 2.服务器回给客户端的响应消息 客户端和服务器之间的信息交换过程 1.客户端和服务建立连接 2.客户端向服务器发送请求 3.服 ......
一、定义
http(hyper text transfer protocol):超文本传输协议
二、作用
数据传输
三、概念
http消息:
1.客户端发向服务器的请求消息
2.服务器回给客户端的响应消息
客户端和服务器之间的信息交换过程
1.客户端和服务建立连接
2.客户端向服务器发送请求
3.服务器对客户端进行响应
4.断开连接
http协议的特点:
1.http协议是一个无状态的协议
2.http1.1支持连续连接,一次连接可以发送多个请求
 
、消息的基本格式
1.请求消息的基本格式
一个请求行
请求方式 资源路径 http版本号
多个请求头
一个空行
请求实体
 
2.响应消息的基本格式
一个状态行
http版本号 http状态码 http状态描述
若干应答头
一个空行
响应实体
 
servlet:
一、什么是servlet?
servlet = server applet
 
二、servlet本质
本质上是java代码,和以前写的java代码有些许的不同:
1.实现了特殊的接口、或继承了特殊的java类
2.servlet不能由程序员去执行,由支持servlet的web服务器运行
3.一个servlet负责对应的一个或一组url访问请求,并返回相应的响应内容。
 
三、servlet的运行流程
1.浏览器在地址栏中指定url,发起一个请求
2.服务器根据url的内容,进行解析,找到对应的servlet
3.serlvet执行代码,并返回数据给服务器
4.服务器将数据返回给浏览器
5.浏览器解析数据,展示数据
 
 
 
 
http补充:
一个基本的http请求包括:
一个请求行、若干请求头(消息头)、实体内容
• 请求行格式:
请求方式 资源路径 http版本号
• 几种的请求方式:
– get 请求获取由request-uri所标识的资源
– post 在request-uri所标识的资源后附加新的数据
– head 请求获取由request-uri所标识的资源的响应消息报头
– delete 请求服务器删除由request-uri所标识的资源
– trace 请求服务器回送收到的请求信息,主要用于测试或诊断
– put 请求服务器存储一个资源,并用request-uri作为其标识
 
通用消息头---既可以用于请求消息、又可用于响应 消息
  • connection:用于指定处理完本次请求/响应后,是否还要 继续保持连接。
  • date:产生当前消息的时间。
  • pragma:no-cache.
  • cache-control:指示浏览器或服务器缓存的具体策略
  • content-length:表示(请求/响应)正文的长度
 
请求头
  • accept:浏览器可接受的mime类型。
  • accept-charset:浏览器可接受的字符集。
  • accept-encoding:浏览器能够进行解码的数据编码方式,比如gzip。 servlet能够向支持gzip的浏览器返回经gzip编码的html页面。许多情形 下这可以减少5到10倍的下载时间。
  • accept-language:浏览器所希望的语言种类,当服务器能够提供一种以 上的语言版本时要用到。
  • connection:表示是否需要持久连接。
  • content-length:表示请求消息正文的长度。
  • host:初始url中的主机和端口。
  • referer:包含一个url,用户从该url代表的页面出发访问当前请求的页 面。
  • user-agent:浏览器类型,如果servlet返回的内容与浏览器类型有关则 该值非常有用。
 
响应头
  • allow 服务器支持哪些请求方法(如get、post等)
  • server 处理请求的原始服务器的软件信息
  • location 表示客户应当到哪里去提取文档。
  • refresh:告诉浏览器过n秒后自动刷新页面
  • content-type 表示实体文档属于什么mime类型。
  • content-length 返回的实体内容的长度
  • last-modified 文档的最后改动时间。
  • content-location:实体所在的实际位置路径
 
get请求和post请求有何不同?
• get请求 1.请求的数据会附在url之后,以?分割url和传输数据,多个参数用& 连接。 2.特定浏览器和服务器对url长度有限制,例如ie对url长度的限制是 2083字节(2k+35)。
• post请求 1.没有缓存,请求信息不会在地址栏中出现,这样很安全 2.请求信息会储存在请求实体内容,理论上没有大小限制,这样就保 证了不会出现请求信息过长而响应错误的信息。