网络协议学习篇
小雨喳
while( !success ){ Keep trying; }
展开
-
POST提交数据方式
HTTP协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协议并没有规定数据必须使用什么编码方式。实际上,开发者完全可以自己决定消息主体的格式,只要最后发送的 HTTP 请求满足上面的格式就可以。 但是,数据发送出去,还要服务端解析成功才有意义。一般服务端语言如 php、python 等,以及它们的 framework,都内置了自动解析常见数据格式的功能。服务端通常是根据请求头(headers)中的 Content-Type 字段来获知请求中的消息主体是用何种方式编码,再对主体原创 2020-07-25 14:54:28 · 361 阅读 · 0 评论 -
RPC讲解
一、概念Remote Procedure Call 远程过程调⽤它是⼀种通过⽹络从远程计算机程序上请求服务,⽽不需要了解底层⽹络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI⽹络通信模型中,RPC跨越了传输层和应⽤层。RPC使得开发包括⽹络分布式多程序在内的应⽤程序更加容易。 通俗法理解:RPC就是可以跨平台调用,比如A项目用java开发的,B项目用golang开发的,如果B项目里的某个方法想直接调用A项目里的某个方法,双方底层就需要借助一个翻译机原创 2020-06-13 16:43:16 · 265 阅读 · 0 评论 -
WebSocket讲解
一、概念WebSocket protocol 是HTML5⼀种新的协议。它实现了浏览器与服务器全双⼯通信,能更好的节省服 务器资源和带宽并达到实时通讯它建⽴在TCP之上,同HTTP⼀样通过TCP来传输数据。WebSocket同HTTP⼀样也是应⽤层的协议,并且⼀开始的握⼿也需要借助HTTP请求完成。 它和 HTTP 最⼤不同是: WebSocket 是⼀种双向通信协议,在建⽴连接后,WebSocket 服务器和 Browser/Client Agent 都能主动的向对⽅发送或接收数据,就像 Soc原创 2020-06-13 15:53:37 · 245 阅读 · 0 评论 -
DNS实现原理
DNS (Domain Name System)是 “城名系统”的英⽂缩写,是⼀种组织成域层次结构的计算机和⽹络服务命名系统,它⽤于TCP/IP⽹络,它从事将主机名或域名转换为实际IP地址的⼯作。DNS就是这样的⼀ 位“翻译官”,它的基本⼯作原理可⽤下图来表示。DNS解析过程 浏览器中输⼊域名,操作系统会先检查⾃⼰本地的hosts⽂件是否有这个⽹络映射关系,如果有就先调⽤这个IP地址映射,完成域名解析。 如果hosts没有域名,查找本地DNS解析器缓存,如果有直接返回,完成域名解析。 .原创 2020-06-13 15:43:21 · 1406 阅读 · 0 评论 -
Web通信原理
我们平时浏览⽹⻚的时候,会打开浏览器,输⼊⽹址后按下回⻋键,然后就会显示出你想要浏览的内容。在这个看似简单的⽤户⾏为背后,到底隐藏了些什么呢?浏览器本身是⼀个客户端,当你输⼊URL的时候,⾸先浏览器会去请求DNS服务器,通过DNS获取相应的域名对应的IP,然后通过IP地址找到IP对应的服务器后,要求建⽴TCP连接,等浏览器发送完HTTP Request(请求)包后,服务器接收到请求包之后才开始处理请求包,服务器调⽤⾃身服务,返回HTTP Response(响应)包;客户端收到来⾃服务器的响应后开始渲染这原创 2020-06-13 15:30:01 · 1000 阅读 · 0 评论 -
OSI的七层模型No.1
OSI的七层模型应用层:给用户提供发送数据的接口,如简单电子邮件传输(SMTP)、文件传输协议(FTP)http协议,https等 例:(www.163.com邮箱)。表示层: 将数据转换成二进制,(视屏,文本,ppt等等),加密等. 例:(将一封信加密并且转换成二进制)会话层: 判断数据是不是需要传输,如果是传给传输层,否则存到硬盘里. 例:(这封信件事给别人的还是自己留着的)原创 2017-09-27 11:02:51 · 687 阅读 · 0 评论 -
TCP/IP四层模型No.2
TCP/IP四层模型 应用层:给用户提供发送数据的接口,如文件传输协议(FTP)http协议,https等 例:(FTP头)传输层: TCP(三次握手协议,相当于打电话), UDP(只发送一次,相当于发短信,qq用的协议). 例:(FTP头,TCP头)网际互联层:IP协议(源IP和目标IP),ICMP协议(ping 两台机器是否能通话) 例:(FTP头,TCP头,IP头)原创 2017-09-27 11:06:49 · 255 阅读 · 0 评论 -
TCP/IP滑动窗口机制No.3
一、滑动窗口机制在进行数据传输时,如果传输的数据比较大,就需要拆分为多个数据包进行发送。TCP 协议需要对数据进行确认后,才可以发送下一个数据包,如图所示。从上图中可以看到,发送端每发送一个数据包,都需要得到接收端的确认应答以后,才可以发送下一个数据包。这样一来,就会在等待确认应答包环节浪费时间。为了避免这种情况,TCP引入了窗口概念。窗口大小指的是不需要等待确认应答包而可以继续发送数据包的最大值。例如,窗口大小为 3,数据包的传输如图所示。从上图中可以看到,发送端发送第一个..转载 2020-06-09 16:30:50 · 478 阅读 · 0 评论 -
HTTP请求的header头解析No.4
HTTP请求的header头解析 请求头截图截图 Accept 作用: 浏览器端可以接受的媒体类型例如: Accept: text/html 代表浏览器可以接受服务器回发的类型为text/html通配符 * 代表任意类型例如 Accept: */* 代表浏览器可以处理所有类型,(一般浏览器发给服务器都是...原创 2019-04-25 19:08:18 · 1293 阅读 · 0 评论 -
http常用状态码No.5
http常用状态码 类别 原因短语1xx 信息型状态码 接收的请求正在处理2xx 成功状态码 ...原创 2019-07-02 14:49:19 · 129 阅读 · 0 评论 -
https是什么No.6
https就是在http的基础上增加一个ssl协议(SSL是基于HTTP之下TCP之上的一个协议层,是基于HTTP标准并对TCP传输数据时进行加密,所以HPPTS是HTTP+SSL/TCP的简称),就是在每次通信的时候客户端先从服务端拿到一个CA证书(包含秘钥),并且客户端浏览器验证该证书的安全性,激活客户端浏览器到网站服务器之间的"SSL加密通道"(在每次数据传输过程中都要经过SSL这一层进行数...原创 2020-01-28 19:18:24 · 746 阅读 · 0 评论 -
session,cookie,token区别No.7
一、cookie和session由于http的无状态性,为了使某个域名下的所有网页能够共享某些数据,session和cookie出现了。客户端访问服务器的流程如下首先,客户端会发送一个http请求到服务器端。 服务器端接受客户端请求后,建立一个session,并发送一个http响应到客户端,这个响应头,其中就包含Set-Cookie头部。该头部包含了sessionId。Set-Cooki...原创 2019-12-05 17:33:19 · 149 阅读 · 0 评论 -
浏览器HTTP请求头header缓存No.8
浏览器HTTP请求头header缓存一、静态资源缓存对于PHP输出的内容,如果不是需要经常变动的内容(例如伪静态的一些页面,PHP输出JS或者CSS),使用PHP合理设置HTTP响应头添加缓存设置,让浏览器尽可能缓存下内容,在刷新和再次访问同样内容时,便不需要再次请求浏览器,从而能够大幅减少服务器的响应次数,同时浏览...原创 2019-04-19 18:18:59 · 6474 阅读 · 0 评论 -
CSRF讲解No.9
A(被攻击网站) B(恶意攻击网站)一、想要攻击得具备什么条件用户已经登录A网站,并生成cookie信息(一般包含了一个session_id和服务端会话) B网站得有一个专门攻击A网站的脚本(这个脚本包含A网站的某个接口地址和请求参数) B网站必须诱导用户点击这个脚本才能攻击A网站(因为用户的浏览器存有cookie信息)二、怎么防范通过请求header的Referer参数判断是不...原创 2019-12-05 17:00:01 · 250 阅读 · 0 评论 -
Socket讲解No.10
TCP/IP、Http、Socket的区别 一: 我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容。 如果想要使传输的数据有意义,则必须使用到应用层协议。也可以说,TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据 应用层协议有很多,比如HTTP、FTP、TEL原创 2017-09-27 11:21:51 · 230 阅读 · 0 评论