概念:Hyper Text Transfer Protocol 超文本传输协议
* 传输协议:定义了,客户端和服务器端通信时,发送数据的格式
* 特点:
1. 基于TCP/IP的高级协议
2. 默认端口号:80
3. 基于请求/响应模型的:一次请求对应一次响应
4. 无状态的:每次请求之间相互独立,不能交互数据

  • 请求消息数据格式

    1. 请求行
      请求方式 请求url 请求协议/版本
      GET /login.html HTTP/1.1

      • 请求方式:

        • HTTP协议有7中请求方式,常用的有2种

          • GET:

            1. 请求参数在请求行中,在url后。
            2. 请求的url长度有限制的
            3. 不太安全
          • POST:
            1. 请求参数在请求体中
            2. 请求的url长度没有限制的
            3. 相对安全
  • 用图解的方式了解HTTP和如何用虚拟路径
  • 参数部分都要提交到后台进行操作,比较重要
  • 虚拟路径
  • 端口号可有可无,我设置的80, 浏览器默认的就是80,设置为其他的端口号则需要加上端口号

*下面的部分方法用代码和注释的方式演示

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;/***request对象和response对象的原理*  1. request和response对象是由服务器创建的。我们来使用它们*  2. request对象是来获取请求消息,response对象是来设置响应消息*//***  request功能:*       1. 获取请求消息数据*       获取请求行数据*          GET /demo1?name=zhangsan HTTP/1.1* 方法:*       1. 获取请求方式 :GET*          String getMethod()*       2. (*)获取虚拟目录:/*          String getContextPath()*       3. 获取Servlet路径: *          String getServletPath()*       4. 获取get方式请求参数:name=zhangsan*          String getQueryString()*      5. (*)获取请求URI:/day14/demo1*          String getRequestURI():      /demo001/servletDemo01*          StringBuffer getRequestURL()  **          URL:统一资源定位符 : http://localhost//demo001/demo1 *          URI:统一资源标识符 : /demo001/demo1              **      6. 获取协议及版本:HTTP/1.1*          String getProtocol()**       7. 获取客户机的IP地址:*          String getRemoteAddr()*/// 上述 几种方法进行代码演示//浏览器为Chrome(谷歌)
@WebServlet("/servletDemo01")
public class ServletDemo01 extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// 1.获取请求的方式:分为get 和 post ,并在控制台上打印String method = request.getMethod();System.out.println(method);// 2. (*)获取虚拟目录:///   String getContextPath()String contextPath = request.getContextPath();System.out.println(contextPath);// 3.获取Servlet路径: //        String getServletPath()String servletPath = request.getServletPath();System.out.println(servletPath);// 4.获取get方式请求参数:name=tg_锅锅//     String getQueryString()String queryString = request.getQueryString();System.out.println(queryString);// 5.(*)获取请求URI:/day14/demo1//      String getRequestURI():        /demo1//      StringBuffer getRequestURL()  :http://localhost/String requestURI = request.getRequestURI();System.out.println(requestURI);// 6.获取协议及版本:HTTP/1.1//      String getProtocol()String protocol = request.getProtocol();System.out.println(protocol);// 7. 获取客户机的IP地址://      String getRemoteAddr()String remoteAddr = request.getRemoteAddr();System.out.println(remoteAddr);}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request,response);}
}
  • 执行结果

HttpRequest相关推荐

  1. 火狐浏览器中添加httprequest的方法

    今天弄了很久就才装好, 下面的例子是以 window为例子的,mac的也是这样, 下载好火狐之后点击右上角的菜单 想到httprequest是个插件,就点击附加组件 搜索出来之后找到httpreque ...

  2. Django视图之HttpRequest对象和HttpResponse对象

    五.HttpRequest对象 回想一下,利用HTTP协议向服务器传参有几种途径? 提取URL的特定部分,如/weather/beijing/2018,可以在服务器端的路由中用正则表达式截取: 查询字 ...

  3. HttpRequest接口测试

    1.HttpRequest是火狐的一个插件,需要自己去组件库里去下载安装: 2.主界面: 3.操作步骤: 1)输入接口文档中的接口url: 2)如果是Post请求方式,还要在参数列表中添加参数名及参数 ...

  4. HttpRequest 与HttpWebRequest 有什么区别

    System.Web.HttpRequest是封装浏览器对服务器的请求的,主要用在ASP.NET中,其中包括浏览器请求的网址,查询字符串数据或表单数据等等 而System.Net.HttpWebReq ...

  5. HttpRequest获取文件流,HttpResponse输出文件流

    HttpResponse输出文件: Response.Clear(); Response.ContentType = "application/octet-stream"; //通 ...

  6. php httprequest 安装,php httpRequest(php实现httpRequest)

    想从学校图书馆的网站上抓取数据处理之后在返回给浏览器,试了不少方法.首先试了http_request(),但是这个学院pecl_http支持,后来又试了网上流传甚广的class HttpRequest ...

  7. 【django】HttpRequest对象

    回想⼀下,利⽤HTTP协议向服务器传参有⼏种途径? a.提取URL的特定部分,如/film/zhangsan/20/,可以在服务器端的路由中⽤正则表达式截取: b.查询字符串(query string ...

  8. Python Django 前后端数据交互 之 HttpRequest、HttpResponse、render、redirect

    在使用三神装的时候,首先当然是得要导入它们: from django.shortcuts import HttpResponse, render, redirect 一.HttpRequest捕获请求 ...

  9. JavaWeb 入门篇(4)HttpResponse 详解 HttpRequest 详解

    HttpResponse 讲解 HttpServletResponse概述: ​ 在创建Servlet时会覆盖service()方法,或doGet()/doPost(),这些方法都有两个参数,一个为代 ...

  10. django请求与响应(HttpRequest对象和HttpResponse对象)

    HttpRequest对象 服务器接收到http协议的请求后,会根据报文创建HttpRequest对象视图函数的第一个参数是HttpRequest对象在django.http模块中定义了HttpReq ...

最新文章

  1. Git 分布式版本管理
  2. swift禁用webView对H5中数字,链接,日期,地址,电话号码做解析
  3. 简单点,让论文写作简单点,老牌名校助理教授给出8个建议
  4. 疫情之下的网站优化该怎样进行?
  5. 最完美的xslt数值函数与字符串函数(转)
  6. OpenStack(Kilo版本)镜像服务glance的安装部署
  7. SpringBoot rest映射及源码解析
  8. Thinking In Machine Learning
  9. Here we want to mention one thing
  10. php 无法识别oci8,php 连接oracle 无法 启用oci8 解决办法 (摘自oracle官网)
  11. 新闻简报(7/18)
  12. Jquery一款非好的图片轮换效果
  13. Android仿虾米音乐播放器之专辑图片模糊处理
  14. CentOS8下安装配置Wireguard
  15. HBase二级索引实践(带你感受二级索引的力量)
  16. Office Ribbon 界面开发入门教程:QtitanRibbon详解
  17. windows操作系统下新建txt文件快捷键
  18. 主数据管理功能模块、实施、提供厂商
  19. 常用ES6语法归纳总结!
  20. Ipad2022可以用电容笔吗?双十一值得入手电容笔推荐

热门文章

  1. Adobe DPS Storefront开发
  2. js下载后台返回的excel文件流
  3. 人工智能与医疗 总览
  4. 【干货分享】前端面试知识点锦集01(HTML篇)——附答案
  5. 这也太猛了吧,光靠着这一套“Java内功心法”,已经有数十人入职大厂了
  6. 简单介绍一下微信直播
  7. html的知识点汇总:包括软件VS Code和HBuilderX的使用、以及html思维导图(在文章最后)
  8. 《IPv6精髓(第2版)》——第1章 为何使用IPv61.1 IPv6历史
  9. 雷观(四):手机不可能取代电脑
  10. 程序员接私活兼职外包接单必备知识