全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

HTTP中GET与POST的区别?

发布时间:2023-10-11 12:55:43
发布人:xqq

一、HTTP中GET与POST的区别

1、书签和浏览历史记录不同

GET:网址参数与网址一起存储POST:保存的网址不带网址参数

2、缓存和服务器日志文件不同

GET:URL 参数以未加密的方式存储POST:网址参数不会自动保存

3、浏览器刷新/返回按钮时的行为不同

GET:不再发送网址参数POST:浏览器警告必须重新发送表单数据

4、数据类型

GET:仅 ASCII 字符POST:除 ASCII 字符外的二进制数据

5、数据长度不同

GET:限制为 URL 的最大长度(2048 个字符)POST:无限

6、是否可见

GET:在地址行中对用户可见POST:对用户不可见

二、HTTP中的GET方法

GET方法用来请求访问已被URL识别的资源。指定的资源经服务器端接续后返回内容。也就是说,如果请求的资源是文本,那就保持原样返回;如果像是CGI(Conmmon Gateway Interface,通用网关接口)那样的程序,则返回执行后的输出结果。

get请求的过程:

浏览器请求tcp连接(名列前茅次握手)服务器答应进行tcp连接(第二次握手)浏览器确认,并发送get请求头和数据(第三次握手,这个报文比较小,所以http会在此时进行名列前茅次数据发送)服务器返回200 OK响应,也就是说,目测get的总耗是post的2/3左右。

三、HTTP中的POST方法

POST方法用来传输实体的主体虽然用GET方法也可以进行传输实体的主体,但一般不用GET方法进行传输,而是用POST方法,虽说POST的功能与GET很相似,但是POST的主要目的并不是获取相应的主体内容。

post请求的过程:

浏览器请求tcp连接(名列前茅次握手)服务器答应进行tcp连接(第二次握手)浏览器确认,并发送post请求头(第三次握手,这个报文比较小,所以http会在此时进行名列前茅次数据发送)服务器返回100 Continue响应浏览器发送数据服务器返回200 OK响应

四、HTTP协议概述

HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)。通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口(默认端口为80)。我们称这个客户端为用户代理程序(user agent)。应答的服务器上存储着一些资源,比如HTML文件和图像。我们称这个应答服务器为源服务器(origin server)。在用户代理和源服务器中间可能存在多个“中间层”,比如代理服务器、网关或者隧道(tunnel)。

尽管TCP/IP协议是互联网上最流行的应用,HTTP协议中,并没有规定必须使用它或它支持的层。事实上,HTTP可以在任何互联网协议上,或其他网络上实现。HTTP假定其下层协议提供可靠的传输。因此,任何能够提供这种保证的协议都可以被其使用。因此也就是其在TCP/IP协议族使用TCP作为其传输层。

通常,由HTTP客户端发起一个请求,创建一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端的请求。一旦收到请求,服务器会向客户端返回一个状态,比如”HTTP/1.1 200 OK”,以及返回的内容,如请求的文件、错误消息、或者其它信息。

延伸阅读1:HTTP状态码

1xx消息——请求已被服务器接收,继续处理2xx成功——请求已成功被服务器接收、理解、并接受3xx重定向——需要后续操作才能完成这一请求4xx请求错误——请求含有词法错误或者无法被执行5xx服务器错误——服务器在处理某个正确请求时发生错误
#it技术干货

相关文章

UML有哪些常用关系?

UML有哪些常用关系?

2023-10-11
PHP中isset、empty、 is_null有什么区别?

PHP中isset、empty、 is_null有什么区别?

2023-10-11
Spring和Spring Boot有什么区别?

Spring和Spring Boot有什么区别?

2023-10-11
ASM与JAVASSIST有什么区别?

ASM与JAVASSIST有什么区别?

2023-10-11

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取