什么是 HTTP?

超文本传输协议(HTTP,HyperText Transfer Protocol)

设计目的:保证客户机与服务器之间的通信。

工作方式:客户机与服务器之间的请求-应答协议。

web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。

如:客户端(浏览器)向服务器提交 HTTP 请求;服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。

HTTP 请求方法:GET 和 POST

最常被用到的两种方法是:GET 和 POST。

  • GET - 从指定的资源请求数据。
  • POST - 向指定的资源提交要被处理的数据

GET 方法

查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:

/demo_form.html?name1=value1&name2=value2

GET 请求的其他注释:

  • GET 请求可被缓存
  • GET 请求保留在浏览器历史记录中
  • GET 请求可被收藏为书签
  • GET 请求不应在处理敏感数据时使用
  • GET 请求有长度限制
  • GET 请求只应当用于取回数据

POST 方法

查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的:

POST /test/demo_form.asp HTTP/1.1
Host: w3schools.com
name1=value1&name2=value2

POST 请求的其他注释:

  • POST 请求不会被缓存
  • POST 请求不会保留在浏览器历史记录中
  • POST 不能被收藏为书签
  • POST 请求对数据长度没有要求

比较 GET 与 POST

  GET POST
后退按钮/刷新 无害 数据会被重新提交(浏览器应该告知用户数据会被重新提交)。
书签 可收藏为书签 不可收藏为书签
缓存 能被缓存 不能缓存
编码类型 application/x-www-form-urlencoded application/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。
历史 参数保留在浏览器历史中。 参数不会保存在浏览器历史中。
对数据长度的限制 是的。当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。 无限制。
对数据类型的限制 只允许 ASCII 字符。 没有限制。也允许二进制数据。
安全性

与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。

在发送密码或其他敏感信息时绝不要使用 GET !

POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。
可见性 数据在 URL 中对所有人都是可见的。 数据不会显示在 URL 中。

其他 HTTP 请求方法

方法 描述
HEAD 与 GET 相同,但只返回 HTTP 报头,不返回文档主体。
PUT 上传指定的 URI 表示。
DELETE 删除指定资源。
OPTIONS 返回服务器支持的 HTTP 方法。
CONNECT 把请求连接转换到透明的 TCP/IP 通道。

最常用的 HTTP 方法:GET 和 POST相关推荐

  1. 功能测试常用6种方法_建筑管道常用的8种连接方法

    暖通风向标 本文来源 建筑工程鲁班联盟 建筑管道根据用途和管材,常用的连接方法有:螺纹连接.法兰连接.焊接.沟槽连接(卡箍连接).卡套式连接.卡压连接.热熔连接.承插连接等. 1. 螺纹连接 螺纹连接 ...

  2. SQLserver 常用函数适用方法(转载)

    SQL Server 常用函数使用方法(持续更新) 之前就想要把一些 SQL 的常用函数记录下来,不过一直没有实行...嘿嘿... 直到今天用到substring()这个函数,C# 里面这个方法起始值 ...

  3. 数据维度爆炸怎么办?详解5大常用的特征选择方法

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:Edwin Jarvis,cnblog博客整理 在许多机器学习相关 ...

  4. 爬虫之常用数据解析方法

    爬虫之常用数据解析方法

  5. selenium提取数据之driver对象的常用属性和方法

    selenium提取数据之driver对象的常用属性和方法 在使用selenium过程中,实例化driver对象后,driver对象有一些常用的属性和方法 driver.page_source 当前标 ...

  6. 尚硅谷学习笔记-节点的常用属性和方法

    节点的常用属性和方法[图片在末尾] 方法: 通过具体的元素节点调用 getElementsByTagName() 方法,获取当前节点的指定标签名孩子节点 appendChild( oChildNode ...

  7. 数据维度爆炸怎么办?详解 5 大常用的特征选择方法

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 在许多机器学习相关的书里,很难找到关于特征选择的内容,因为特征选择 ...

  8. MultipartFile类常用的一些方法

    2019独角兽企业重金招聘Python工程师标准>>> MultipartFile类常用的一些方法: String getContentType()//获取文件MIME类型 Inpu ...

  9. Node.js process 模块常用属性和方法

    Node.js是常用的Javascript运行环境,本文和大家发分享的主要是Node.js中process 模块的常用属性和方法,希望通过本文的分享,对大家学习Node.js http://www.m ...

  10. aide java 线程类_aide_Java常用关键字、方法使用实例

    aide_Java常用关键字.方法使用实例 1.== 与 equals ==: 基本类型:值相等 引用类型:地址相等(地址放在堆空间,注意常量池里的String值) equals: 运用于引用类型 在 ...

最新文章

  1. 反射 Class类和Class实例
  2. linux shell 删除文本 较长行
  3. 用c#开发微信(2)扫描二维码,用户授权后获取用户基本信息 (源码下载)
  4. 一个颜值低但脾气超好的自动化运维实战入门教程
  5. 仿照vue实现简易的MVVM框架(一)
  6. C++字符串(string/to_string/append/substr/length/find/rfind/replace/stoi转数字转int)
  7. jQuery.extend函数详细用法![转]
  8. python 写入excel 效率_python各种excel写入方式的速度对比
  9. 方寸知识篇 - 集成电路制造技术(一)- 集成电路制造技术发展历程
  10. 我常用的几个软件的注册码
  11. python opencv 函数库说明
  12. bat putty shell 连携
  13. 小程序loding动画组件封装及源码
  14. 大公司在Github的开源代码
  15. 新一代三维GIS技术体系再升维
  16. 计算机语言排名labview,编程语言排名
  17. ARM体系结构2:汇编指令集
  18. vue3的中间值思维
  19. 以爱情规律为例,浅谈三段式描述状态机
  20. 【初级web前端工程师】2020年工作总结PPT

热门文章

  1. 给xen虚拟机添加硬盘分区格式化
  2. iOS面试总结(待完善)
  3. P1941 飞扬的小鸟
  4. 转:Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
  5. java 中类型后面三个点的用法
  6. CVPR2021 用更好的目标检测器提取视觉特征!微软提出VinVL,基于更好的视觉特征,达到更强的多模态性能...
  7. YOLO-LITE:专门面向CPU的实时目标检测
  8. Python精简入门级学习(二)
  9. 收藏 | 李飞飞经典CS231N《卷积神经网络视觉识别》第十一讲!
  10. 收藏 | 佐治亚理工出品交互式线代教科书!