随笔分类 - 计算机网络
HTTP 协议缓存
摘要:http 缓存分为客户端缓存和服务端缓存1. 客户端缓存客户端缓存指的是浏览器缓存, 浏览器缓存是最快的缓存, 因为它直接从本地获取(但有可能需要发送一个请求), 它的优势是可以减少网络流量, 加快请求速度2. 服务器缓存服务器缓存指的是反向代理服务器或 cdn 缓存, 他的作用是用于减轻实际的 w...
阅读全文
代理的匿名程度
摘要:先解释几个HTTP头Via: 对代理信息的解释, 可以包括被代理之前的http协议信息, 代理软件信息, 代理网关等等, 例如Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)表示原始客户端使用1.0协议发给代理fred, fred再用1.1协议发给代理nowhere.com, 代理软件是 apacheX-Forwarded-For: 被代理之前的客户端地址(不可信)不同的代理具有不同的匿名程度, 普遍上来讲分为如下:1. 透明代理透明代理会暴露原始客户端的IP信息Via: 有值X-Forwarded-For: 原始客户端IP2. 普通匿名代理匿名代理不会暴
阅读全文
HTTP tunnel
摘要:HTTP Tunnelingis a technique by which communications performed using various networkprotocolsare encapsulated using theHTTPprotocol, the network protocols in question usually belonging to theTCP/IPfamily of protocols. The HTTP protocol therefore acts as a wrapper for a channel that the network proto
阅读全文
RFC 868 -- TIME Protocol
摘要:INTERNET STANDARD Errata ExistNetwork Working Group J. Postel - ISIRequest for Comments: 868 K. Harrenstien - SRI Ma...
阅读全文
Endianess(字节次序)简介
摘要:1. 基础在解释Endianess前,需要先明白几个基础定义1) 数据的高位与低位是什么以1001001为例,则从左边算起是 高位 -> 低位, 简而言之就是左边是高位,右边是低位而内存中一般来说是以字节为单位来表示数据,所以对于数字 int 型 0x12345678 来说如下2) 多字节数据在内存中的存储地址表示一般来说我们表示某个数据的内存地址都是取它的内存地最低位置地址表示,例如a = 0x1234567占据了内存的地址0x100,0x101,0x102,0x103四个字节,则a的内存地址为0x1002. Endianess的定义Endianess指的是字节在在内存中的存储次序,一
阅读全文
三次握手与accept()函数
摘要:客户端发送SYN给服务器服务器发送SYN+ACK给客户端客户端发送ACK给服务器连接建立,调用accept()函数获取连接
阅读全文
NAT穿墙小记
摘要:当两个局域网内的用户进行点对点的通信时,由于受到路由NAT的保护,双方都无法直接得到对方的IP:Port,是无法直接进行通信的,这时候就需要通过中间的通信服务器来协调双方的交流先设定背景:下面来看集中NAT穿墙的应用情况使用IM进行点对点通信HostA的IM登录用户Zem想向Jack发起会话,会话请求发送到CS(Communication Server);CS记录有所有IM登录用户的账号和对应的IP:PORT映射表,CS从HostA的请求获取到Zem的IP:PORT后与Jack的IP:PORT建立连接Zem和Jack开始通话P2P下载HostA下载一部苍井空的电影CS中记录了所有在下苍井空的H
阅读全文
NAT小记
摘要:网络地址转换(NAT,Network Address Translation),将内网地址与外网地址相互转换,下面说说NAT中的PAT(端口地址转换):情形:内网地址有192.168.1.2~192.168.1.254, 外网地址是121.48.169.137现在设置PAT这样访问121.48.169.137:3456-3459都会被转交给192.168.1.200处理了,当然你需要给内网主机分配一个固定的内网ip:这里就不多说了
阅读全文
PHP输出缓存(output_buffering)小记 -- 尚有疑问
摘要:首先明确一下PHP的输出顺序1.打开了php输出缓存: echo,print -> php output_buffring -> server buffering -> browser buffering -> browser display2.未打开php输出缓存: echo,print -> server buffering -> browser buffering -> browser display另外明确一下浏览器的输出缓存:IE为256Bytes, Chrome与FireFox为1000Bytes,只有输出数据达到了这个长度或者脚本结束浏览
阅读全文
常见HTTP状态码
摘要:100Continue初始的请求已经接受,客户应当继续发送请求的其余部分101Switching Protocols服务器将遵从客户的请求转换到另外一种协议200OK指示请求成功,且请求的信息包含在响应中。这是最常接收的状态代码201Created指示请求导致在响应被发送前创建新资源202Accepted指示请求已被接受做进一步处理203Non-Authoritative Information指示返回的元信息来自缓存副本而不是原始服务器,因此可能不正确204No Content指示已成功处理请求并且响应已被设定为无内容205Reset Content指示客户端应重置(或重新加载)当前资源20
阅读全文
正向代理
摘要:1.正向代理正向代理位于原始服务器和客户机之间,他的作用是代替客户机发请求,例如用于保护客户机,或者FQ(条件是代理服务器必须不受GFW限制,现在较多的应该是购买国外的VPS搭建的),流程如下:1.客户机向正向代理服务器发起请求,告诉代理服务器要访问的被GFW屏蔽的网站2.代理服务器访问被屏蔽的网站,并获取被屏蔽网站的内容3.代理服务器将获得的内容返回给客户机,客户机达到浏览被GFW屏蔽的网站的目的原始服务器此时并不知道真正访问它的客户机是什么,起到保护和屏蔽客户机的作用而客户机在发起请求时GFW会认为客户机在请求一个合法的网站,并不知道真正要访问的是什么,所以无法阻止FQ
阅读全文