get,post 区别,HTTP通信

GET & POST
GET
      1.GET 的本质是"得"
      2.从服务器拿数据,效率更高
  3.从数学的角度来讲,GET 的结果是"幂等"的
  4.GET请求能够被缓存
  5.在 HTTP 协议定义中,没有对GET请求的数据大小限制,不过因为浏览器不同,一般限制在 2~8K 之间
  6.所有的参数包装在URL中,并且服务器的访问日志会记录,不要传递敏感信息
  参数格式? 在资源路径末尾添加?表示追加参数 变量名=变量值 每一个变量及值按照"变量名=变量值"方式设定,不能包含空格或者中文 等特殊符号
                &  多个参数使用&连接
POST
  1.POST 的本质是"给"
  2.向服务器发送数据,也可以获得服务器处理之后的结果,效率不如GET
  3.POST请求不能被缓存,post再次提交数据,页面会有提示:是否发送数据.....
  POST提交数据比较大,大小靠服务器的设定值限制,PHP通常限定 2M
  URL中,只有资源路径,但不包含参数,服务器日志不会记录参数,相对更安全
  参数被包装成二进制的数据体,格式与GET基本一致,只是不包含?
  所有设计用户隐私的数据(密码,银行卡号)一定记住使用POST方式传递
 -------------------------------------------------------------------------------------

HTTP通信过程 - 请求

nHTTP协议规定:1个完整的由客户端发给服务器的HTTP请求中包含以下内容

请求行:包含了请求方法、请求资源路径、HTTP协议版本

GET /MJServer/resources/images/1.jpg HTTP/1.1

请求头:包含了对客户端的环境描述、客户端请求的主机地址等信息

Host: 192.168.1.105:8080   // 客户端想访问的服务器主机地址

User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9) Firefox/30.0

// 客户端的类型,客户端的软件环境

Accept: text/html, */*   // 客户端所能接收的数据类型

Accept-Language: zh-cn   // 客户端的语言环境

Accept-Encoding: gzip   // 客户端支持的数据压缩格式

p请求体:客户端发给服务器的具体数据,比如文件数据

===========

HTTP通信过程 - 响应

n客户端向服务器发送请求,服务器应当做出响应,即返回数据给客户端

nHTTP协议规定:1个完整的HTTP响应中包含以下内容

p状态行:包含了HTTP协议版本、状态码、状态英文名称

HTTP/1.1 200 OK

p响应头:包含了对服务器的描述、对返回数据的描述

Server: Apache-Coyote/1.1   // 服务器的类型

Content-Type: image/jpeg   // 返回数据的类型

Content-Length: 56811   // 返回数据的长度

Date: Mon, 23 Jun 2014 12:54:52 GMT  // 响应的时间

p实体内容:服务器返回给客户端的具体数据,比如文件数据

------------------------------------------------------------------------------------------

200(状态码) OK
2xx成功

4xx 客户端的错误
5xx 服务器端的错误

------------------------------------------------------------------------------------------

时间: 2024-10-09 12:48:12

get,post 区别,HTTP通信的相关文章

17-7-20-electron中主进程和渲染进程区别与通信

老规矩,先吐槽,再记录. 今天被上司教育了将近一个小时.因为之前自动更新的模块,我认为已经完成了,但是还有一些细节没有完善好,就一直一直的被教育~ 事情全部做完,提交以后关闭issue! electron中,从package.json的main载入的js文件就是主进程,由主进程load出来的页面就是渲染进程. 渲染进程可以有多个,主进程只有一个"main.js". 主进程和渲染进程之间通信,可以使用ipcMain(主进程)和ipcRenderer(渲染进程)来通信,也可以使用remot

React-Native系列Android——Native与Javascript通信原理(三)

前面两篇博客,详细分析了Native与Javascript通信的过程,可以满足绝大部分场景下Native和Javascript的相互调用,但是仍然有不健全的情况. 比如Javascript层要实时获取Native的一些状态,就需要Native被动地向Javascript层通信了.这个过程区别于通信第一篇中Native主动向Javascript层通信,本篇博客就来研究下这样一个被动回调的过程! 在阅读本篇博客前,希望能回顾下前两篇. React-Native系列Android--Native与Ja

详解IPSec VPN

防伪码:以爱之名,判你无期徒刑,在我心里执行. 前言:本章主要讲解IPSEC VPN相关理论概念,工作原理及配置过程.从安全和加密原理入手,讲解了IPSEC 在vpn对等体设备实现的安全特性,如数据的机密性.数据的完整性,数据验证等.重点分析IKE阶段1和阶段2的协商建立过程,为VPN等体间故障排查打下坚实的理论基础,最后,分别在cisco的路由器和防火墙上实现IPSEC VPN的应用和配置,并结合企业需求进行案例分析和讲解. 一. VPN概述 VPN技术起初是为了解决明文数据在网络上传输带来的

【linux基础】17、TCP/IP网络基础(下)

一.IP地址 1.IANA IANA 就是指(Internet Assigned Numbers Authority) ,Internet号分配的机构.负责对IP地址分配规划以及对TCP/UDP公共服务的端口定义. 2.IP地址的基本格式 IPv4使用32位(4字节)地址,因此整个地址空间中有4,294,967,296(2^32)个地址,也就是近43亿个地址.IPv4地址在计算机内部是以二进制形式表示,是一个32位的二进制数,通常被分割为4个"8位二进制数"(也就是4个字节). IP地

Laxcus大数据管理系统2.0(8)- 第六章 网络通信

第六章 网络通信 Laxcus大数据管理系统网络建立在TCP/IP网络之上,从2.0版本开始,同时支持IPv4和IPv6两种网络地址.网络通信是Laxcus体系里最基础和重要的一环,为了能够利用有限的网络资源,获得最大化的使用效率,我们根据大数据网络环境的特点,设计了一套专属网络通信协议,以及在此协议基础上实现的多套网络通信方案,它们共同组成了Laxcus集群的网络通信基础.本章将以TCP/IP协议为起点,介绍与网络通信有关的各个组成部分. 6.1 FIXP协议 Laxcus采用FIXP协议通信

基础知识:Java多线程编程

关于线程和进程 ? ? 线程是进程的一个执行单元,它和进程一样拥有独立的执行控制,由操作系统负责调度,它们俩的区别可以用一句话概括之,那就是进程是程序的一次执行,而线程可以理解为进程执行的一段程序片段,也就是说它们是一种包含关系,线程不能独立运行,必须依存在进程之中 ? ? 另外从资源分配的角度上看,进程是系统进行资源分配和调度的一个独立单位,而线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资

十二周五次课

12.17 Nginx负载均衡 12.18 ssl原理 12.19 生成ssl密钥对 12.20 Nginx配置ssl 12.17 Nginx负载均衡 Nginx负载均衡目录概要 vim /usr/local/nginx/conf/vhost/load.conf // 写入如下内容 upstream qq_com { ip_hash; server 61.135.157.156:80; server 125.39.240.113:80; } server { listen 80; server_

SpringCloud学习之一前置知识理解

前提知识+相关的说明 1. 目前我们学习到最后的微服务架构SpringCloud,到我这里基本人需要大家熟悉以前的学习内容和知识,也即我默认大家已经熟悉了 SpringMVC+Spring/SpringBoot+Mybatis+Maven+git-- 不再重复讲解, 2. 本次Cloud的讲解的方式,由于我们只有2.5天,大概21种技术之多,只能挑选最重要最常用的技能给大家分享,俗称Cloud技术的五大神兽 public classDept{ private Integer id; privat

UML复习1-2章

第一章 1.请对SDLC的六个阶段排序 1> 可行性分析 2> 设计 3> 测试 4> 维护 5> 需求分析与说明 6> 编码 A. 1 5 2 6 3 4 B. 5 1 2 6 3 4 C. 1 5 6 2 3 4 D. 5 1 6 2 3 4 2.下面关于软件开发方法的叙述错误的是: A. 演化式原型通过用户反馈代码整合,原型不断演化,进入最终系统(p1.6) B. 螺旋方法没有瀑布方式的线性特性(p1.6) C. 螺旋方法主要包含这么六个阶段:用户交流.计划.风险

三面腾讯,已拿offer!分享复习经验和后台开发面经(附赠复习资料)

紧张的准备了一个多月,终于拿到最想要的offer啦!这一个多月刷了挺多题,也看了许多笔经面经 复习过程 项目准备: leetcode:刷完剑指之后每天会刷2-4道leetcode java基础: 主要刷面经.重点掌握垃圾回收机制 操作系统: 之前没学过,用几天时间看了一下最重要的进程线程.死锁.消费者生产者.哲学家问题.银行家算法 计算机网络:花几天时间复习了一下,重点复习tcp(三次握手四次挥手拥塞控制流量控制).udp.https 数据库: 重点了解了索引的实现以及引擎的区别 数据结构和算法