HTTP协议格式、URL格式及URL encode

导读:本篇文章讲解 HTTP协议格式、URL格式及URL encode,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

系列文章目录

Fiddler抓包:下载、安装及使用_crazy_xieyi的博客-CSDN博客


文章目录

  • 一、请求格式(Request)
  • 二、响应格式(Response)
  • 三、HTTP协议格式总结
  • 四、URL格式  &  URL encode

前言

我们在查看http请求/响应的时候,可以用Fiddler抓包工具。 Fiddler抓包:下载、安装及使用_crazy_xieyi的博客-CSDN博客

一、请求格式(Request)

首行:方法 URL 版本号

请求头:包含了若干个键值对,每一个键值对占一行,键和值之间使用 冒号+空格 分割

空行:作为请求头的结束标记

请求正文:有的有正文,有的没有正文(可有可无)


HTTP请求是一个“行文本”,一行一行的组织数据,每一行都有特定的含义。

1.首行

27f0dbf08715452caa84e6cf7296a694.png

 2.首部(请求头)Header

header这里就是一堆键值对,键值对与键值对之间,使用 换行 来分割;键和值之间,使用 冒号+空格 来分割;header中具体有多少行是不固定的,具体是使用 空行 来作为header的结束标记。

a23777a5f2054b9c84b0f9b979e14062.png

二、响应格式(Response)

首行:版本号 状态码 状态码描述

响应头:包含了若干个键值对,每一个键值对占一行,键和值之间使用 冒号+空格 分割

空行: 作为响应头的结束标记

响应正文: 有的响应有正文,有的则没有,一种常见的格式就是HTML,当然这里具体格式要看程序猿自己是怎么写的


1.首行

f27f37c417f64644b0f97c17af352704.png

 2.响应头

包含了若干个键值对,每一个键值对占一行,键和值之间使用 冒号+空格 分割

858707c3c5f1436ab2baea8541685100.png

三、HTTP协议格式总结

ed346468d477456f8943164de176dbef.png

 为什么HTTP报文中要存在“空行”?

因为HTTP协议格式并没有规定报头部分的键值对有多少个,空行就相当于是报头的结束标记。

而且HTTP在传输层依赖TCP协议,TCP是面向字节流的,如果没有空行存在,就会存在“粘包问题”。        

四、URL格式  &  URL encode

URL就是我们平时俗称的“网址”。

URL 的详细规则由因特网标准RFC1738 进行了约定. (https://datatracker.ietf.org/doc/html/rfc1738)

URL格式:

cfad3daf904c4ccd923b1c8eb8c1481a.png

1. 协议名称:http://

2.服务器地址:可以是域名,也可以是IP

3.端口号:可以省略,不写端口号,浏览器在构造请求的时候会自动加上端口号,对于HTTP是80,HTTPS是443。

4.路径:描述了要访问服务器上具体哪个资源

5.查询字符串:这里是程序员自己定义的一组键值对,从浏览器传递给服务器,查询字符串是以 ?开头的,然后键值对与键值对之间使用 & 来分割,键和值之间用等号来连接。

6.片段标识符:定位一个网页内部的一个位置的。62c6d8bcc6ce44dbbcffaef82e1258df.png

 但是,这些都不是必须的:

ab7cbb6ff46c44edb4f2a58a46e28aec.png

 

URL encode

像 / ? : 等这样的字符, 已经被url当做特殊意义理解了,因此这些字符不能随意出现。
 
比如, 某个参数中需要带有这些特殊字符, 就必须先对特殊字符进行转义。
 
转义的规则如下: 将需要转码的字符转为16进制,然后从右到左,取4位(不足4位直接处理),每2位做一位,前面加上%,编码成%XY格式。
 
UrlEncode编码和UrlDecode解码-在线URL编码解码工具
 
 

0f5d95c9d44d4205a300bdbe80d1f1bc.png

 a2326111570e4d63b6ade6070e935158.png

 

 

 


 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/94594.html

(0)
小半的头像小半
0 0

相关推荐

  • 零基础学JavaWeb开发(二十四)之 springmvc入门到精通(4) 技术随笔

    零基础学JavaWeb开发(二十四)之 springmvc入门到精通(4)

    0 0110
    Java光头强的头像 Java光头强
    2023年2月18日
  • 成功解决:java.lang.NoSuchMethodError: reactor.netty.http.client.HttpClient.chunkedTransfer(Z)Lreactor/ne 技术随笔

    成功解决:java.lang.NoSuchMethodError: reactor.netty.http.client.HttpClient.chunkedTransfer(Z)Lreactor/ne

    0 0162
    飞熊的头像 飞熊
    2023年4月9日
  • 使用golang实现日志收集系统的logagent 技术随笔

    使用golang实现日志收集系统的logagent

    0 0193
    飞熊的头像 飞熊
    2023年4月16日
  • 不常用SQL记录 技术随笔

    不常用SQL记录

    0 099
    小半的头像 小半
    2023年1月15日
  • 深入理解MySQL中的bin log、redo log、undo log 技术随笔

    深入理解MySQL中的bin log、redo log、undo log

    0 094
    小半的头像 小半
    2023年2月16日
  • 跨平台移动开发工具:Cordova VS Weex 技术随笔

    跨平台移动开发工具:Cordova VS Weex

    0 0168
    飞熊的头像 飞熊
    2023年9月22日
  • Linux操作系统——本机和虚拟机连通性测试(本机IP地址查看方法、虚拟机IP地址查看方法)(史上最全最详细) 技术随笔

    Linux操作系统——本机和虚拟机连通性测试(本机IP地址查看方法、虚拟机IP地址查看方法)(史上最全最详细)

    0 0117
    小半的头像 小半
    2023年1月31日
  • CAS实现单点登录原理 技术随笔

    CAS实现单点登录原理

    0 0124
    小半的头像 小半
    2023年1月6日
  • super和this有什么区别?-java 技术随笔

    super和this有什么区别?-java

    0 084
    小半的头像 小半
    2023年2月8日
  • Iview+Vue+Springboot上传文件到腾讯COS 技术随笔

    Iview+Vue+Springboot上传文件到腾讯COS

    0 0122
    飞熊的头像 飞熊
    2023年7月28日
  • 二叉树的构建与遍历 技术随笔

    二叉树的构建与遍历

    0 091
    小半的头像 小半
    2023年2月7日
  • matplotlib windows 使用中文字体 技术随笔

    matplotlib windows 使用中文字体

    0 0174
    飞熊的头像 飞熊
    2023年4月16日

站长精选

  • 快速定位,基于 Ko-time 的 SpringBoot 单体化调用链追踪实践

    快速定位,基于 Ko-time 的 SpringBoot 单体化调用链追踪实践

    2023年10月20日

  • SpringBoot自定义注解+反射实现 excel 导入的数据组装及字段校验

    SpringBoot自定义注解+反射实现 excel 导入的数据组装及字段校验

    2024年2月1日

  • Docker 入门终极指南,详细版!别再说不会用 Docker 了!

    Docker 入门终极指南,详细版!别再说不会用 Docker 了!

    2023年7月20日

  • 放弃使用UUID,ULID才是更好的选择!

    放弃使用UUID,ULID才是更好的选择!

    2023年12月22日

  • IDE + ChatGPT,这款编辑器真的做到可以自动写代码了!

    IDE + ChatGPT,这款编辑器真的做到可以自动写代码了!

    2023年3月29日

  • 一行代码搞定 HTTP 请求,强得离谱~

    一行代码搞定 HTTP 请求,强得离谱~

    2023年5月5日

  • Spring Gateway、Sa-Token、Nacos 认证/鉴权方案,yyds!

    Spring Gateway、Sa-Token、Nacos 认证/鉴权方案,yyds!

    2024年2月1日

  • 一款 IntelliJ IDEA 神级插件,由 ChatGPT 团队开发,堪称辅助神器!

    一款 IntelliJ IDEA 神级插件,由 ChatGPT 团队开发,堪称辅助神器!

    2023年4月25日

  • 互联网大事件:Docker翻脸,不再开源!

    互联网大事件:Docker翻脸,不再开源!

    2023年3月26日

  • 10个解放双手实用在线工具,有些代码真的不用手写

    10个解放双手实用在线工具,有些代码真的不用手写

    2023年8月31日

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!

深圳SEO优化公司吴忠网站优化按天计费推荐宿迁seo网站推广推荐海南网络推广公司网站优化软件推荐清徐企业网站设计报价沙井网站优化按天收费公司湖州百度网站优化排名太原SEO按天扣费南阳seo价格张家界推广网站价格银川网站推广方案报价内江百度网站优化排名推荐日照百度爱采购价格新乡SEO按天计费公司甘南百度seo推荐荆门网站改版价格黄石模板推广哪家好永湖设计网站价格郴州seo价格蚌埠网站优化按天收费公司漳州网站关键词优化福州网站推广价格张掖阿里店铺托管公司湘西品牌网站设计报价铜陵建网站公司上饶模板推广价格安康百度竞价垦利网站优化软件推荐盐城百姓网标王报价喀什关键词按天收费推荐歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化