首页 > 其他分享 >学习之请求报文

学习之请求报文

时间:2024-02-29 13:12:35浏览次数:25  
标签:浏览器 请求 GET 报文 学习 参数 post POST

3.2.2 请求报文

客户端发给服务端的报文

  • 请求报文格式
    • 请求首行(请求行); GET/POST 资源路径?参数 HTTP/1.1(默认是通过GET请求获取服务器信息)(通常表单提交信息到服务器用POST请求)
    • 请求头信息(请求头);
    • 空行;
    • 请求体;POST请求才有请求体

浏览器 f12 网络下查看请求数据包

1681524200024

form表单发送GET请求特点

1、由于请求参数在请求首行中已经携带了,所以没有请求体,也没有请求空行
2、请求参数拼接在url地址中,地址栏可见[url?name1=value1&name2=value2],不安全
3、由于参数在地址栏中携带,所以由大小限制[地址栏数据大小一般限制为4k],只能携带纯文本
4、get请求参数只能上传文本数据
5、没有请求体。所以封装和解析都快,效率高, 浏览器默认提交的请求都是get请求比如:地址栏输入回车,超链接,表单默认的提交方式

查看GET请求行,请求头,请求体

  • 请求行组成部分
    • 请求方式 GET
    • 访问服务器的资源路径?参数1=值1&参数2=值2 ... ...
    • 协议及版本 HTTP/1.1
GET /05_web_tomcat/login_success.html?username=admin&password=123213 HTTP/1.1
  • 请求头
-主机虚拟地址
Host: localhost:8080   
-长连接
Connection: keep-alive 
-请求协议的自动升级[http的请求,服务器却是https的,浏览器自动会将请求协议升级为https的]
Upgrade-Insecure-Requests: 1  
- 用户系统信息
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36
- 浏览器支持的文件类型
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
- 当前页面的上一个页面的路径[当前页面通过哪个页面跳转过来的]:   可以通过此路径跳转回上一个页面, 广告计费,防止盗链
Referer: http://localhost:8080/05_web_tomcat/login.html
- 浏览器支持的压缩格式
Accept-Encoding: gzip, deflate, br
- 浏览器支持的语言
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7
  • 请求空行

  • 请求体

    • GET请求数据不放在请求体

form表单发送post请求特点

1、POST请求有请求体,而GET请求没有请求体。
2、post请求数据在请求体中携带,请求体数据大小没有限制,可以用来上传所有内容[文件、文本]
3、只能使用post请求上传文件
4、post请求报文多了和请求体相关的配置[请求头]
5、地址栏参数不可见,相对安全
6、post效率比get低

  • POST请求要求将form标签的method的属性设置为post

1681525012046

查看post的请求行 请求头 请求体

  • 请求行组成部分
    • 请求方式 POST
    • 访问服务器的资源路径?参数1=值1&参数2=值2 ... ...
    • 协议及版本 HTTP/1.1
POST /05_web_tomcat/login_success.html HTTP/1.1
  • 请求头
Host: localhost:8080
Connection: keep-alive
Content-Length: 31     -请求体内容的长度
Cache-Control: max-age=0  -无缓存
Origin: http://localhost:8080
Upgrade-Insecure-Requests: 1  -协议的自动升级
Content-Type: application/x-www-form-urlencoded   -请求体内容类型[服务器根据类型解析请求体参数]
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Referer: http://localhost:8080/05_web_tomcat/login.html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7
Cookie:JSESSIONID-
  • 请求空行

  • 请求体:浏览器提交给服务器的数据

标签:浏览器,请求,GET,报文,学习,参数,post,POST
From: https://www.cnblogs.com/drip3775/p/18043418

相关文章

  • 学习之@WebServlet
    3.1@WebServlet注解源码官方JAVAEEAPI文档下载地址JavaEE-Technologies(oracle.com)@WebServlet注解的源码阅读packagejakarta.servlet.annotation;importjava.lang.annotation.Documented;importjava.lang.annotation.ElementType;importjava.lang.ann......
  • 学习之生命周期
    Servlet生命周期4.1生命周期简介什么是Servlet的生命周期应用程序中的对象不仅在空间上有层次结构的关系,在时间上也会因为处于程序运行过程中的不同阶段而表现出不同状态和不同行为——这就是对象的生命周期。简单的叙述生命周期,就是对象在容器中从开始创建到销毁的过程。......
  • 学习之Session
    1.3.2HttpSession的使用用户提交form表单到ServletA,携带用户名,ServletA获取session将用户名存到Session,用户再请求其他任意Servlet,获取之间存储的用户定义表单页,提交用户名,提交后<formaction="servletA"method="post">用户名:<inputtype=......
  • 学习之Cookie
    1.2.3Cookie的提交路径访问互联网资源时不能每次都需要把所有Cookie带上。访问不同的资源时,可以携带不同的cookie,我们可以通过cookie的setPath(Stringpath)对cookie的路径进行设置从ServletA中获取cookiepublicclassServletAextendsHttpServlet{@Override......
  • 学习之会话
    一会话1.1会话管理概述1.1.1为什么需要会话管理HTTP是无状态协议无状态就是不保存状态,即无状态协议(stateless),HTTP协议自身不对请求和响应之间的通信状态进行保存,也就是说,在HTTP协议这个级别,协议对于发送过的请求或者响应都不做持久化处理简单理解:浏览器发送请......
  • 学习之XML
    一XMLXML是EXtensibleMarkupLanguage的缩写,翻译过来就是可扩展标记语言。所以很明显,XML和HTML一样都是标记语言,也就是说它们的基本语法都是标签。可扩展三个字表面上的意思是XML允许自定义格式。但这不代表你可以随便写。在XML基本语法规范的基础上,你使用的那些第三......
  • 前端学习-vue学习005-条件渲染
    使用教程使用v-if,v-else指令来有条件地渲染元素:如下例,当awesome值为真值(Truthy)时渲染第一个h1,否则渲染第二个h1<h1v-if="awesome">Vueisawesome!</h1><h1v-else>Ohno......
  • 最大流学习笔记
    (该笔记用于复习,请不要用此学习)最大流问题对于输入的一个有向图,对于一条边(u,v,w),我们建立一个图包含(u,v,w)和(v,u,0)dinic算法的步骤:1.对当前图进行bfs(只有边权>0的可以走),找到源点到每个点的最短路2.判断源点是否可以走到汇点(bfs完直接判断即可)可以->下一步不可以->返回当......
  • 实战上,通过一段ID 生成器代码,学习如何发现,代码质量的问题(设计模式)
    ID生成器的需求背景介绍ID中文翻译为标识Identifier,这个概念在生活,工作中随处可见,比如身份证、商业条形码、二维码、车牌号、驾照号。聚焦到软件开发中,ID常用来标识一些业务信息的唯一标识,比如订单的单号或者数据库中的唯一主键,比如地址中ID字段(实际上时没有业务含义的,对用......
  • 扣子(coze.cn)| 由浅入深,手把手带你实现Java转型学习助手
    扣子(coze.cn)是一款用来开发新一代AIChatBot的应用编辑平台,无论你是否有编程基础,都可以通过这个平台来快速创建各种类型的ChatBot,并将其发布到各类社交平台和通讯软件上!2月1日,扣子国内版已经正式上线啦~赶快来体验一下吧!一转眼,ChatGPT已经在AI界炙手可热超过一年,堪称新晋......