Http协议窥探

POST和GET

HTTP一共有8种请求,其中比较重要的就是POST和GET,其余的还有HEAD、PUT.
1.GET请求可以被缓存起来,收藏为书签,但是POST不行。
2.GET可以被保存到历史记录中,但是POST不会。
3.GET请求的长度有限制(根据浏览器的不同而不同,大约几kb),POST无限制
4.GET请求的参数在URL连接上,相对不安全,POST请求参数写在HTTP的请求头中,相对安全。

首部(共74个,不能一一列出,只挑选相对重要一些的)

通用首部

Cache-control:

 no-cache:强制向源服务器再次验证。
 no-store: 不缓存请求或响应的内容。      

Connection:

1.控制不再转发给代理的首部字段(Connection:不再转发的首部字段名)。
2.管理持久连接(Connection:close 关闭连接  Connection:Keep-Alive )。 
【注】:HTTP/1.1默认连接是持久连接,对于1.1之前的版本需要使用Connection:Keep-Alive来保持持久连接。

Upgrade:

 除了使用HTTP协议外,还能用此字段进行扩展协议

Via:

为了追踪client和server之间的请求和响应的路径。
例:Via:1.0 gw.hackr.jp     1.0表示http的版本,gw.hackr.jp表示当前的代理服务器信息。

Date:

Date: Tue01 Jul 2012 04:40:59 GMT

Warning:

请求首部

accept:
用于指定客户端接受那些请求的类型。
例:Accept:text/html,表明客户端希望接受html文本。

accept-encoding:
用于指定客户端可接受的编码内容。
accept-language:
用于指定客户端可接受的自然语言。
accept-charset:
用于指定客户端可接受的字符集。
Authorization:
用于证明客户端有权限查看某些资源。
Host:
用于指定被请求资源的Internet主机和端口号。
If-Match:
告诉服务器匹配资源所用的实体标记值(ETag)。
If-Range:
告诉服务器若指定的If-Range字段值和请求资源的ETag值或时间相一致时,则作为范围请求处理。
Max-Forwards:
通过TRACE方法或OPTIONS方法。
User-Agent:
它的操作系统、浏览器和其它属性告诉服务器。

响应首部

Accept-Ranges:
用来告知客户端服务器是否能处理范围请求,以指定获取服务器端某个部分的资源。
Age:
告知客户端,源服务器在多久前创建了响应。字段值的单位为秒。
ETag:
能告知客户端实体标识,一种可将资源以字符串形式做唯一标识的方式,服务器会为每份资源分配对应的ETag值。
强ETag值和弱ETag值
强ETag值,不论实体发生多么细微的变化都会改变其值。
弱ETag值,只用于提示资源是否相同,只有资源发生了根本改变,产生差异时才会改变ETag值。这时会在字段值最开始处附加W/,ETag:W/"usagi-1234"
Location:
使用首部字段Location可以将响应接收方引导至某个与请求URI位置不同的资源。
Retry-After:
告知客户端应该在多久之后再次发送请求。
Server:
告知客户端当前服务器上安装的HTTP服务器应用程序的信息。
例子:Server:Apache/2.2.6(Unix)PHP/5.2.5
Vary:
对缓存进行控制,源服务器会向代理服务器传达关于本地缓存使用方法的命令。
WWW-Authenticate:
首部字段WWW-Authenticateu用于HTTP访问认证。告知客户端适用于访问请求URI所指定资源的认证方案和带参数提示的质询。

实体首部

Allow:
告知客户端能够支持Request-URI指定资源的所有HTTP方法。
Content-Encoding:
通知客户端服务器对实体的主体部分选用的内容编码方式(gzip、compress、deflate、identity)。
Content-Language:
通知客户端服务器对实体的主体部分使用的自然语言。
Content-Location:
Content-Location:http://www.baidu.com
表示报文主体返回资源对应的URI。
Content-MD5:
客户端会对接收的报文主体执行相同的MD5算法,然后与首部字段Content-MD5的字段值比较。
Content-Range:
返回响应时使用的首部字段Content-Range,能告知客户端作为响应返回的实体的哪个部分符合范围请求。字段值以字节为单位,表达当前发送部分及整个实体大小。
Content-Type:
说明了实体主体内对象的媒体类型。
Expires:
将资源失效的日期告知客户端。
Last-Modified:
指明资源最终修改的时间。

其他

Cookie:服务器接收到的Cookie信息
例子:
set-Coolie:开始状态管理所使用的Cookie信息
例子:set-Cookie:status=enable;expires=Tue,05 Jul 2016 08:00:00 GMT;path=/;domain=www.baidu.com

加密机制

HTTP与HTTPS

HTTP协议:使用HTTP协议时,客户端与服务端的80端口建立一个TCP连接,然后就在这个连接的基础上进行请求和应答,以及数据的交换。
[注]:HTTP1.0和HTTP1.1的区别是:1.0每次请求都要建立一个新的TCP,1.1可以运行在一个连接上发送多次命令和应答,提高效率。

HTTPS的优势:加密+认证+完整性保证。
HTTPS的劣势:

1.加密需要占用大量cpu和内存
2.多了一层SSL和TLS通信层,必然拖慢速度。

Cookie和Session

作用:因为HTTP是一种无状态的连接,所以无法记录上次传输的数据。
1.Cookie保存客户端,Session保存在服务器。
2.Cookie相对来说不安全,浏览器可以分析本地的Cookie,进行Cookie欺骗。
3.Session可以设置超时时间,超过这个时间就会失效,以免长期占用服务器内存。
4.单个Cookie大小限制(4kb),每个站点的Cookie数量一般也有限制(20个)。
5.客户端每次都会把Cookie发送到服务器,因此服务器可以知道Cookie,但是客户端不知道Session。

服务器收到Cookie后,会根据Cookie中的SessionID来找到客户的Session,如果没有,会生成一个新的SessionID随Cookie发送给客户端。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容