• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
珍珠奶茶不加糖
博客园    首页    新随笔    联系   管理    订阅  订阅
JavaWeb之HTTP概述

JavaWeb基础

JavaWeb基础

什么是HTTP协议

  • 超文本传输协议
  • 是一种客户端浏览器与服务端数据传输的一种规范
  • 无论是发送还是接收数据都要按照规范进行操作
  • 特点:
    • 它是以TCP/IP协议为基础的一个应用层协议
    • 它是基于请求/响应的处理方式协议
    • 它是一个无状态无连接的协议
  • HTTP协议版本
    • 1.0
      • 一次请求/响应只能处理一件事
      • 客户端浏览器在建立连接后,请求与响应只有一次
    • 1.1
      • 客户端浏览器在建立连接之后,会产生N次请求与N次响应
      • 通过并发的方式产生
  • HTTP协议原理
    • 创建一个基于TCP/IP协议的连接
    • 发送请求
    • 返回响应
    • 关闭连接
  • HTTP协议结构
    • 请求结构
      • BufferReader bufferReader = new BufferReader(new InputStreamReader(socket.getInputStream()))
      • 请求行
        • GET/POST+URL+协议的版本
      • 请求头
        • 客户端给服务器提供的一些额外信息
      • 请求体
        • 客户端给服务器发送的数据内容
        • 不是每次发送请求时都存在请求体,POST存在请求体,GET没有请求体
      • GET请求和POST请求区别
        • GET请求时,参数在 URL路径中
        • POST请求时,参数不在URL中出现,而是产生请求体 -- Content-Length分格上下文标识的长度
    • 响应结构
      • 状态行
        • 常见状态行
          • 200 -- 正常
          • 206 -- 部分内容异常
          • 302/307 -- 临时重定向异常
          • 400 -- 请求无效
          • 401 -- 未经授权
          • 404 -- 找不到地址
          • 500 -- 服务端异常
      • 响应头
      • 响应体
        • 服务端发送给客户端的一些额外信息

会话

  • 会话称为Session
  • 当客户端浏览器第一次访问服务端时,服务端会创建一个"标识",然后将标识响应客户端浏览器,客户端浏览器在第二次发送请求时,将携带这个标识发送给服务器。这个时候服务端就知道当前客户端的身份了
  • HTTP协议是无状态无连接的,本身不具备识别客户端浏览器身份的,需要借助于提供的会话来实现状态识别的效果
  • 特点:
    • 在客户端浏览器不关闭的情况下,服务器会识别出客户端浏览器的身份
    • 在客户端浏览器关闭的情况下,标识将会被清空,再次打开客户端浏览器时,标识就没有了,再次请求时,服务器识别不到客户单浏览器的身份,服务器就会创建一个新的标识,响应给客户端浏览器
  • 在一个会话中,可以实现多个请求,并且可以通过会话来实现数据共享
如有问题,请发送邮件至buxiaqingcheng@163.com或者buxiaqingcheng@dingtalk.com
posted on 2020-09-25 15:52  珍珠奶茶不加糖  阅读(142)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3