热门标签 | 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 响应消息数据格式

推荐阅读
  • 在 Axublog 1.1.0 版本的 `c_login.php` 文件中发现了一个严重的 SQL 注入漏洞。该漏洞允许攻击者通过操纵登录请求中的参数,注入恶意 SQL 代码,从而可能获取敏感信息或对数据库进行未授权操作。建议用户尽快更新到最新版本并采取相应的安全措施以防止潜在的风险。 ... [详细]
  • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 本文介绍了如何利用Struts1框架构建一个简易的四则运算计算器。通过采用DispatchAction来处理不同类型的计算请求,并使用动态Form来优化开发流程,确保代码的简洁性和可维护性。同时,系统提供了用户友好的错误提示,以增强用户体验。 ... [详细]
  • Nginx 反向代理配置与应用指南
    本文详细介绍了 Nginx 反向代理的配置与应用方法。首先,用户可以从官方下载页面(http://nginx.org/en/download.html)获取最新稳定版 Nginx,推荐使用 1.14.2 版本。下载并解压后,通过双击 `nginx.exe` 文件启动 Nginx 服务。文章进一步探讨了反向代理的基本原理及其在实际应用场景中的配置技巧,包括负载均衡、缓存管理和安全设置等,为用户提供了一套全面的实践指南。 ... [详细]
  • 本指南详细介绍了如何在CentOS 6.6 64位系统上以root用户身份部署Tomcat 8服务器。系统环境为CentOS 6.6 64位,采用源码安装方式。所需软件为apache-tomcat-8.0.23.tar.gz,建议将软件下载至/root/opt目录。具体下载地址请参见官方资源。本指南涵盖了从环境准备到服务启动的完整步骤,适用于需要在该系统环境下搭建高性能Web应用服务器的技术人员。 ... [详细]
  • Windows环境下RabbitMQ安装详尽指南
    Windows环境下RabbitMQ安装详尽指南 ... [详细]
  • 如何正确安装与使用向日葵智能开机棒:详细步骤与注意事项
    如何正确安装与使用向日葵智能开机棒?本文将详细介绍其安装步骤及使用注意事项。首先,将开机棒插入电源适配器并连接到路由器,确保设备供电正常。接着,检查状态指示灯是否亮起,以确认设备工作状态。若指示灯未亮,请检查电源和连接是否正确。此外,建议在安装过程中遵循产品说明书中的指导,确保每个步骤准确无误。 ... [详细]
  • 七款高效编辑器与笔记工具推荐:KindEditor自动换行功能解析
    本文推荐了七款高效的编辑器与笔记工具,并详细解析了KindEditor的自动换行功能。其中,轻笔记QingBiJi是一款完全免费的记事本软件,用户可以通过其简洁的界面和强大的功能轻松记录和管理日常事务。此外,该软件还支持多平台同步,确保用户在不同设备间无缝切换。 ... [详细]
  • 理解和应用HTTP请求中的转发与重定向机制
    在HTTP请求处理过程中,客户端发送请求(通常简称为req),服务器进行相应处理后返回响应(通常简称为res)。理解和应用客户端的转发与重定向机制是前端开发的重要内容。这两种机制在Web开发中具有关键作用,能够有效管理和优化用户请求的处理流程。转发机制允许服务器内部将请求传递给另一个资源,而重定向则指示客户端向新的URL发起新的请求,从而实现页面跳转或资源更新。掌握这些技术有助于提升应用的性能和用户体验。 ... [详细]
  • 本文作为探讨PHP依赖注入容器系列文章的开篇,将首先通过具体示例详细阐述依赖注入的基本概念及其重要性,为后续深入解析容器的实现奠定基础。 ... [详细]
  • 本文深入探讨了 hCalendar 微格式在事件与时间、地点相关活动标记中的应用。作为微格式系列文章的第四篇,前文已分别介绍了 rel 属性用于定义链接关系、XFN 微格式增强链接的人际关系描述以及 hCard 微格式对个人和组织信息的描述。本次将重点解析 hCalendar 如何通过结构化数据标记,提高事件信息的可读性和互操作性。 ... [详细]
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社区 版权所有