目录
概述
URL
结构
urlencode(URL编码)
urldecode(URL解码)
工具网址
HTTP请求
请求行
请求头
请求体
HTTP响应
状态行
响应头
响应体
个人主页:东洛的克莱斯韦克-CSDN博客
概述
HTTP协议是应用层协议,它定义了客户端(如浏览器)与服务器之间如何通信,以交换或传输
URL
结构
平时说的网址就是URL,主机IP加端口号可以标识全网内唯一的进程,再加路径可以标识全网内的唯一一个资源(文本,图片,视频等)
协议://主机名[:端口号]/路径[?查询参数][#片段标识符] |
协议:指定了如何访问资源,最常见的协议是http(超文本传输协议)和https(安全的超文本传输协议,即HTTP over SSL/TLS)。
主机名:通常是域名或IP地址,指明了资源所在的服务器。
端口号:指定了服务器上的特定端口,用于接收来自客户端的请求。HTTP的默认端口是80,HTTPS的默认端口是443。如果省略端口号,则使用默认端口。
路径:指明了服务器上资源的具体位置。路径可以包含多级目录,通常使用“/”分隔。
查询参数:可选部分,用于向服务器传递额外的信息,以“?”开始,后跟一个或多个参数,参数之间用“&”分隔。每个参数由键和值组成,通过“=”连接。
片段标识符:可选部分,用于指向资源的特定部分(如页面中的某个章节或元素),以“#”开始。这部分不会发送到服务器,而是由浏览器解析并处理。
urlencode(URL编码)
URL编码是一种将字符转换为可以通过URL安全传输的格式的方法。由于URL的某些部分(如路径、查询字符串)对字符有着严格的限制,比如空格、特殊符号(如#
, %
, &
, +
等)在URL中有特定的含义或不被允许,因此需要对这些字符进行编码。
URL编码的过程通常是将需要编码的字符替换为%
后跟两位十六进制数的形式。例如,空格字符(
)被编码为%20
,加号(+
)被编码为%2B
,斜杠(/
)在某些上下文中也需要编码为%2F
(尽管在URL的路径部分中它通常不被编码)。
urldecode(URL解码)
与URL编码相反,URL解码是将经过URL编码的字符串转换回原始字符的过程。解码器会查找所有%
后跟两位十六进制数的序列,并将它们转换回对应的字符。
URL解码同样广泛应用于Web开发中,尤其是在处理用户输入、查询字符串解析以及Web表单数据提交等场景中。解码确保了服务器能够准确地解析和处理客户端发送的数据。
工具网址
UrlEncode编码/UrlDecode解码
HTTP请求
请求行
格式:请求方法 资源路径 HTTP版本号<CRLF>
请求方法:包括GET、POST、HEAD、OPTIONS、DELETE、TRACE、PUT等。其中,GET和POST是最常用的两种方法。GET方法用于请求服务器发送资源,POST方法用于提交表单数据。
资源路径:请求的资源在服务器上的位置。
HTTP版本号:指示使用的HTTP协议版本,如HTTP/1.1。
请求头
请求头包含了客户端发送给服务器的附加信息,如客户端类型(User-Agent)、请求的资源类型(Accept)、内容编码方式(Accept-Encoding)等。
常见的请求头包括:
Accept: 浏览器可接受的MIME类型。
Accept-Language: 浏览器所希望的语言种类。
Host: 初始URL中的主机和端口。
Referer: 包含一个URL,用户从该URL代表的页面出发访问当前请求的页面。
Content-Length: 表示请求消息正文的长度(对于POST请求)。
Connection: 表示是否需要持久连接,如Keep-Alive。
Cookie: 保存在客户端的文本文件,用于在请求中发送给服务器,以维持会话状态。
请求体
对于POST请求,请求体中包含了要发送给服务器的数据。数据通常以表单数据或JSON等格式编码。
HTTP响应
状态行
格式:HTTP版本号 状态码 原因叙述<CRLF>
状态码:一个三位的十进制数,用于表示服务器对请求的处理结果和状态。状态码分为五类,分别以1、2、3、4、5开头,表示不同的含义。
常见的状态码包括:
200 OK:表示请求成功,服务器已返回请求的网页。
404 Not Found:请求的资源不存在。
500 Internal Server Error:服务器内部错误,无法完成请求。
响应头
响应头包含了服务器发送给客户端的附加信息,如资源的内容类型(Content-Type)、内容长度(Content-Length)、内容编码方式(Content-Encoding)等。
常见的响应头包括:
Content-Type: 表示返回的内容类型,如text/html。
Content-Length: 表示返回内容的长度(字节数)。
Content-Encoding: 表示返回内容的编码方式,如gzip。
Server: 服务器软件的名称和版本号。
Set-Cookie: 服务器发送给客户端的cookie信息,用于维持会话状态。
响应体
响应体包含了服务器返回给客户端的实际数据,如HTML页面、图片等。
【linux】信号的理论概述和实操-CSDN博客
【linux】进程间通信(IPC)——匿名管道,命名管道与System V内核方案的共享内存,以及消息队列和信号量的原理概述-CSDN博客
【Linux】用5万字满足你对线程的所有♥幻想♥——【线程概念】【线程安全】【多线程并发】【互斥量】【条件变量】【信号量】【锁的原理】【各种锁】【生产者消费者模型】【读者写者问题】-CSDN博客