浙江省工程建设监理管理协会网站,设计公司网站运营,备案修改网站名称,阳萎早谢吃什么药最好一、概念
HTTP#xff1a;HyperText Transfer Protocol#xff0c;超文本传输协议。读者应该不是第一次接触这个名词#xff0c;但可能仍然不是很理解#xff0c;笔者将逐一解释。
HyperText#xff08;超文本#xff09;#xff1a;根据维斯百科#xff0c;Hypertex…一、概念
HTTPHyperText Transfer Protocol超文本传输协议。读者应该不是第一次接触这个名词但可能仍然不是很理解笔者将逐一解释。
HyperText超文本根据维斯百科Hypertext is text displayed on a computer display or other electronic devices with references (hyperlinks) to other text that the reader can immediately access. 翻译超文本是显示在计算机显示器或其他电子设备上的文本其中包含读者可以立即访问的其他文本的引用超链接。说白了就是一段包含跳转链接的文本其中的链接可以跳转至一个新的文本一张图片一段音频一段视频等等语义扩大后的文本。
Transfer传输最开始的计算机是没有网络的所有的文本也只能在本机上编辑查看。随着网络的诞生文本可以由一台计算机发送给另一台计算机这个过程就是传输。
Protocol协议所谓协议其实就是一种约定或者称为一种格式。由于超文本需要在计算机之间传输为了识别传输的文本内容那么就需要约定一种传输文本的格式。好比写信我们通常由称呼开始接着是正文最后是写信人的署名和日期。计算机科学中的协议实质上也是一种类似的规范。在后续介绍到HTTP的请求数据格式与响应数据格式后读者会加深对协议的理解。
二、请求数据格式与响应数据格式
认识一个东西最好的方式就是直接看看他。于是我们直接来看看HTTP协议到底长什么样子。
1请求数据格式
POST / HTTP/1.1
Accept: text/html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q0.9,is;q0.8,en;q0.7
Cache-Control: max-age0
Connection: keep-alive
Host: www.baidu.com
Referer: https://www.baidu.com/
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
sec-ch-ua-platform: macOSparam1value1param2value2
请求数据分为3部分
请求行请求数据的第一行。其中POST表示请求方式/表示请求资源的路径HTTP/1.1表示协议及版本请求头: 第二行开始格式为key: value形式 Host表示请求的主机名 User-Agent浏览器的版本笔者这里用的浏览器是Chrome Accept表示浏览器接的资源类型 Accept-Language浏览器偏好的语言服务器常常根据此返回不同语言的见面 Accept-Encoding表示浏览器可以支持的压缩类型
请求体POST请求的最后一部分存放请求参数GET请求没有这一部分参数会在请求资源的路径最后携带
2响应数据格式
HTTP/1.1 200 OK
Server: Tengine
Content-Type: text/html
Transfer-Encoding: chunkedhtmlheadtitleHello/title/head
/html
响应行响应数据的第一行。其中HTTP/1.1表示协议版本200表示响应状态码OK表示状态码描述响应头第二行开始格式为key: value格式 Content-Type表示响应内容的类型例如text/html, image/jpeg Content-Length表示响应内容的长度字节数 Content-Encoding表示响应压缩算法 Cache- Control表示客户端如何缓存
响应体最后一部分。存放响应数据
三、思考
我们可以思考一下客户端浏览器遵循HTTP协议请求服务端时服务端会遵循HTTP协议的格式解析请求报文例如判断请求方式GET还是POST或其它根据不同请求方式解析请求参数。这是一个通用的过程而且与我们的业务逻辑是不相关的。因此这部分的通用处理是否可以统一处理呢又由谁处理呢读者可以阅读下一篇文章关于Tomcat的介绍。
四、HTTP的特点
基于TCP协议面向连接安全基本请求-响应模型一次请求对应一次响应无状态每次请求-响应是独立的这种特点的优点是响应速度快缺点是多次请求之间不能共享数据。