当前位置: 首页 > news >正文

浅析HTTP协议

文章目录

    • 1.HTTP协议介绍
      • 内容讲解
      • 内容小结
    • 2.浏览器抓包观察请求报文协议
      • 内容讲解
      • 内容小结

在这里插入图片描述


1.HTTP协议介绍

内容讲解

【1】概念

全称:超文本传输协议(HTTP,HyperText Transfer Protocol) 是互联网上应用最为广泛的一种网络协议(属于应用层协议)。

简而言之:浏览器和服务器数据交换固定的格式。

【2】版本

HTTP协议版本如下:

​ 1). http1.0 (1996) : 每次请求都有一个新的连接(开销大,比较慢)
​ 2). http1.1 (1999) : 长连接,多个请求共用一个连接(开销小一些,比较快)
​ 传输的数据都是文本(比较慢)

【3】分类

分为两类:

​ 1)请求报文协议(浏览器发送给服务器的数据 ):1)请求行 2)请求头 3)请求体

​ 2)响应报文协议(服务器发送给浏览器的数据):1)响应行 2)响应头 3)响应体

【4】特点

​ 1.先有请求

​ 2.再有响应

​ 3.一个请求对应一个响应

内容小结

1.HTTP协议称为超文本传输协议,是浏览器和服务器数据交换固定的格式。

2.HTTP协议分为两类:

​ 1)请求报文协议:浏览器给服务器传输数据遵守的规范

​ 2)响应报文协议:服务器给浏览器传输数据遵守的规范

3.Http协议特点:

1.先有请求
2.再有响应
3.一个请求对应一个响应


2.浏览器抓包观察请求报文协议

内容讲解

【1】步骤

1.创建html页面
2.在html页面书写html代码
3.创建servlet
4.在servlet中书写java代码
5.启动服务器
6.打开浏览器,在浏览器访问页面,然后按f12 点击网络 network
7.抓包结果分析

【2】实现

1.创建html页面
2.在html页面书写html代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><h2>GET请求</h2>
<form action="/getServlet" method="get">用户名:<input type="text" name="username" value="zhangsan" /><br>密码:<input type="text" name="pwd" value="123" /><br><input type="submit" value="提交"/>
</form><h2>POST请求</h2>
<form action="/postServlet" method="post">用户名:<input type="text" name="username" value="zhangsan"/><br>密码:<input type="text" name="pwd" value="123"/><br><input type="submit" value="提交"/>
</form></body>
</html>

3.创建servlet
4.在servlet中书写java代码

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/getServlet")
public class GetServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("get....");}
}
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/postServlet")
public class PostServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("post....");}
}

5.启动服务器
6.打开浏览器,在浏览器访问页面,然后按 f12 点击网络

在这里插入图片描述

7.抓包结果分析

在这里插入图片描述

内容小结

1.打开浏览器抓包工具快捷键:f12

2.请求报文协议的get请求和post请求区别:

1. GET请求:1)请求行直接传递请求参数.将请求参数追加在URL后面,不安全。例如:form.html?username=jack&username=1234补充:但是get请求可以作为商品的分享。2)URL长度限制(不同浏览器限制大小不一致),GET请求方式的数据大小,不可以传输数据量较大或者非文本数据。例如图片或者视频。3)请求体里面没有内容。2.  POST请求:1)请求参数以请求体形式发送给服务器,数据传输安全。2)请求数据可以为非文本数据,可以传输数据量较大的数据。3)只有表单设置为method=”post”才是post请求.或者axios.post()也属于post请求其他的都是get请求。常见GET请求:地址栏直接访问、<a href=””><img src=””> location.href="" 、axios.get()等

http://www.mrgr.cn/news/62400.html

相关文章:

  • 【C语言刷力扣】28.找出字符串中第一个匹配项的下标
  • 人工智能原理实验一:知识的表示与推理实验
  • 用Spring Boot实现的在线厨艺学习平台
  • 泷羽sec-安全见闻(9)
  • 107. 阴影范围.shadow.camera
  • ubuntu 安装k3s
  • 静态数据加密:确保数据在存储中的安全性
  • Postman断言与依赖接口测试详解
  • 数据治理,数据提取,大数据中心建设,大数据治理总体解决方案书(word,ppt原件)
  • 人工智能算法之A*搜索算法
  • 【Docker知识】Docker进阶-容器镜像深度解读
  • AIGC学习笔记(4)——AI大模型开发工程师
  • 高效集成:SQLServer对接MySQL的实战案例
  • NR 5G 系统信息深度解析
  • 使用python提取日志里面的role_id、vip字段的值,(vip字段可能为空或者缺失,此时需要给默认值0):
  • 个人在ssm框架整合时犯的错误
  • 只尊重不教育,只筛选不改变
  • Threejs渲染3D字体介绍
  • gradio RuntimeError: async generator raised StopAsyncIteration
  • 阿里巴巴API返回值全解析:轻松掌握1688店铺商品信息
  • 【系统设计】高效的分布式系统:使用 Spring Boot 和 Kafka 实现 Saga 模式
  • SAP ABAP开发学习——第一代增强(包含增强演示)
  • BOE(京东方)2024年前三季度净利润三位数增长 “屏之物联”引领企业高质发展
  • java-数据结构
  • C++学习:类和对象(二)
  • AI时代,哪种人更被需要?