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

HTTP-概述

概念

:Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器和服务器之间数据传输的规则。

原始数据格式

特点


1. 基于TCP协议:面向连接,安全(三次握手)
2. 基于请求-响应模型的:一次请求对应一次响应(无状态)
3.HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的。
缺点:多次请求间不能共享数据。
优点:速度快

HTTP-请求数据格式

请求行:请求数据第一行(请求方式,资源路径,协议及版本)

请求头:第二行开始,格式key :value

User-Agent:用来解决浏览器的兼容问题

请求体:只有post请求有,存放请求参数

清求方式-GET:请求参数在请求行中,没有请求体,如:/brand/findn11?name=0Pposstatus=1。GET请求大小是有限制的。
请求方式-POST:请求参数在请求体中,POST请求大小是没有限制的。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<form action="" method="get">姓名:<input type="text" name="name"><br>密码:<input type="password" name="password"><br><input type="submit" value="提交"><br>
</form>
<br><br><br>
<form action="" method="post">姓名:<input type="text" name="name"><br>密码:<input type="password" name="password"><br><input type="submit" value="提交"><br>
</form></body>
</html>

HTTP响应格式

响应行:响应数据第一行,(协议,状态码,描述)

响应头:第二行开始,格式key:value

响应体:最后一部分,存放响应数据

Content-Type表示该响应内容的类型,例如text/html,application/json。
Content-Length表示该响应内容的长度(字节数)。
Content-Encoding表示该响应压缩算法,例如gzip。
Cache-Control指示客户端应如何缓存,例如max-age=300表示可以最多缓存300秒。
Set-Cookie告诉浏览器为当前页面所在的域设置cookie。


状态码

1 xx响应中-临时状态码,表示请求已经接收,告诉客户端应该继续请求或者如果它已经完成则忽略它。
2xx成功-表示请求已经被成功接收,处理已完成
3xx重定向-重定向到其他地方;让客户端再发起一次请求以完成整个处理。
4xx责任在客户端。如:请求了不存在的资源、客户端未被授权、禁止访问等,客户端错误-处理发生错误
5xx服务器错误-处理发生错误,责任在服务端。如:程序抛出异常等。

状态码大全:https://cloud.tencent.com/developer/chapter/13553

HTTP-协议解析

解析请求返回响应我们可以用一系列工具

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • React Hooks学习笔记
  • redis源码分析之底层数据结构(一)-动态字符串sds
  • 【Git】取消追踪多个文件或目录
  • Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules。Android studio纯java代码报错
  • 使用Spring Boot和自定义缓存注解优化应用性能
  • Linux内存管理--系列文章柒——硬件架构
  • ELK集群搭建
  • 28个常用的损失函数介绍以及Python代码实现总结
  • React -- useState状态更新异步特性——导致获取值为旧值的问题
  • 前端工程化(01):10款自动化构建工具初识。
  • [GHCTF 2024 新生赛]ezzz_unserialize
  • 攻防世界 Web_python_template_injection(flask模版注入)
  • 网络安全应急响应信息收集利器-Eagle_Eye
  • Java中Collection集合和Map集合详解(进阶三)
  • sql注入之宽字节注入
  • 分享的文章《人生如棋》
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • 2017前端实习生面试总结
  • C++入门教程(10):for 语句
  • Kibana配置logstash,报表一体化
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • PaddlePaddle-GitHub的正确打开姿势
  • Python学习之路16-使用API
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • SAP云平台里Global Account和Sub Account的关系
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 诡异!React stopPropagation失灵
  • 计算机在识别图像时“看到”了什么?
  • 盘点那些不知名却常用的 Git 操作
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 使用agvtool更改app version/build
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 学习HTTP相关知识笔记
  • ‌‌雅诗兰黛、‌‌兰蔻等美妆大品牌的营销策略是什么?
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • $ git push -u origin master 推送到远程库出错
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (poj1.3.2)1791(构造法模拟)
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (一)项目实践-利用Appdesigner制作目标跟踪仿真软件
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .NET分布式缓存Memcached从入门到实战
  • /usr/lib/mysql/plugin权限_给数据库增加密码策略遇到的权限问题
  • ??javascript里的变量问题
  • @entity 不限字节长度的类型_一文读懂Redis常见对象类型的底层数据结构
  • [ A*实现 ] C++,矩阵地图
  • [ vulhub漏洞复现篇 ] Django SQL注入漏洞复现 CVE-2021-35042
  • [Angular 基础] - 自定义指令,深入学习 directive
  • [C++]高精度 bign (重载运算符版本)
  • [Codeforces] combinatorics (R1600) Part.2
  • [Flex] PopUpButton系列 —— 控制弹出菜单的透明度、可用、可选择状态