关于HTTP请求GET和POST的区别

news/2024/10/18 5:43:26/

关于HTTP请求GETPOST的区别

1.GET提交,请求的数据会附在URL之后(就是把数据放置在HTTP协议头<request-line>中)

GET:特定浏览器和服务器对URL长度有限制,例如IEURL长度的限制是2083字节(2K+35)。对于其他浏览器,如NetscapeFireFox等,理论上没有长度限制,其限制取决

于操作系统的支持。

因此对于GET提交时,传输数据就会受到URL长度的限制。

POST:由于不是通过URL传值,理论上数据不受限。但实际各个WEB服务器会规定对post提交数据大小进行限制,ApacheIIS6都有各自的配置。

status-line

headers

blank line

[response-body]

HTTP/1.1 200 OK

Date: Sat, 31 Dec 2005 23:59:59 GMT

Content-Type: text/html;charset=ISO-8859-1

Content-Length: 122

html

head

titleWrox Homepage/title

/head

body

!-- body goes here --

/body

/html首先是查找浏览器缓存,浏览器会保存一段时间你之前访问过的一些网址的DNS信息,不同浏览器保存的时常不等。

如果没有找到对应的记录,这个时候浏览器会尝试调用系统缓存来继续查找这个网址的对应DNS信息。

如果还是没找到对应的IP,那么接着会发送一个请求到路由器上,然后路由器在自己的路由器缓存上查找记录,路由器一般也存有DNS信息。

如果还是没有,这个请求就会被发送到ISP(注:Internet Service Provider,互联网服务提供商,就是那些拉网线到你家里的运营商,中国电信中国移动什么的),ISP也会有相

应的ISP DNS服务器,一听中国电信就知道这个DNS服务器的规模肯定不会小,所以基本上都能在这里找得到。题外话:会跑到这里进行查询是因为你没有改动过"网络中

""ipv4"DNS地址,万恶的电信联通可以改动了这个DNS服务器,换句话说他们可以让你的浏览器跳转到他们设定的页面上,这也就是人尽皆知的DNSHTTP劫持,ISP

还美名曰免费推送服务。强烈鄙视这种霸王行为。我们也可以自行修改DNS服务器来防止DNSISP污染。

如果还是没有的话, 你的ISPDNS服务器会将请求发向根域名服务器进行搜索。根域名服务器就是面向全球的顶级DNS服务器,共有13台逻辑上的服务器,从AM命名,真正

的实体服务器则有几百台,分布于全球各大洲。所以这些服务器有真正完整的DNS数据库。如果到了这里还是找不到域名的对应信息,那只能说明一个问题:这个域名本来就不

存在,它没有在网上正式注册过。或者卖域名的把它回收掉了(通常是因为欠费)。

这也就是为什么打开一个新页面会有点慢,因为本地没什么缓存,要这样递归地查询下去。

多说一句,例如"mp3.baidu.com",域名先是解析出这是个.com的域名,然后跑到管理.com域名的服务器上进行进一步查询,然后是.baidu,最后是mp3

所以域名结构为:三级域名.二级域名.一级域名。

浏览器终于得到了IP以后,浏览器接着给这个IP的服务器发送了一个http请求,方式为get,例如访问nbut.cn

这个get请求包含了主机(host)、用户代理(User-Agent),用户代理就是自己的浏览器,它是你的"代理人"Connection(连接属性)中的keep-alive表示浏览器告诉对方服务

器在传输完现在请求的内容后不要断开连接,不断开的话下次继续连接速度就很快了。其他的顾名思义就行了。还有一个重点是CookiesCookies保存了用户的登陆信息,在每

次向服务器发送请求的时候会重复发送给服务器。Corome上的F12Firefox上的firebug(快捷键shift+F5)均可查看这些信息。

发送完请求接下来就是等待回应了

当然了,服务器收到浏览器的请求以后(其实是WEB服务器接收到了这个请求,WEB服务器有iisapache等),它会解析这个请求(读请求头),然后生成一个响应头和具体响

应内容。接着服务器会传回来一个响应头和一个响应,响应头告诉了浏览器一些必要的信息,例如重要的Status Code2开头如200表示一切正常,3开头表示重定向,4开头,

404,呵呵。响应就是具体的页面编码,就是那个......,浏览器先读了关于这个响应的说明书(响应头),然后开始解析这个响应并在页面上显示出来。在下一次CF的时候(不

是穿越火线,是http://codeforces.com/),由于经常难以承受几千人的同时访问,所以CF页面经常会出现崩溃页面,到时候可以点开火狐的firebug或是ChromeF12看看状

态,不过这时候一般都急着看题和提交代码,似乎根本就没心情理会这个状态吧-.-

如果是个静态页面,那么基本上到这一步就没了,但是如今的网站几乎没有静态的了吧,基本全是动态的。所以这时候事情还没完,根据我们的经验,浏览器打开一个网址的时

候会慢慢加载这个页面,一部分一部分的显示,直到完全显示,最后标签栏上的圈圈就不转了。

这是因为,主页(index)页面框架传送过来以后,浏览器还要继续向服务器发送请求,请求的内容是主页里面包含的一些资源,如图片,视频,css样式等等。这些"非静态"

东西要一点点地请求过来,所以标签栏转啊转,内容刷啊刷,最后全部请求并加载好了就终于好了。


http://www.ppmy.cn/news/80306.html

相关文章

【Python sqlite3】零基础也能轻松掌握的学习路线与参考资料

Python sqlite3是Python语言自带的轻量级关系数据库管理系统,它可以让我们在不需要额外的安装和配置下,使用SQLite数据库进行操作和管理。SQLite是一个功能强大的嵌入式数据库,它非常适合在轻量级应用程序中使用,如桌面应用程序、…

数据结构—排序算法交换排序(冒泡快排)

目录 1.交换排序—冒泡排序 1.1冒泡排序基本思想 1.2冒泡排序的实现 2.交换排序—快速排序 1.1快速排序基本思想 1.2基准值划分—分析 1. hoare版: 2. 挖坑法: 3. 前后指针版本 1.3 hoare快排的具体实现 1.4 挖坑法快排的具体实现 1.5 前后指…

网安面试题大全(附答案)

本文面试题汇总: 防范常见的 Web 攻击 重要协议分布层 arp协议的工作原理 rip协议是什么?rip的工作原理 什么是RARP?工作原理 OSPF协议?OSPF的工作原理 TCP与UDP区别总结 什么是三次握手四次挥手? tcp为什么要三次握手…

Python数据结构与算法篇(十五)-- 二叉树的遍历:深度优先搜索与广度优先搜索

本篇开始总结二叉树的常用解题技巧,二叉树的顺序遍历和层序遍历刚好对应深度优先搜索和广度优先搜索。 1 顺序遍历 题目列表 144. 前序遍历145. 二叉树的后序遍历 94. 二叉树的中序遍历 144. 二叉树的前序遍历 给你二叉树的根节点 root ,返回它…

SpringBoot实现限流注解

SpringBoot实现限流注解 在高并发系统中,保护系统的三种方式分别为:缓存,降级和限流。 限流的目的是通过对并发访问请求进行限速或者一个时间窗口内的的请求数量进行限速来保护系统,一旦达到限制速率则可以拒绝服务、排队或等待…

基于中文在线文档的Polars工具介绍

Polars学习简介 Polars是一个能够提取(Extract)、转换(Transform)与加载(Load)大规模数据集的工具(快速多线程、单指令多数据流、延迟/即时执行、查询优化、混合流等)。根据官方开发…

网络安全的学习路线是怎么样的?

在众多高大上的学习路线指导中,尝试做一股清流,把要讲清楚的都讲清楚,该学些什么,学到哪个程度进入到下一阶段的学习这些才是最重要的。 在学习之前首先要做好学习的系统规划: 1.目前市场需求主流的岗位里&#xff0…

Python3 命名空间和作用域

在Python中,命名空间(Namespace)是一个用于存储变量名称和其对应对象的系统。它提供了一种在程序中组织和访问变量的方式,以防止命名冲突并提供代码模块化的能力。 Python中的命名空间可以被视为一个字典,其中变量名称…