IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> WEB应用程序开发(三)Http协议分析概述 -> 正文阅读

[网络协议]WEB应用程序开发(三)Http协议分析概述

WEB应用程序开发之Http协议分析概述

什么是HTTP?

超文本传输协议 (HyperText Transfer Protocol)服务器传输超文本到本地浏览器的传送协议,是互联网上应用最为流行的一种网络协议,用于定义客户端浏览器和服务器之间交换数据的过程。
HTTP是一个基于TCP/IP通信协议来传递数据.

HTTP是一个属于应用层的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统

在这里插入图片描述

什么是http请求?

客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器发送了一个http请求。
请求包括: 请求行,请求头,请求体 . 请求行包含http请求方式,请求资源名称,http版本 (例如post test.jspHTTP/1.1)

在这里插入图片描述

请求行: 请求地址,请求方式(get,post),协议版本.

get/post的区别

   get:
       从服务器端获取数据
       在地址栏会显示发送的数据:1.不安全 2.传输的数据大小受限

在这里插入图片描述
在这里插入图片描述

? post:
? 向服务器端发送数据
? 发送的数据在请求体中. 安全,大小不受限制
? 请求头: 服务器端和客户端的一些信息
? 请求体: 是指表单post方式请求时,向服务器端发送的数据

在这里插入图片描述
在这里插入图片描述

试验代码

现在我们利用我们综合此前做出的超简易前端界面综合实验加强印象

在这里插入图片描述
在这里插入图片描述

期间穿插着一些获取客户机/服务器信息的方法讲解,在这里直接放出源码

在这里插入图片描述

org.apache.catalina.connector.RequestFacade 实现 HttpServletRequest接口
HttpServletRequest :封装了请求的信息,可以从中获取任何请求信息。

 @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("doPost");
        req.setCharacterEncoding("utf-8");//设置post请求数据解码格式
        System.out.println(req.getParameter("account"));
        System.out.println(req.getParameter("passoword"));
        System.out.println(req.getParameter("sex"));
        String[] courses = req.getParameterValues("course");
        System.out.println(Arrays.toString(courses));

        //处理  例如调用jdbc处理

        //根据处理的结果向客户端做出响应
        PrintWriter out = null;
        try {
            resp.setContentType("text/html;charset=utf-8");//设置响应内容的编码格式
            out = resp.getWriter();
            out.println("<h1>登录成功</h1>");
        }catch (Exception e){
            out.println("<h1>服务器忙,请稍后再试!</h1>");
        }
    }

在这里插入图片描述

doget()处理get请求
以下也放出get请求中的方法源码, 有兴趣可以自行测试

 @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("doGet"+req);
        //请求行数据
        System.out.println(req.getMethod());
        System.out.println(req.getProtocol());
        System.out.println(req.getServerName());
        System.out.println(req.getServerPort());
        //请求头
        System.out.println(req.getRemoteAddr());//获得客户端的ip
        System.out.println(req.getRemotePort());//客户端端口
        System.out.println(req.getHeader("User-Agent"));
        //接收用户请求的数据  tomcat8.0以后get请求数据的解码方式支持中文
        String name =   req.getParameter("name");
        System.out.println(name);
        System.out.println(req.getParameter("age"));
    }

post方法中可以添加相应,实现相应操作

  PrintWriter out = null;
        try {
            resp.setContentType("text/html;charset=utf-8");//设置响应内容的编码格式
            out = resp.getWriter();
            out.println("<h1>登录成功</h1>");
        }catch (Exception e){
            out.println("<h1>服务器忙,请稍后再试!</h1>");
        }
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-11 16:04:59  更:2021-12-11 16:06:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:46:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码