首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

文加图, 理解Http请求与响应

这里到了一个比喻来让大家明白. 敌人封锁江面, 我方间谍和联络员只能通过电报机隔着江面交流. 但是那时的电报机质量不稳定, 有可能会出现失灵的情况....所以就出现了如下对话: 间谍: 联络员, 你能收到我的话么? 你要是能收到, 就说明这个电报机可以发电报. 联络员: 间谍, 收到你的话了, 这说明的电报机可以....但是不确定的电报机能不能, 你能收到我的这句话么? 你要是能收到, 就说明的电报机是可以发电报的. 间谍: 联络员, 收到你的话了. 的电报机也是能, 我们可以正式交流情报了....这里我们安装fiddler后, 打开composer, composer可以直接构建http请求并执行. 3.1 get请求和应答 我们首先构建一个get请求, 设置如下: ?...我们又看到了Content-Type: application/json; charset=gb2312, 这说明在响应头结束后, 会有一个gb2312编码的json.

1.3K20

作为 Node 程序员,如何收发邮件更显专业?

但是它只支持富文本编辑器: 再比如邮件的时候,想把一些重要邮件的内容保存下来,附件啥的都下载到本地。 但是邮件多了的话,一个个手动搞太麻烦了。 有没有什么更好的方式呢?...我们在邮箱里看看: 确实收到了这个邮件: 这样我们就用 node 发送了一个邮件!...发邮件我们会了,那如何通过 node 来邮件呢? 邮件是用 pop3 或者 imap 协议,需要换一个包。...可以看到,我们前面的那两个邮件都取到了。 日期也确实都是 7 月 10 日的。...邮箱里有这样一个邮件: 可以看到,附件也下载到了 files 目录下: 我们把 html 的内容保存到本地文件里: const filePath = path.join(__dirname, '

20120
您找到你想要的搜索结果了吗?
是的
没有找到

解析一次完整的HTTP请求与响应

1.请求请求行分为三个部分:请求方法、请求地址和协议版本 请求方法 HTTP/1.1 定义的请求方法有8种:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE。...最常的两种GET和POST,如果是RESTful接口的话一般会用到GET、POST、DELETE、PUT请求地址 URL:统一资源定位符,是一种自愿位置的抽象唯一识别方法。...第二次分手:主机2收到了主机1送的FIN报文段,向主机1回一个ACK报文段,Acknowledgment Number为Sequence Number加1;主机1进入FIN_WAIT_2状态;主机2告诉主机...1,“同意”你的关闭请求; 第三次分手:主机2向主机1送FIN报文段,请求关闭连接,同时主机2进入LAST_ACK状态; 第四次分手:主机1收到主机2送的FIN报文段,向主机2送ACK报文段,然后主机...ACK报文段时,表示它已经知道主机1没有数据发送了,但是主机2还是可以发送数据到主机1的;当主机2也发送了FIN报文段时,这个时候就表示主机2也没有数据要发送了,就会告诉主机1,也没有数据要发送了,之后彼此就会愉快的中断这次

1.5K40

一次完整的HTTP请求与响应涉及哪些知识?

1.请求请求行分为三个部分:请求方法、请求地址和协议版本 请求方法 HTTP/1.1 定义的请求方法有8种:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE。...最常的两种GET和POST,如果是RESTful接口的话一般会用到GET、POST、DELETE、PUT请求地址 URL:统一资源定位符,是一种自愿位置的抽象唯一识别方法。...第二次分手:主机2收到了主机1送的FIN报文段,向主机1回一个ACK报文段,Acknowledgment Number为Sequence Number加1;主机1进入FIN_WAIT_2状态;主机2告诉主机...1,“同意”你的关闭请求; 第三次分手:主机2向主机1送FIN报文段,请求关闭连接,同时主机2进入LAST_ACK状态; 第四次分手:主机1收到主机2送的FIN报文段,向主机2送ACK报文段,然后主机...ACK报文段时,表示它已经知道主机1没有数据发送了,但是主机2还是可以发送数据到主机1的;当主机2也发送了FIN报文段时,这个时候就表示主机2也没有数据要发送了,就会告诉主机1,也没有数据要发送了,之后彼此就会愉快的中断这次

42050

一次完整的HTTP请求与响应涉及了哪些知识?

1.请求请求行分为三个部分:请求方法、请求地址和协议版本 请求方法 HTTP/1.1 定义的请求方法有8种:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE。...最常的两种GET和POST,如果是RESTful接口的话一般会用到GET、POST、DELETE、PUT请求地址 URL:统一资源定位符,是一种自愿位置的抽象唯一识别方法。...第二次分手:主机2收到了主机1送的FIN报文段,向主机1回一个ACK报文段,Acknowledgment Number为Sequence Number加1;主机1进入FIN_WAIT_2状态;主机2告诉主机...1,“同意”你的关闭请求; 第三次分手:主机2向主机1送FIN报文段,请求关闭连接,同时主机2进入LAST_ACK状态; 第四次分手:主机1收到主机2送的FIN报文段,向主机2送ACK报文段,然后主机...ACK报文段时,表示它已经知道主机1没有数据发送了,但是主机2还是可以发送数据到主机1的;当主机2也发送了FIN报文段时,这个时候就表示主机2也没有数据要发送了,就会告诉主机1,也没有数据要发送了,之后彼此就会愉快的中断这次

54940

Wireshark使用入门

也是为了最小的代价验证会话双方的收发功能正常: 第一次握手成功:说明客户端的数据可以被服务端收到,说明客户端的功能可用,说明服务端的功能可用。客户端自己不知道数据是否被接收。...第二次握手成功:说明服务端的数据可以被客户端收到,说明服务端的功能可用,说明客户端的功能可用。同时客户端知道自己的数据已经正确到达服务端,自己的功能正常。但是服务端自己不知道数据是否被接收。...下图中首先是客户端发起一个GET请求,服务端收到请求后首先返回确认信息。待服务端处理完成后,将数据返回给客户端,客户端对收到的数据进行确认,完成一次数据交互的过程。 ?...第一次挥手:客户端 发送一个[FIN+ACK],表示自己没有数据要发送了,想断开连接,并进入FIN_WAIT_1状态(不能再发送数据到服务端,但能够发送控制信息ACK到服务端)。...第四次挥手:客户端收到了服务端对FIN的ACK后,进入FIN_WAIT2状态(等待服务端完成资源释放的一系列工作:然后释放你为创建这个连接所分配的资源,并通知你关闭了); 客户端收到了服务端的FIN信令后

1.3K91

一次完整的HTTP请求与响应涉及了哪些知识?

1.请求请求行分为三个部分:请求方法、请求地址和协议版本 请求方法 HTTP/1.1 定义的请求方法有8种:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE。...最常的两种GET和POST,如果是RESTful接口的话一般会用到GET、POST、DELETE、PUT请求地址 URL:统一资源定位符,是一种自愿位置的抽象唯一识别方法。...第二次分手:主机2收到了主机1送的FIN报文段,向主机1回一个ACK报文段,Acknowledgment Number为Sequence Number加1;主机1进入FIN_WAIT_2状态;主机2...告诉主机1,“同意”你的关闭请求; 第三次分手:主机2向主机1送FIN报文段,请求关闭连接,同时主机2进入LAST_ACK状态; 第四次分手:主机1收到主机2送的FIN报文段,向主机2送ACK...ACK报文段时,表示它已经知道主机1没有数据发送了,但是主机2还是可以发送数据到主机1的;当主机2也发送了FIN报文段时,这个时候就表示主机2也没有数据要发送了,就会告诉主机1,也没有数据要发送了,之后彼此就会愉快的中断这次

65350

ThingJS数据对接方法介绍——Ajax

比如一个简单的使用GET 或POST 发送的请求,它没有自定义的头部,而主体内容是text/plain。...下面是Origin 头部的一个示例: Origin: http://www.nczonline.net 如果服务器认为这个请求可以接受,就在Access-Control-Allow-Origin 头部中回相同的源...,如: · 使用GET或POST以外的HTTP请求方法(PUT DELETE等); · 请求的Content-Type 不属于以下三种之一: · application/x-www-form-urlencoded...; · text/plain; · multipart/form-data; · 发送了自定义的请求头信息(如Token数据)。...,如果写 * 则都允许 "Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS"; //配置允许的自定义请求头,如果写 * 则都允许 "Access-Control-Allow-Headers

1.6K20

Http协议状态码总结

一、http方法 方法名 说明 get 发送一个获取请求,服务器的响应会包含head与body部分 post 发送一个输入数据的请求,服务器的响应会包含head与body部分 head 服务器响应的只有...head部分 put 向服务器发送一个文件(资源) trace 目的服务器在响应请求的时候,会在主体中带上原始的请求报文,用于客户端对比防火墙、代理、网关等对数据做的改变 options 请求服务器告知...请求,浏览器会禁止重定向,除非用户确认;http/1.0送post请求,响应的是301,接下来重定向的也会变成get请求 302 Move temporarily 临时重定向,其他与301一样。...cache-control或expires头可以缓存 303 see other 当前请求在另一个url上,而客户端应该采用get,303不能缓存,第二个请求可以;http/1.1处理303与302是一致的...temporary redirect 与302一致 4. 400~499错误状态码 状态码 说明 400 bad requrest 客户端发送了一个错误的请求 401 unauthorized 要求客户端访问此资源前

92550

浅谈HTTP

GET 请求之发送验证码​ 首先一个例子,收过短信验证码吧,一般来说在你注册账号的时候就会用到,会有一个点击发送验证码的按钮,这里以 网址 114 预约挂号 为例 输入完手机号,点击获取验证码就能收到验证码...https://www.114yygh.com/ Accept-Encoding: gzip, deflate, br Accept-Language: zh-CN,zh;q=0.9 首先我们向服务器发送了一个如上的请求...,这是一个 GET 请求,同时请求的链接(url)为https://www.114yygh.com/web/common/verify-code/get?...","data":null} 没错,就需要等,而且这里的 resCode 也不为 0,那么既然要等一分钟的话,能不能写个定时脚本,每隔一分钟发送一次,人家服务器也不傻,一般来说,一个手机号最多也就...在这里到了原文的信息,这是通过 Jquery 通过 id 获取元素的值,也就是这里的手机号和密码,在这里还都是原文,点到下一个函数则变成了密文,那么肯定是上一个函数做了手脚。

43220

TCP之三次握手四次挥手

采用两次握手不行,原因就是上面说的失效的连接请求的特殊情况。而在三次握手中, client和server都有一个syn和ack的过程, 双方都是后能, 表明通信则准备工作OK。...第一次挥手:客户端发送一个FIN,用来关闭客户端到服务器的数据传送,也就是客户端告诉服务器:已经不 会再给你数据了(当然,在fin包之前发送出去的数据,如果没有收到对应的ack确认报文,客户端依然会重发这些数据...第三次挥手:服务器发送一个FIN,用来关闭服务器到客户端的数据传送,也就是告诉客户端,的数据也发送完了,不会再给你数据了。...第一,保证客户端发送的最后一个ACK报文能够到达服务器,因为这个ACK报文可能丢失,站在服务器的角度看来,已经发送了FIN+ACK报文请求断开了,客户端还没有给我回应,应该是发送的请求断开报文它没有收到...第二,防止类似与“三次握手”中提到了的“已经失效的连接请求报文段”出现在本连接中。客户端发送完最后一个确认报文后,在这个2MSL时间中,就可以使本连接持续的时间内所产生的所有报文段都从网络中消失。

415100

TCP详解+wireshark抓包演示简介

于是客户端再重传一次连接请求。后来收到了确认,建立了连接。数据传送完毕后,就释放了连接。客户端共发送了两个连接请求报文,其中一个丢失,第二个到达了B。...本来这事一个早已失效的报文。服务端收到失效的请求报文后,就误以为是A又发出的一个新的连接请求。于是就向客户端发出确认报文,同意建立连接。...;这表示主机1没有数据要发送给主机2了; 第二次分手:主机2收到了主机1送的FIN报文段,向主机1回一个ACK报文段,Acknowledgment Number为Sequence Number加1;主机...1进入FIN_WAIT_2状态;主机2告诉主机1,“同意”你的关闭请求; 第三次分手:主机2向主机1送FIN报文段,请求关闭连接,同时主机2进入LAST_ACK状态; 第四次分手:主机1收到主机2送的...其他情况:   服务端向客户端发送 FIN = 1 的释放连接请求这个报文丢失了, A没有接到不会发送确认信息, 服务端 超时会重传,这时客户端 WAIT_TIME 还能够接收到这个请求,这时再回复一个确认就行了

2K30

关于HTTP报文请求方法和状态响应码

Method 请求方法,表明客户端希望服务器对资源执行的动作; 1.1 GET 向服务器请求资源。 1.2 HEAD 和GET方法的行为类似,服务器在响应中只返回首部,不会返回实体的主体部分。...可以做到: 不获取资源的情况下了解资源的情况(比如,判断器类型) 通过查看响应中的状态码,看看某个对象是否存在; 通过查看首部,测试资源是否被修改了; 1.3 PUTGET从服务器读取文件相反,PUT...有些发布系统允许用户创建WEB页面,并用PUT直接将其安装到WEB服务器上; PUT方法的语义就是让服务器用请求的主体部分来创建一个由所请求的URL命令的新文档,或者如果那个URL已经存在的话,就用这个主体来代替它...因为这个日期之后,此文档并未修改过,因此,服务器回送了一个304状态码,而不是文档的内容; 300:Multiple Choices 客户端请求一个实际指向多个资源的URL时就会返回这个状态码,比如服务器上有某个...URL发送一个GET请求; 问题出在HTTP/1.1。

1.3K30

【融职培训】Web前端学习 第8章 egg基础教程5 restful接口

幂等性是一个很有用的特性,因为互联网不是一个可靠的网络,假设我们发送了一个DELETE请求,然后连接超时了,我们没有收到响应信息,所以我们无法知道资源是否被正确地删除了,但是我们可以利用DELETE请求的幂等性特性...客户端一般通过GET请求获取资源表述,然后进行进行修改,最后将修改后的表述作为PUT请求的负载数据发送回服务器,修改完成后,服务器返回200或204响应码。 PUT请求也是幂等的。...GET 获取资源的某个表述(一个资源可以有多个表述)。 客户端通过发送GET请求来获取某个URL所标识的资源表述。...GET请法语最常见的响应码是200(OK)。 GET被定义为安全的HTTP方法,这是因为向服务器发送一条或多条GET请求对资源的影响和没有GET请求一样,不会对既有资源有作何影响。...一个OPTIONS请求的返回结果包含这个资源所支持的所有HTTP方法,如GET/PUT/DELETE/POST等。

34020

一文了解TCP知识讲的明明白白

三次握手 三次握手的本质是确认通信双方收发数据的能力 首先,让信使运输一份信件给对方,对方收到了,那么他就知道了的发件能力和他的收件能力是可以的。...于是他给我回信,若收到了便知的发件能力和他的收件能力是可以的,并且他的发件能力和我的收件能力是可以。...TCP连接成功后客户端总共发送了1000个字节的数据,服务端在客户端FIN报文前总共回复了2000个字节的数据。...需要注意的是客户端发出FIN报文段后只是不能数据了,但是还可以正常数据;另外FIN报文段即使不携带数据也要占据一个序列号。...HTTP的工作方式是客户端与服务器之间的请求-应答协议。 HTTP协议中定义了浏览器和服务器进行交互的不同方法,基本方法有4种,分别是GET,POST,PUT,DELETE。

63040

Web前端学习 第8章 egg基础教程5 restful接口

幂等性是一个很有用的特性,因为互联网不是一个可靠的网络,假设我们发送了一个DELETE请求,然后连接超时了,我们没有收到响应信息,所以我们无法知道资源是否被正确地删除了,但是我们可以利用DELETE请求的幂等性特性...客户端一般通过GET请求获取资源表述,然后进行进行修改,最后将修改后的表述作为PUT请求的负载数据发送回服务器,修改完成后,服务器返回200或204响应码。 PUT请求也是幂等的。...GET 获取资源的某个表述(一个资源可以有多个表述)。 客户端通过发送GET请求来获取某个URL所标识的资源表述。...GET请法语最常见的响应码是200(OK)。 GET被定义为安全的HTTP方法,这是因为向服务器发送一条或多条GET请求对资源的影响和没有GET请求一样,不会对既有资源有作何影响。...一个OPTIONS请求的返回结果包含这个资源所支持的所有HTTP方法,如GET/PUT/DELETE/POST等。

54430

基础知识-网络-TCP滑动窗口,拥塞控制

3.TCP协议的两端分别为发送者A和接收者B,由于是全双工协议,因此A和B应该分别维护着一个独立的发送缓冲区和接收缓冲区,由于对等性(AB和BA),以下均以A发送B接收的情况来举例。...A发送11个字节后,发送窗口位置不变,B接收到了乱序的数据分组: ?...只有当A成功发送了数据,即发送的数据得到了B的确认之后,才会移动滑动窗口离开已发送的数据; 同时B则确认连续的数据分组,对于乱序的分组则先接收下来,避免网络重复传递 ?...需要注意的是: 这里面涉及到一种情况,如果B已经告诉A自己的缓冲区已满,于是A停止发送数据;等待一段时间后,B的缓冲区出现了富余,于是给A发送报文告诉A的rwnd大小为400,但是这个报文不幸丢失了...快重传的机制是: (1)接收方建立这样的机制,如果一个包丢失,则对后续的包继续发送针对该包的重传请求 (2)一旦发送方接收到三个一样的确认,就知道该包之后出现了错误,立刻重传该包; (3)此时发送方开始执行

1.1K20

TCP协议—三次握手四次挥手的原理 三次握手四次挥手的原理

1状态;这表示主机1没有数据要发送给主机2了; 2.第二次挥手:主机2收到了主机1送的FIN报文段,向主机1回一个ACK报文段,Acknowledgment Number为Sequence Number...加1;主机1进入FIN_WAIT_2状态;主机2告诉主机1,也没有数据要发送了,可以进行关闭连接了; 3.第三次挥手:主机2向主机1送FIN报文段,请求关闭连接,同时主机2进入CLOSE_WAIT状态...server收到此失效的连接请求报文段后,就误认为是client再次发出的一个新 的连接请求。于是就向client发出确认报文段,同意建立连接。...2返回ACK报文 段时,表示它已经知道主机1没有数据发送了,但是主机2还是可以发送数据到主机1的;当主机2也发送了FIN 报文段时,这个时候就表示主机2也没有数据要发送了,就会告诉主机1,也没有数据要发送了...(主动方) FIN_WAIT_2:上面已经详细解释了这种状态,实际上FIN_WAIT_2状态下的SOCKET,表示半连接,也即 有一方要求close连接,另外还告诉对方,暂时还有点数据需要传送给你(

44121

用IP在淘宝IP地址库库换地址 & json 解析应用

首先:需要做一个玩家省份统计的需求,只有他们的IP 如果然一个个去百度搜IP,然后一个个输入,简直太要命,所以,做了一个用Java 代替人力 用IP去换物理地址 地址:https://ip.taobao.com.../ipSearch 思路:在访问淘宝IP地址库的时候发现了 每次搜索 都会发送一个Http协议的Post的请求,并发现了 这是一个Json响应的结果。...首先,要找到Http的请求工具,想了一下Hutool库中有此工具,Maven如下 然后发送了请求得需要处理 Json 吧,那就使用传说中的...这里,再次强调一下思路 利用Hutool的HttpUtil,发送Post请求,得到一个String(就是请求结果), 用这个String经过第一次FastJson处理后封装到Map集合。

2.4K20
领券