HTTP概念简述
HTTP(Hypertext Transfer Protocol)协议,又称超文本传输协议,用于传输文本、图像、音频、视频以及其他多媒体文件。它是Web应用程序通信的基础,通过HTTP协议,Web浏览器可以向Web服务器发起请求,并接收来自Web服务器的响应,从而实现Web页面的访问和数据传输。
HTTP协议的结构
HTTP协议包含了HTTP请求和HTTP响应两个部分,其中HTTP请求由请求行、请求头和请求体组成;HTTP响应由状态行、响应头和响应体组成。HTTP协议还定义了一些请求方法,不同的请求方法对应不同的操作。
请求结构
如图为HTTP请求的完整结构(以GET请求为例):
请求行
HTTP请求中的首行称为请求行,其包括三个部分:请求方法、请求的资源路径和使用的协议版本。
1.GET /2301_77485708/article/details/136169661?spm=1001.2014.3001.5501 HTTP/1.1
在本例中请求方法为GET,请求路径URI为/2301_77485708/article/details/136169661?spm=1001.2014.3001.5501,协议Protocol为HTTP/1.1。
请求方法是在进行网络通信时,客户端向服务器发送请求的方式。
常见的请求方法有以下几种:
- GET:用于请求获取服务器上的资源,可以在请求中附加参数。一般用于获取数据。
- POST:用于向服务器提交数据,比如表单数据、上传文件等。
- PUT:用于向服务器上传或更新资源,通常需要提供完整的资源信息。
- DELETE:用于删除服务器上的资源。
- PATCH:用于对服务器上的资源进行部分更新。
- HEAD:类似于GET请求,但只返回响应头部信息,不返回实际内容。
- OPTIONS:用于获取目标资源支持的请求方法列表。
在提交如"ice"、"Sec"等不可识别的方法时,部分服务器支持以GET方法返回,即默认GET。
请求资源路径是指客户端在向服务器发起HTTP请求时,指定所要访问的资源在服务器上的路径信息。请求方法与URI之间通常以一个空格分隔。
为了在同一个服务器上的不同资源之间相互引用时简化URL的书写,并且避免需要在每个资源链接中都包含完整的URL,请求行中的资源路径为相对路径。
在本例中,请求的资源路径为:
1./2301_77485708/article/details/136169661?spm=1001.2014.3001.5501
浏览器会将HOST与该路径自动填充,从而构建完整的URL进行请求。
出于跨平台兼容性等方面的考虑,换行符"\r\n"(回车符+换行符)被用作报文头部和报文主体之间以及各个字段