icode icode
首页
  • Android学习

    • 📁基础内容
    • 📺AndroidCore
    • 🎨Android-UI
    • 🏖️Components
    • 📊Fragment
    • 🔗网络操作
    • 🔏异步机制
    • 📦数据存储
    • 🗃️Gradle
  • 学习笔记

    • 『框架』笔记
    • 『Kotlin』笔记
    • 《Vue》笔记
    • 《Git》学习笔记
    • 『Bug踩坑记录』
  • ListView
  • RecyclerView
  • ViewPager
  • Java笔记

    • 🟠JavaSE
    • 🟢JavaWeb
    • 🔴JavaEE
    • ⚪JavaTopic
    • 🍳设计模式
  • 计算机基础

    • 📌计算机网络
    • 🔍数据结构
    • 📦数据库
    • 💻OS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
  • 关于

    • 📫关于我
  • 收藏

    • 网站
    • 资源
    • Vue资源
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

iqqcode

保持对技术的探索实践与热爱
首页
  • Android学习

    • 📁基础内容
    • 📺AndroidCore
    • 🎨Android-UI
    • 🏖️Components
    • 📊Fragment
    • 🔗网络操作
    • 🔏异步机制
    • 📦数据存储
    • 🗃️Gradle
  • 学习笔记

    • 『框架』笔记
    • 『Kotlin』笔记
    • 《Vue》笔记
    • 《Git》学习笔记
    • 『Bug踩坑记录』
  • ListView
  • RecyclerView
  • ViewPager
  • Java笔记

    • 🟠JavaSE
    • 🟢JavaWeb
    • 🔴JavaEE
    • ⚪JavaTopic
    • 🍳设计模式
  • 计算机基础

    • 📌计算机网络
    • 🔍数据结构
    • 📦数据库
    • 💻OS
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
  • 关于

    • 📫关于我
  • 收藏

    • 网站
    • 资源
    • Vue资源
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • JavaSE

  • JavaWeb

    • BootStrap

    • Cookie和Session

    • JavaScript

    • JDBC

    • JQuery

    • JSON

    • JSP

    • Maven

    • Servlet

      • Servlet执行原理
      • Servlet生命周期
      • Servlet体系结构
      • Servlet之HTTP请求
        • Request对象
        • 登录案例
        • BeanUtils
        • Response响应
        • ServletContext对象
        • IDEA导入Eclipse SSM项目参考
      • Tomcat

      • XML

    • JavaEE

    • JavaTopic

    • 设计模式

    • 计算机基础

    • Java后端
    • JavaWeb
    • Servlet
    iqqcode
    2021-06-17
    目录

    Servlet之HTTP请求

    # 1.Http传输协议

    PS:这里只是做简单的介绍,更详细的会在后面俺系统学习网络知识时再详细写。

    概念:Hyper Text Transfer Protocol 超文本传输协议

    传输协议:定义了客户端和服务器端通信时发送数据的格式 C:\Users\j2726\AppData\Roaming\Typora\typora-user-images

    • 客户端给服务器发送请求消息,服务器在接收到客户端发来的消息后,服务器会再给客户端回应一个响应消息

    • Http传输协议就是服务器与客户端之间消息内容的标准,双方有了一个标准(约定)后,才能彼此建立通信

    那么,问题来了??我打开一次百度首页,服务器需要给我的PC响应几次呢?

    这段话写的很好,送给即将秋招毕业的自己和大家,一起加油吧!

        你在电脑前看这段文字,
    
        写文字的人在百度等你。
    
        N年前你来到了这个世界,
    
        N年后你想改变世界。
    
        期待你脚踏祥云,
    
        与百度一起改变世界。
    

    在这里插入图片描述

    • 答案是响应多次

    在这里插入图片描述

    在Network这一栏,每一个Name就是对应一次请求。

    每一个图片,js,css文件都是单独的请求,他们都是独立请求的。先建立连接,然后发送数据,最后断开连接。然后这个页面的每一个资源都是如此。所以发送了多次请求!


    特点

    1. 基于 TCP / IP 的高级协议
    2. 默认端囗号:80
    3. 基于 请求/响应 模型的:一次请求对应一次响应
    4. 无状态的:每次请求之间相互独立,不能交互数据

    历史版本

    1.0:每一次请求响应都会建立新的连接

    1.1:复用连接

    就像是上面百度首页的响应,在1.0时资源A请求完之后会立即断开连接,这样当页面资源很多时会很耗时。而1.1版本则是A获取完资源后不会立即断开,会有一个等待时间,如果在此时间段内有客户端有请求,则会复用这个连接继续响应。

    # 2. 请求消息数据格式

    # 2.1 请求行

    请求方式 请求url 请求协议/版本

    GET /login.html HTTP/1.1

    请求方式:

    I. GET

    • 请求参数在请求行中,在URL之后
    • 请求的URL长度有限制
    • GET不安全 C:\Users\j2726\AppData\Local\Temp

    II. POST

    • 请求参数在请求体中
    • 请求的URL长度无限制
    • POST相对安全

    # 2.2 请求头

    请求头名称:请求头值

    常见的请求头:

    1. User-Agent:浏览器告诉服务器,你使用的浏览器版本信息
    • 可以在服务器端获取该头的信息,解决浏览器的兼容性问题
    1. Referer:http://localhost/login.html (opens new window)
    • 告诉服务器,我从哪里来?

      作用:

      • 防止盗取链接(盗版视频播放网站)

      • 统计工作:

    # 2.3 请求空行

    空行,就是用于分割POST请求的请求头和请求体的。

    # 2.4请求体

    请求体(正文)

    封装POST请求消息的请求参数的


    字符串格式:

    GET /login.html HTTP/1.1

    Host:localhost

    User-Agent:Mozilla/5.e(Windows NT 6.1;Win64;×64;rv:60.0)Gecko/20100101 Firefox/60.0

    Accept:text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8

    Accept-Language:zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

    Accept-Encoding:gzip,deflate

    Referer:http://localhost/login.html

    Connection:keep-alive

    Upgrade-Insecure-Requests:1

    空行,就是用于分割POST请求的请求头和请求体

    uername = Mr.Q


    # 3.响应消息数据格式

    request对象和response对象的原理

    1. request和response对象是由服务器创建的,我们来使用它们

    2. request对象是来获取请求消息,response对象是来设置响应消息

    在这里插入图片描述

    编辑 (opens new window)
    上次更新: 2021/06/27, 10:49:09
    Servlet体系结构
    Request对象

    ← Servlet体系结构 Request对象→

    最近更新
    01
    匿名内部类
    10-08
    02
    函数式接口
    10-08
    03
    ARouter-Kotlin踩坑
    10-05
    更多文章>
    Theme by Vdoing | Copyright © 2021-2023 iqqcode | MIT License | 备案号-京ICP备2021028793号
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式
    ×