热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JavaWeb1303Http协议

1Http协议概念



1 Http协议概念

  • 1、概念:

    • Hyper Text Transfer Protocol ,超文本传输协议
  • 2、传输协议:

    • 定义了客户端和服务端通信时,发送数据的格式
  • 3、特点:

    • 基于TCP/IP的高级协议
    • 默认端口:80
    • 基于请求/响应模型的,一次请求对应一次响应
  • 4、Http协议是无状态协议:

    • 每次请求之间互相独立,请求之间不能交互数据
  • 5、 历史版本:

    • 1.0 版本:一次请求响应都会建立新的连接
    • 1.1 版本:重复使用连接

2 请求消息数据格式(demo04)

2.0 案例


  • 1、访问路径:http://localhost:8081/login.html

JavaWeb-13-03-Http协议 - 文章图片


  • 2、提交数据进行跳转

请求行 / 请求头
JavaWeb-13-03-Http协议 - 文章图片


请求体(请求正文)
JavaWeb-13-03-Http协议 - 文章图片


2.1 请求行

请求方式 ? 请求URL ? 请求协议/版本
POST ?????/demo04 ??HTTP/1.1

JavaWeb-13-03-Http协议 - 文章图片


2.2 请求头

请求头名称:请求头值?(键值对)

JavaWeb-13-03-Http协议 - 文章图片


2.3 请求空行

空行:用来等额POST请求的请求头和请求体的

2.4 请求体(请求正文)

(只有post请求有,用来封装POST请求消息的请求参数的)

JavaWeb-13-03-Http协议 - 文章图片


2.5 请求行 请求头 请求空行 请求体的字符串格式

POST /demo04 HTTP/1.1 ???请求行
Host: localhost:8081
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;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
Content-Type: application/x-www-form-urlencoded
Content-Length: 25
Origin: http://localhost:8081
Connection: keep-alive
Referer: http://localhost:8081/login.html
COOKIE: Webstorm-cea968cd=15dbfddb-bcc8-47cf-b809-a141f7d6475b; Idea-b0676662=b5c99ad3-c0e4-43e9-bb14-8751da57f43a; JSESSIOnID=EB8E97991EDFC3DF5AF4159D4F422596
Upgrade-Insecure-Requests: 1
???请求头
请求空行----------------------------------------------------------
username=Tom&passwprd=123 ??请求体

2.6 Http请求方式(7种)

Http请求方式共有七种,其中常用的两种:GET和POST请求
GET和POST请求的区别:
GET请求:
????请求参数在请求行中,在url后用?拼接
????请求的url长度有限制
????不逃安全
POST请求:
????请求参数在请求体中
????请求的url长度没有限制
????相对安全

2.7 请求头的内容介绍

请求头相当于浏览器高数服务器浏览器的信息

1、请求主机
???Host: localhost:8081

2、浏览器告诉服务器,浏览器的版本
???User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0

3、告诉服务器,浏览器自身可以接收什么类型的响应数据
???Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8

4、浏览器可以支持的语言环境
???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

5、浏览器可以接受的压缩格式
???Accept-Encoding: gzip, deflate

6、浏览器告诉服务器,请求体的类型
???Content-Type: application/x-www-form-urlencoded

7、请求体的字节数
???Content-Length: 25

8、用来说明请求从哪里发起的,且仅仅包括协议和域名
???Origin: http://localhost:8081

9、HTTP协议连接是存活的,可以被复用
???Connection: keep-alive

10、告诉服务器,当前请求从哪里来(防盗链,统计工作)
???Referer: http://localhost:8081/login.html

11、当前页面设置的任何COOKIE
???COOKIE: Webstorm-cea968cd=15dbfddb-bcc8-47cf-b809-a141f7d6475b; Idea-b0676662=b5c99ad3-c0e4-43e9-
???bb14-8751da57f43a; JSESSIOnID=EB8E97991EDFC3DF5AF4159D4F422596

12、升级
????Upgrade-Insecure-Requests: 1

3 响应消息数据格式

推荐阅读
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • REVERT权限切换的操作步骤和注意事项
    本文介绍了在SQL Server中进行REVERT权限切换的操作步骤和注意事项。首先登录到SQL Server,其中包括一个具有很小权限的普通用户和一个系统管理员角色中的成员。然后通过添加Windows登录到SQL Server,并将其添加到AdventureWorks数据库中的用户列表中。最后通过REVERT命令切换权限。在操作过程中需要注意的是,确保登录名和数据库名的正确性,并遵循安全措施,以防止权限泄露和数据损坏。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • JavaWeb中读取文件资源的路径问题及解决方法
    在JavaWeb开发中,读取文件资源的路径是一个常见的问题。本文介绍了使用绝对路径和相对路径两种方法来解决这个问题,并给出了相应的代码示例。同时,还讨论了使用绝对路径的优缺点,以及如何正确使用相对路径来读取文件。通过本文的学习,读者可以掌握在JavaWeb中正确找到和读取文件资源的方法。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
author-avatar
fedfedfv_249
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有