• 首页
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案
目录

HTTP中GET与POST的区别

HTTP中GET与POST的区别有:1、书签和浏览历史记录不同;2、缓存和服务器日志文件不同;3、浏览器刷新/“返回”按钮时的行为不同等。书签和浏览历史记录不同是指,GET方法将网址参数与网址一起存储,而POST保存的网址不带网址参数。

一、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服务器错误——服务器在处理某个正确请求时发生错误
相关文章