文档章节

NOTE:Http

猪刚烈
 猪刚烈
发布于 2014/10/12 11:41
字数 1299
阅读 30
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>


2009-8-7
 
1.关于GET和POST:
 
GET:
 
POST:
 
关于GET和POST方法的选择(两者的异同):
 1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。
  2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。
  3、Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。Post的所有操作对用户来说都是不可见的。
  4、Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输大量的数据,所以在上传文件只能使用Post。
  5、Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。
  6、Get是Form的默认方法。
因此,基于上述异同,在选择GET还是POST的时候需要灵活对待:
如:如果需要用户能够bookmark本页面,则应选择GET.
如果涉及安全问题,如用户提交密码,则应选择POST。
2.关于重定向:
重定向是指:当client向server发送一个请求,要求获取一个资源时,而server接收到这个请求后发现请求的这个资源实际存放在另一个位置,于是server在返回的response中重新写下那个请求资源的URI,然后client接受到这个response后重新请求请的URL。重定向有一个典型的特诊,即,当一个请求被重定向以后,最终浏览器上显示的URL往往不再是开始时沟请求的那个URL了。这就是重定向的由来。
 
3.关于COOKIE
HTTP是无状态的。这一点重所周知,如果需要记录访问状态,维护一个上下文的话,HTTP给出的解决方案是Cookie.需要特别强调的是:Cookie是由Server创建,并在response中传给Client的,这一点,过去自己的理解一直是错误的。还需要强调的,Cookie被服务器建立之后,在每次client与server之间的request和response中都会携带,从而使它能够成为一种能“保持住”的信息。
2009-8-10
1.关于HTTP Message的结构。
由HTTP协议传送的Request和Response都是HTTP Message,这些Message的格式都是约定好的。
HTTP Request的基本结构如下图:
即,一个HTTP Request由请求行,消息头,消息体三部分组成。
下面是一个具体的GET方法的Request消息:
我们可以看出,对于GET方法,请求参数都是附在URL后面的。消息体是空的。
而下面是一个具体的POST方法的Request消息:
可以看出,在POST方法中,请求参数都是放在消息体的。
下面是Response的消息结构:
NOTE:Response应该有请求的那个页面的HTML文档,这些信息就放在Response的Message Body里!
 
2009-9-5
一个页面的Render过程:
一个页面的内容是放在从服务端发回来的response中的,注意:这个response中只是一些html文本。当浏览器接收到这些html片段就开始展示它们。如果这个页面中有像<script><style><img>这样需要引入其他文件时,这个时候浏览器会再次发送一个request用于取得这个文件。因此,一个负责的页面请求最终可能会变成很多个子请求,这些子请求就是用来获得页面引用的资源。这一点从httpwatch的监控记录上表现了非常清楚!下面是访问google时的监控记录:
 
从这个监控纪录上可以看出:虽然只是请求一个页面,但是因为这个页面引用了一个js文件和多个图片,因此browser又单独发出http request用于获取这些个资源,总共发出6个request后,browser把这些资源,包括请求页面的html代码整合在一起完成页面的展示过程。
那么,如果请求的是一个图片,数据是怎么传输的呢?其实很简单,和传送文本是一样的,只不过response的body里不是字符,而是图片的二进制数据。而图片数据到达browser后,browser也是根据Content-Type header 把二进制数据作为图片来展示的!整个过程是很完美的,http就是通过这程方式来获取并展示数据的。
要 大幅度地
 
 
 
猪刚烈

猪刚烈

粉丝 22
博文 708
码字总数 110
作品 1
海淀
程序员
私信 提问
加载中
请先登录后再评论。
REST/HTTP 工具包--Spray

Spray 是一个开源的 REST/HTTP 工具包和底层网络 IO 包,基于 Scala 和 Akka 构建。轻量级、异步、非堵塞、基于 actor 模式、模块化和可测试是 spray 的特点。 示例代码: val responses: F...

匿名
2013/02/20
7.1K
0
PHP博客系统--WBlog

Wblog是一个基于thinkphp3.1框架开发的轻量级的简洁实用的PHP博客系统,倡导“大道至简,开发由我”的理念,用最少的代码完成更多的功能。更多功能仍在完善中。。。 目前主要功能:   主博...

匿名
2012/11/02
2.9K
0
HTTP 文件服务器--http-watcher

一个用GO开发的 HTTP 文件服务器,特殊之处在于它同时会监控文件系统改动,当发现文件变化后,自动刷新浏览器。可帮助前端开发。 一般的开发流程:修改代码 =》 切换到浏览器=》刷新看效果...

fshen
2013/01/08
6.2K
0
Android "multiple dex files define" 错误

在Android开发中经常看到这个错误,产生的原因还是挺值得研究的。 如果是在eclipse上出现的这个问题,基本上可以判断为同一工程中存在相同的jar包,或者是不同的jar包,但是他们之间有相同的...

码飘雪
2015/08/31
453
0
node.js构建http服务器(一)

最近对node.js产生了兴趣,碰巧公司决定技术革新。在此把学习中的一些过程记录下 对于怎样安装node、环境搭建等基础内容暂不做介绍,有时间也会分享 在node中创建HTTP服务器是很轻松的,大概...

丛林迷雾
2014/11/28
1.4K
6

没有更多内容

加载失败,请刷新页面

加载更多

Azure Application Gateway(一)对后端 Web App 进行负载均衡

一,引言   今天,我们学习一个新的知识点-----Azure Application Gateway,通过Azure 应用程序网关为我么后端的服务提供负载均衡的功能。我们再文章头中大概先了解一下什么是应用程序网关...

osc_lc4icfkt
3分钟前
0
0
WoLai(我来) 注册码 ——国内版 notion 【笔记】

注册码: SQGYG23 ❤ W4T9PKP JLTHNJP KMTXK7P JDHKJEM KRJXX5P 6M7PPAP DEGLMG3 N3BZMRI 87BR22I GSIWGWP GNGBNTI QA8URIM UDUV9VM IHKJA7P MD9ZA3M 3XR67ZI TBUP9JX TI4TYMM 注册完了可以把......

osc_c05lkk3u
4分钟前
0
0
2020hdu多校第二场比赛及补题

这一场我们队只A了一题 1010 Lead of Wisdom 直接爆搜,但是T了好几发,剪了下枝 如果一个物品的a,b,c,d都比不上另外一个同种物品的a,b,c,d,那这个物品就可以直接淘汰掉了 #include<iostrea...

osc_usgpahnw
6分钟前
0
0
为什么Java有瞬态字段? - Why does Java have transient fields?

问题: 为什么Java有瞬态字段? 解决方案: 参考一: https://stackoom.com/question/3opS/为什么Java有瞬态字段 参考二: https://oldbug.net/q/3opS/Why-does-Java-have-transient-fields...

富含淀粉
6分钟前
0
0
轻松搭建CAS 5.x系列(6)-在CAS Server上增加OAuth2.0协议

概述说明 CAS Server默认搭建出来,客户端程序只能按照CAS自身的协议接入。CAS的强大在于,有官方的插件,可以支持其他的协议。本章节就让CAS Server怎么增加OAuth2.0的登录协议。 安装步骤 ...

osc_inj0cicw
7分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部