HTTP状态码403简介和模拟返回

403 Forbidden 是HTTP协议中的一个状态码(Status Code)。可以简单的理解为没有权限访问此站,该请求不该重发给服务器。在HTTP请求的方法不是“HEAD”,并且服务器想让客户端知道为什么没有权限的情况下,服务器应该在返回的信息中描述拒绝的理由。 nginx/apache返回403:修改文件/文件夹权限,设置为拒绝读取/执行/写入 IIS使用修改文件权限没有返回403,但是有

Continue reading »

http协议之URL的组成 划分规则

url分为以下几个部分,对url进行编码时要分别考虑这几个部分的特殊情况,一般参考ie的编码规则编码,url中/\?#@是五个url中可以无限yy的字符 scheme://[user:password@]hostname[:port]/path/[;parameters][?query][#fragment] scheme协议名: 协议名不区分大小写,以:(冒号)结束,特殊情况//可以省略,RFC

Continue reading »

HTTP头之Content-Type

Content-Type是HTTP响应/POST头中重要的内容,用于定义网络文件的MIME类型和网页的编码。一般浏览器会根据Content-Type来决定如何处理返回的消息体内容,例如直接显示或者调用关联程序。 wireshark中使用过滤语句http.content_type过滤出包含Content-Type的http数据包,如下图 如果只过滤一种类型的Content-Type,可以使用如下过滤

Continue reading »

URL保留字符/特殊含义字符编码

保留字符就是那些在URL中具有特定意义的字符。不安全字符是指那些在URL中没有特殊含义,但在URL所在的上下文中可能具有特殊意义的字符。 url中保留字符的特殊含义 1. + URL 中+号表示空格 %2B 2. 空格 URL中的空格可以用+号或者编码 %20 3. / 分隔目录和子目录 %2F 4. ? 分隔实际的 URL 和参数 %3F 5. % 指定特殊字符 %25 6. # 表示书签 %2

Continue reading »

nginx配置关闭chunked

Transfer-Encoding:chunked简介

通常情况下,Transfer-Encoding域的值应当为chunked,表明采用chunked编码方式来进行报文体的传输。chunked编码是HTTP/1.1 RFC里定义的一种编码方式。

chunked编码的基本方法是将大块数据分解成多块小数据,每块都可以自指定长度。Transfer-Encoding:chunked能更快的让页面呈现出来,因为它能分段下载,浏览器分段解析,例如facebook利用这个特性实现的big pipe。

Continue reading »

浏览器/服务端的url最大长度限制

HTTP协议中没有对url长度做出限制,但浏览器和服务端对url长度都有限制。 不同浏览器url长度限制也不同,如果超长则会截取部分或者拒绝发送超长url。 IE的最大URL长度限制是2083字节,而实际可以使用的最大长度为2048字节 Firefox最大url长度限制为65,536个字符 Safari最大url长度限制为80,000个字符 Opera最大url长度限制为190,000个字符 Go

Continue reading »