• 01 HTTP协议_servlet基础


    一、定义
    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.请求信息会储存在请求实体内容,理论上没有大小限制,这样就保 证了不会出现请求信息过长而响应错误的信息。
     
  • 相关阅读:
    接口限流算法小记
    mac下操作小记
    Java代理(静态代理、JDK动态代理、CGLIB动态代理)
    关系数据库(RDBMS)小记
    Socket端口复用
    SSH使用小记
    HTTP缓存及其使用
    关于浏览器跨域访问(同源策略)
    awk入门教程
    链路追踪工具之Zipkin学习小记
  • 原文地址:https://www.cnblogs.com/aknife/p/10827045.html
Copyright © 2020-2023  润新知