什么是HTTP?

超文本传输协议(HyperText Transfer Protocol -- HTTP)是一个设计来使客户端和服务器顺利进行通讯的协议。

HTTP在客户端和服务器之间以request-response protocol(请求-回复协议)工作。
 
GET - 从指定的服务器中获取数据
POST - 提交数据给指定的服务器处理
 
GET方法:
使用GET方法时,查询字符串(键值对)被附加在URL地址后面一起发送到服务器:
/test/demo_form.jsp?name1=value1&name2=value2
特点:
  • GET请求能够被缓存
  • GET请求会保存在浏览器的浏览记录中
  • 以GET请求的URL能够保存为浏览器书签
  • GET请求有长度限制
  • GET请求主要用以获取数据
POST方法:
使用POST方法时,查询字符串在POST信息中单独存在,和HTTP请求一起发送到服务器:
POST /test/demo_form.jsp HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2
特点:
  • POST请求不能被缓存下来
  • POST请求不会保存在浏览器浏览记录中
  • 以POST请求的URL无法保存为浏览器书签
  • POST请求没有长度限制
GET和POST的区别:
 
  GET POST
点击返回/刷新按钮 没有影响 数据会重新发送(浏览器将会提示用户“数据被从新提交”)
添加书签 可以 不可以
缓存 可以 不可以
编码类型(Encoding type) application/x-www-form-urlencoded
application/x-www-form-urlencoded or multipart/form-data. 请为二进制数据使用multipart编码
历史记录 有 没有
长度限制 有 没有
数据类型限制 只允许ASCII字符类型 没有限制。允许二进制数据
安全性 查询字符串会显示在地址栏的URL中,不安全,请不要使用GET请求提交敏感数据 因为数据不会显示在地址栏中,也不会缓存下来或保存在浏览记录中,所以看POST求情比GET请求安全,但也不是最安全的方式。如需要传送敏感数据,请使用加密方式传输
可见性 查询字符串显示在地址栏的URL中,可见 查询字符串不会显示在地址栏中,不可见

其他HTTP请求方式:

 
方式 描述
HEAD 与GET请求类似,不同在与服务器只返回HTTP头部信息,没有页面内容
PUT 上传指定URL的描述
DELETE 删除指定资源
OPTIONS 返回服务器支持的HTTP方法
CONNECT 转换为透明TCP/IP隧道的连接请求

随机推荐

  1. 也谈.Net中间语言——破解Delphi2CS行数和时间限制

    其实我一直在研究将Delphi版的传奇2源代码使用C#实现,不过由于我并没有学习过Delphi.就只能说先试着用一些工具转换代码. 后来我在网上找到了一款软件:Delphi2CS.这款软件比较强大,虽 ...

  2. nginx负载均衡(反向代理)

    6,安装nginx 6.1 依赖库安装  要安装在root根目录里,不要装在虚拟环境里面 yum install gcc-c++ pcre pcre-devel zlib zlib-devel ope ...

  3. Docker详解

    一.Docker 简介 Docker 两个主要部件: Docker: 开源的容器虚拟化平台 Docker Hub: 用于分享.管理 Docker 容器的 Docker SaaS 平台 -- Docke ...

  4. 10.8Xadmin url注册

    2018-10-8 16:45:31 这两天在弄我的服务器,就是是看各种教程 死活部署不好我的Django项目 博客网站 过几天再弄! 越努力,越幸运!永远不要高估自己! 通过两个方法,通过类变量找到 ...

  5. 我的阿里、腾讯暑期实习Offer经历

    三四月份对我拿来说是个忙碌的两个月,实验室项目到了关键的时刻,自己又需要抽身去找暑期实习,总之过得很快.值得欣慰的是幸运的拿到了阿里和腾讯的暑期实习offer,也算是对三四月份的忙碌一些回报吧.阿里的 ...

  6. iOS-Core Animation: 变换

    仿射变换 用 CGPoint 的每一列和 CGAffineTransform 矩阵的每一行对应元素相乘再求 和,就形成了一个新的 CGPoint 类型的结果.要解释一下图中显示的灰色元素, 为了能让矩 ...

  7. DB2创建数据库常用参数详解

    转自http://czmmiao.iteye.com/blog/1335801 DB2创建数据库常用参数详解 本文只介绍DB2 create database语法中的常用参数http://publib ...

  8. iBatis.Net 配置 SQL语句执行 日志

    <configuration> <configSections> ... <sectionGroup name="iBATIS"> <se ...

  9. MapReduce 找出共同好友

    这个前提需要注意:好友之间的关系是单向的,我的好友队列里有你,你的里面不一定有我.所以思考方式需要改变. 共同好友: 某两个人的好友队列里都有的人. 第一个mapper 和 reducer 简单说:找 ...

  10. sed中支持变量的处理方法

    1.eval sed ’s/$a/$b/’ filename2.sed "s/$a/$b/" filename3.sed ’s/’$a’/’$b’/’ filename 4.sed ...