HTTP认知(请求与响应)

web的工作是:浏览器发送请求报文+服务端返回响应报文

通俗的说一下web工作的一个流程:

浏览器向服务端发送HTTP请求报文;这条请求报文组成由请求行、请求头、请求体三大部分组成:

1、请求行由请求方法、请求URL、HTTP协议及版本号构成(HTTP请求报文的起始行即请求行)。

请求方法是指HTTP访问服务器的方法(文尾细说);请求URL是指所请求的URL地址和Host,两者完整组成一个请求URL;

2、请求头(首部)包含若干个属性(键值对),服务器依靠属性获取客户端的信息。

每个首部(请求头)字段都包含一个名字和一个值,两者之间中冒号分隔,冒号后面还有一个空格。首部(请求头)以一个空行结束。

请求头和请求行(首部和方法)配合工作,共同决定客户端和服务器能够做什么事。

3、请求体(数据)将一个页面表单中的组件通过键值对形式编码生成一个格式化窜,可以表示支持多个请求参数的数据。

服务器根据客户端的请求返回(响应)一条HTTP响应报文:(下图尾响应报文)

这条响应报文中包含了HTTP的版本号(HTTP/1.0)+一个响应状态码+一个描述性的语句+响应首部字段+响应主体

(响应报文)

(响应状态码)

补充:HTTP的常见请求方法:

GET、PUT、DELETE、POST、HEAD等,GET和HEAD方法是被认为安全的方法,因为出来进行获取资源信息外,不会有其他意义(作用)。而POST、PUT、DELETE方法是非安全的。

GET:用于请求服务器发送(返回)某个(请求)资源。

HEAD:与GET类似,但是仅请求响应首部。客户端在未获取实际资源的情况下,对资源的首部进行检查。使用HEAD,可以在不获取资源的情况下了解资源的情况。不如判断资源的类型,通过查看响应中的状态码,看看某个对象是否存在;通过查看首部,测试资源是否被修改了。

POST:用于向服务器发送数据,对数据进行增删改查的操作;常用于提交表单。

PUT:与GET从服务器读取文档相反,PUT方法会向服务器写入(存储)文档。要求在请求报文的主体中包含文件内容,然后文档保存在请求的URL指定的位置(地址)。

DELETE:按请求URL删除指定的资源文件,和PUT方法相反;但是客户端无法保证删除操作一定会被执行,因为HTTP规范允许服务器自行撤销请求而不告知客户端。

OPTIONS:请求web服务器告知其支持的各种功能。

TRACE:让web服务端将之前的请求通信环回给客户端,通信环回可能包括防火墙、代理、网关或其它一些应用程序,每个中间节点可能都会修改原始的HTTP请求,最后一个节点返回一条TRACE响应,并在响应主体中携带它收到的原始请求报文。

好处:用于验证请求是否如愿穿过了请求/响应链;用来查看代理和其它应用程序对用户请求所产生的效果。

缺点:中间应用程序会自行决定对TRACE请求的处理方式;使用TRACE方法容易引发XST(跨站追踪)攻击。

THE END
1.状态码详解wx671a285cc4b89的技术博客所有状态码的第一个数字代表了响应的五种状态之一,其分类如下: HTTP状态码分类 1xx:信息性状态码,表示临时响应并需要请求者继续执行操作。 2xx:成功状态码,表示操作被成功接收并处理。 3xx:重定向状态码,表示要完成请求,需要进一步操作。通常,这些状态代码用来重定向。 https://blog.51cto.com/u_17090715/12883006
2.请求成功的响应状态码是什么,cdn技术,cdn软件,cdn自建,cdn部署请求成功的响应状态码是什么-一键安装,快速部署,合适有自架自部署CDN软件!https://wdcdn.com/html/SSLzhengshu/20241213/3968.html
3.理解Servlet生命周期与HTTP请求g)要得到二进制流,需要在响应上调用getOutputStream()方法。 h)setContentType()方法告诉浏览器如何处理随响应到来的数据。常见的内容类型为“text/html”、"application/pdf"和"image/jpeg"。 i)可以使用addHeader()或setHeader()设置响应首部。二者的区别是这个首部是否已经是响应的一部分。如果是,setHeader()会https://blog.csdn.net/u010733810/article/details/43453209
4.网络流媒体协议之RTSP与RTMP协议详解云库科技RTSP与RTP最大的区别在于:RTSP是一种双向实时数据传输协议,它允许客户端向服务器端发送请求,如回放、快进、倒退等操作。当然,RTSP可基于RTP来传送数据,还可以选择TCP、UDP、组播UDP等通道来发送数据,具有很好的扩展性。它时一种类似与http协议的网络应用层协议。 https://www.cockor.com/a/10060.html
5.视频直播直播管理API视频直播API参考视频直播提供三种直播形态,分别为推流直播、拉流直播和拉流转推,三种直播在停止逻辑上存在一定的区别。 推流直播状态依赖推流端的状态,在推流端停止推流后,推流直播将自动停止,推流端开始推流后,推理直播将自动恢复。 拉流直播和拉流转推直播类型需要用户手动调用“拉流模式开始直播”和“拉流模式停止直播”接口,才会https://ecloud.10086.cn/op-help-center/doc/article/40529
6.明溪县总医院门诊综合楼智能化建设项目货物类采购项目附件1.55寸超窄边液晶屏;物理分辨率≥1920×1080,响应时间≤8ms2.物理拼缝≤1.8mm,亮度≥600cd/㎡,对比度≥7000:1,图像显示清晰度≥950TVL,亮度鉴别等级≥11级;3.输入接口不少于VGA×1,DVI×1,BNC×1,HDMI×1,USB×1;输出接口不少于VGA×1,DVI×1,BNC×1;4.液晶显示单元内置图像处理芯片,能够实时分析显示内容http://zfcg.cz.sm.gov.cn/upload/document/20221019/0c43fafa7c4d42589a835945176404a4.html
7.系统调优笔记content 阶段会生成 HTTP 响应。当然,其他阶段也有可能生成 HTTP 响应返回给客户端,它们通常都是非 200 的错误响应。接下来,会由 HTTP 过滤模块加工这些响应的内容,并由 write_filter 过滤模块最终发送到网络中。 image 3. 请求的反向代理 Nginx 由于性能高,常用来做分布式集群的负载均衡服务。由于 Nginx 下游通常是https://www.jianshu.com/p/6b2e498f5204
8.HTTP请求与响应处理清出于兰// 为网站服务器对象添加请求事件,当客户端有请求的时候就执行事件处理函数// request事件名称,(req, res)=>{}事件处理函数app.on('request', (req, res) => { // 获取请求地址 req.url // 设置响应报文 // text/plain默认状态,纯文本 charset=utf-8编码格式 res.writeHead(200, { 'content-type':https://www.cnblogs.com/llanq123/p/13866808.html
9.Django学习之路之请求与响应python这篇文章主要为大家详细介绍了Django的请求与响应,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助 + 目录 前言 上一章节中我们讲了如何引用静态文件和模板,以及如何使用常见的Django命令等。那么这章我们就来聊聊Django是如何向浏览器发送数据,以及我们怎么来接收浏https://www.jb51.net/article/237554.htm
10.电商总结——如何打造一个小而精的电商网站架构监控各种网络参数和各服务器相关资源(CPU、内存、磁盘读写、网络、访问请求等),保证服务器系统的安全运营,并提供异常通知机制以让系统管理员快速定位/解决存在的各种问题。目前比较流行的应该是Zabbix。2)服务器监控服务器的监控,主要是监控各个服务器、网络节点、网关等网络设备的请求响应是否正常。通过定时服务,定时去https://www.imooc.com/article/20952