post

HTTP 方法:GET 对比 POST

倾然丶 夕夏残阳落幕 提交于 2020-01-31 05:26:43
什么是 HTTP? 超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信。 HTTP 的工作方式是客户机与服务器之间的请求-应答协议。 web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。 举例:客户端(浏览器)向服务器提交 HTTP 请求;服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。 两种 HTTP 请求方法:GET 和 POST 在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。 GET - 从指定的资源请求数据。 POST - 向指定的资源提交要被处理的数据 GET 方法 请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的: /test/demo_form.asp?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

PHP获取POST数据的三种方式

房东的猫 提交于 2020-01-31 05:23:41
一、PHP获取POST数据的几种方法 方法1、最常见的方法是:$_POST['fieldname']; 说明:只能接收Content-Type: application/x-www-form-urlencoded提交的数据 解释:也就是表单POST过来的数据 方法2、file_get_contents("php://input"); 说明: 允许读取 POST 的原始数据。 和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。 php://input 不能用于 enctype="multipart/form-data"。 解释: 对于未指定 Content-Type 的POST数据,则可以使用file_get_contents(“php://input”);来获取原始数据。 事实上,用PHP接收POST的任何数据都可以使用本方法。而不用考虑Content-Type,包括二进制文件流也可以。 所以用方法二是最保险的方法 方法3、$GLOBALS['HTTP_RAW_POST_DATA']; 说明: 总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。 此变量仅在碰到未识别 MIME 类型的数据时产生。 $HTTP_RAW_POST_DATA 对于 enctype="multipart

【EF】Entity Framework Core 命名约定

时光总嘲笑我的痴心妄想 提交于 2020-01-31 05:20:29
本文翻译自 《Entity Framework Core: Naming Convention》 ,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 注意:我使用的是 Entity Framework Core 2.0 (2.0.0-preview2-final)。正式版发布时,功能可能存在变动。 Entity Framework 迁移允许从模型生成数据库,这意味着必须从类名和属性名生成数据库对象的名称。对于大多数人来说使用默认名称是没有问题的,但是,您的DBA可能会要求您使用特定的命名约定。例如,一些DBA希望表名大写,或者列名使用表名为前缀。 Entity Framework 允许逐个设置表名或列名: protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity<Blog>().ForSqlServerToTable("Blog"); } 但是,写这些代码非常无聊并且容易出错,不应该逐个设置对像的名称,您可以通过修改模型实现全局设置。事实上 modelBuilder 是可读写的,您可以迭代所有对象并更改其名称。 public class BloggingContext : DbContext { public DbSet<Blog> Blogs {

Java_得到GET和POST请求URL和参数列表

狂风中的少年 提交于 2020-01-31 04:22:00
一、 获取URL: getRequestURL()(还有个getRequestURI(),只取后面部分) 二、 获取参数列表: 1.getQueryString() 只适用于GET, 比如客户端发送http://localhost/testServlet?a=b&c=d&e=f, 通过request.getQueryString()得到的是a=b&c=d&e=f. 2.getParameter() GET和POST都可以使用 但如果是POST请求要根据<form>表单提交数据的编码方式来确定能否使用. 当编码方式是(application/x- www-form-urlencoded)时才能使用. 这种编码方式(application/x-www-form-urlencoded)虽然简单,但对于传输大块的二进制数据显得力不从心. 对于传输大块的二进制数这类数据,浏览器采用了另一种编码方式("multipart/form-data"),这时就需要使用下面的两种方法. 3.getInputStream() 4.getReader() 上面两种方法获取的是Http请求包的包体,因为GET方式请求一般不包含包体.所以上面两种方法一般用于POST请求获取参数. 需要注意的是: request.getParameter()、 request.getInputStream()、request

iOS开发——网络篇——HTTP/NSURLConnection(请求、响应)、http响应状态码大全

你。 提交于 2020-01-31 01:12:57
一、网络基础 1、基本概念 > 为什么要学习网络编程 在移动互联网时代,移动应用的特征有 几乎所有应用都需要用到网络,比如QQ、微博、网易新闻、优酷、百度地图 只有通过网络跟外界进行数据交互、数据更新,应用才能保持新鲜、活力 如果没有了网络,也就缺少了数据变化,无论外观多么华丽,终将变成一潭死水 移动网络应用 = 良好的UI + 良好的用户体验 + 实时更新的数据 新闻:网易新闻、新浪新闻、搜狐新闻、腾讯新闻 视频:优酷、百度视频、搜狐视频、爱奇艺视频 音乐:QQ音乐、百度音乐、酷狗音乐、酷我音乐 LBS:百度地图、高德地图、大众点评、墨迹天气、滴滴打车 电商:淘宝、京东商城、天猫、蘑菇街、凡客诚品、美丽说 社交:QQ、微信、微博、陌陌、比邻 为什么要学习网络编程 网络编程是一种实时更新应用数据的常用手段 网络编程是开发优秀网络应用的前提和基础 > 基本概念 在网络编程中,有几个必须掌握的基本概念 客户端(Client):移动应用(iOS、android等应用) 服务器(Server):为客户端提供服务、提供数据、提供资源的机器 请求(Request):客户端向服务器索取数据的一种行为 响应(Response):服务器对客户端的请求做出的反应,一般指返回数据给客户端 作为移动开发工程师,主要的精力都是放在客户端开发 2、服务器 按照软件开发阶段来分,服务器可以大致分为2种

POST和GET的部分知识

微笑、不失礼 提交于 2020-01-30 23:26:13
POST和GET的使用场景 1.请求中包含数据更新等 副作用 时 2.发送敏感信息时(防止Referer等安全隐患) 3.发送的信息量很多时(URL长度有限,但是http协议并未规定get和post的长度限制,长度限制来源与浏览器与web服务器,而不同的浏览器和web服务器,限制的最大长度不一样) (副作用是指除了获取资源(内容)以外的其他作用,比如追加,更新,删除服务器段数据,购买商品,注册/删除用户等操作,换言之, 更新类的页面必须使用POST方法 ) 当发送的请求有上述其中一条以上时,应该使用POST POST和GET方法的优缺点:   这里先放一篇写的很不错的博客链接: https://blog.csdn.net/qq_28483283/article/details/80207674   以及知乎一篇关于POST和GET的帖子: https://zhuanlan.zhihu.com/p/73475134   简单总结一下:   POST更安全(安全只是相对的,对于稍微会一点技术的人来说,拿bp或wireshark就可以看到POST传的数据,甚至还拍好了版。要更加安全还得https)   GET更快   POST可传递数据更多(GET因为浏览器等对URL的限制,传输数据大小有限)   POST能发送更多的数据类型(GET只能发送ASCII字符)  

HTTP原理 请求方法

两盒软妹~` 提交于 2020-01-30 19:20:13
HTTP的工作过程 一次HTTP操作称为一个事务,其工作过程分为四步: 1.客户机与服务器建立连接:客户单击某个超级链接,HTTP的工作开始,接下来进行TCP连接的三次握手过程。 2.建立连接后,客户几发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号、MIME信息(包括请求修饰符、客户机信息和可能的内容)。 3.服务器接到请求后,给予相应的响应信息,其格式为:一个状态行(包括信息的协议版本号)、一个成功或错误的代码、后面的是MIME信息(包括服务器信息、实体信息、可能的内容)。 4.客户端接收到服务器所返回的信息,通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。客户端收到服务器信息后,向服务器发送一个确认包,此包发送完毕,表示完成三次握手。 ——————————————————————————————————————— HTTP协议的主要特点: 1.支持客户/服务器模式-》过程 2.简单快速:客户向服务器请求服务时,只需发送请求方法(常用的有GET/POST/HEAD)和路径。每种请求方法规定了客户与服务器联系的类型不同,由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度快。 3.灵活:HTTP允许传输任意类型的数据对象,正在传输的类型用Content-Type加以标记。 4.无连接:限制每次连接只处理一个请求

网络请求—HTTP协议

烂漫一生 提交于 2020-01-30 19:14:12
一、HTTP协议的作用 HTTP的全称是Hypertext Transfer Protocol,超文本传输协议 (1)规定客户端和服务器之间的数据传输格式 (2)让客户端和服务器能有效地进行数据沟通 二、HTTP通信过程 - 请求和响应 1.HTTP通信过程 - 请求 HTTP协议规定:1个完整的由客户端发给服务器的HTTP请求中包含以下内容 (1)请求行:包含了请求方法、请求资源路径、HTTP协议版本 (2)请求头:包含了对客户端的环境描述、客户端请求的主机地址等信息 (3)请求体:客户端发给服务器的具体数据,比如文件数据 2.HTTP通信过程 - 响应 客户端向服务器发送请求,服务器应当做出响应,即返回数据给客户端,HTTP协议规定:1个完整的HTTP响应中包含以下内容: (1)状态行:包含了HTTP协议版本、状态码、状态英文名称 (2)响应头:包含了对服务器的描述、对返回数据的描述(包括数据类型Content-Type、数据长度Content-Length、响应时间等) (3)实体内容:服务器返回给客户端的具体数据,比如文件数据 3.补充:推荐工具firebug-1.12.5-fx.xpi 虫子的作用:拦截所有的http请求。 4.常见的响应状态码 二、发送HTTP请求的方法 1、在HTTP/1.1协议中,定义了8种发送http请求的方法 GET、POST、OPTIONS

java GET POST提交乱码问题

亡梦爱人 提交于 2020-01-30 19:10:55
1.整体思想,编码方式统一(采用utf-8) 2页面显示中文乱码 <%page pageEncoding="utf-8"%> 3传递中文参数乱码 修改server.xml( 解决get方式 ) <Connector port="8080" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/> 编写过滤器(Filter)( 解决post方式 ) package servlets; import java.io.IOException; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; public class EncodingFilter implements Filter { public void

Capture values of HTML elements in a dynamic table

夙愿已清 提交于 2020-01-30 12:52:42
问题 I have the following dynamic table generated from database. <form method="post"> <?php while($result = mysqli_fetch_array($tableQueryExecute)){ $shift1Oa = $result['operator1']; $shift2Oa = $result['operator2']; $shift3Oa = $result['operator3']; $shift4Oa = $result['operator4']; $id = $result['srNumber']; echo '<td scope="row">'.$id.'</td> <td> <input type="number" class="form-control" id="shift1PinCount" name="shift1PinCount" placeholder="Pin Count" title="Please key in Pin Count for Shift 1