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格式。
 
 
 

0f5d95c9d44d4205a300bdbe80d1f1bc.png

 a2326111570e4d63b6ade6070e935158.png

 

 

 


 

 

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

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

(0)
小半的头像小半

相关推荐

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