http请求

JavaEE:HTTP介绍

ぐ巨炮叔叔 提交于 2020-02-24 05:13:59
#HTTP介绍 Web交互流程 客户端根据用户输入的地址信息请求服务器,服务器在接受到用户的请求后进行处理,然后将处理结果响应给客户端,客户端将响应结果展示给用户。 专业术语: 请求:客户端根据用户地址信息将数据发送给服务器的过程 响应:服务器将请求的处理结果发送给浏览器的过程 问题:如何实现不同版本分浏览器和不同版本的服务器之间的数据交互 解决:规范浏览器和服务器的数据交互格式。 实现:HTTP协议 HTTP的概念和介绍 概念: 超文本传输协议(Hyper Text Transfer Protocol) 作用: 规范了浏览器和服务器的数据交互 特点: 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。 请求方法常用的有GET、HEAD、POST. 每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快 灵活: HTTP允许传输任意类型的数据对象。正在传输的类型由Content- Type加以标记。 无连接:无连接的含义是限制每次连接只处理一个请求。 服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 无状态: HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另-方面,

HTTP Get与Post请求

假装没事ソ 提交于 2020-02-24 05:08:12
HTTP定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。 1.根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。 (1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。 * 注意:这里安全的含义仅仅是指是非修改信息。 (2).幂等的意味着对同一URL的多个请求应该返回同样的结果。这里我再解释一下幂等这个概念: 幂等(idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。 幂等有一下几种定义: 对于单目运算,如果一个运算对于在范围内的所有的一个数多次进行该运算所得的结果和进行一次该运算所得的结果是一样的,那么我们就称该运算是幂等的。比如绝对值运算就是一个例子,在实数集中,有abs(a)=abs(abs(a))。 对于双目运算,则要求当参与运算的两个值是等值的情况下

HTTP请求中的GET-POST方式

ⅰ亾dé卋堺 提交于 2020-02-24 05:03:14
目录 一、前言部分(概念) 二、对比 GET 与 POST 二者最大的差异 GET 与 POST 请求本质上并无区别 深层了解:POST 请求产生两个数据包? 三、两种请求方式如何灵活使用? 四、常见的状态码 五、RESTful 风格补充 参考链接 一、前言部分(概念) URL(统一资源定位符 )的作用:使用 URL 可以确定一个资源所在的位置 HTTP(超文本传输协议) 基于 TCP/IP 的定义 数据在万维网中如何通信的协议 设计目的是 保证客户端与服务器之间的通信 在客户端向服务器发起请求时, 两种最常用的 HTTP 方法是:GET 和 POST 在 html 页面的 form 表单中,如果不指定 method 提交方式, 默认是以 GET 方式提交 二、对比 GET 与 POST 二者最大的差异 请求参数所在的位置不同 GET 方式把参数包含在URL,即请求行中 ,参数会显示在浏览器地址栏上 POST 方式的参数包含在请求体中 正是因为请求参数所在的位置不同,从而造成了: GET 请求时 URL 长度受限(理论上get请求只能携带2k大小的数据) POST 请求提交参数的相对安全 这里的相对安全只是单纯地因为 post 请求参数包含在请求体中,不会显示在地址栏上被看到 GET 与 POST 请求本质上并无区别 因为 GET 和 POST两种请求方式 都是基于 TCP 协议

Springboot——解决跨域问题

◇◆丶佛笑我妖孽 提交于 2020-02-24 02:51:01
关于跨域介绍 在前后分离的架构下,跨域问题难免会遇见比如,站点 http://domain-a.com 的某 HTML 页面通过 的 src 请求 http://domain-b.com/image.jpg。网络上的许多页面都会加载来自不同域的CSS样式表,图像和脚本等资源。 出于安全原因,浏览器限制从脚本内发起的跨源HTTP请求。 例如,XMLHttpRequest和Fetch API遵循同源策略。 这意味着使用这些API的Web应用程序只能从加载应用程序的同一个域请求HTTP资源,除非使用CORS头文件。 跨域的体现,在于它的域名不同或者端口不同 CORS(跨域源资源共享)(CORS,Cross-origin resource sharing) CORS是一个 W3C 标准,它是一份浏览器技术的规范,提供了 Web 服务从不同网域传来沙盒脚本的方法,以避开浏览器的同源策略,这是 JSONP 模式的现代版。 情景复现 建两个普通的 Spring Boot 项目,一个为 provider 提供服务,一个为 consumer 消费服务,第一个配置端口为 8080,第二个配置配置为 8081,然后在 provider 上提供两个 hello 接口,一个 get,一个 post,如下: @RestController public class HelloController {

C#中用HttpWebRequest中发送GET/HTTP/HTTPS请求

最后都变了- 提交于 2020-02-23 16:04:36
C# HttpWebRequest GET HTTP HTTPS 请求 作者:周公(zhoufoxcn) 原文:http://blog.csdn.net/zhoufoxcn 这个需求来自于我最近练手的一个项目,在项目中我需要将一些自己发表的和收藏整理的网文集中到一个地方存放,如果全部采用手工操作工作量大而且繁琐,因此周公决定利用C#来实现。在很多地方都需要验证用户身份才可以进行下一步操作,这就免不了POST请求来登录,在实际过程中发现有些网站登录是HTTPS形式的,在解决过程中遇到了一些小问题,现在跟大家分享。 通用辅助类 下面是我编写的一个辅助类,在这个类中采用了HttpWebRequest中发送GET/HTTP/HTTPS请求,因为有的时候需要获取认证信息(如Cookie),所以返回的是HttpWebResponse对象,有了返回的HttpWebResponse实例,可以获取登录过程中返回的会话信息,也可以获取响应流。 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net.Security; using System.Security.Cryptography.X509Certificates; using

Java Web高级编程(一)

北城以北 提交于 2020-02-23 10:28:08
Servlet 一、创建Servlet类 在Java EE中,Servlet用来接收和响应终端用户的请求。Servlet是所有Web应用程序的核心类,是唯一既可以直接处理和响应用户请求,也可以将处理工作委托给应用中的其它部分的类。除非某些过滤器提前终止了客户端的请求,否则所有的请求都将被发送到某些Servlet中。 所有的Servlet都实现了javax.servlet.Servlet接口,但通常不是直接实现的,Servlet知识一个简单的接口,包含了初始化并销毁和处理请求的方法。无论什么类型的请求都将会调用service方法。 作为响应HTTP请求的java.servlet.http.HttpServlet,并实现了只接受HTTP请求的service方法。提供了响应每种HTTP方法类型的方法的空实现。 方法 Servlet方法 目的 GET doGet() 从指定的URL中获取资源 HEAD doHead() 与GET一致,但是只返回头部数据 POST doPost() 通常用于处理Web表单提交 PUT doPut() 存储URL中提供的实体 DELETE doDelete() 删除URL标识的资源 OPTIOND doOptions() 返回支持的HTTP方法 TRACE doTrace() 用于诊断目的 Servlet将总是继承HttpServlet

在web中,get和post的区别详解

回眸只為那壹抹淺笑 提交于 2020-02-22 22:56:30
在web中,get和post的区别详解 在说get和post的区别之前,我们应该先了解一下什么是HTTP。 HTTP 简介 HTTP是一个简单的请求-响应协议,是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是一个基于TCP/IP通信协议的用来传递数据的协议。 HTTP 工作原理 HTTP是基于客户/服务器模式的,面向连接的,一种无状态协议。浏览器作为HTTP客户端通过URL向HTTP服务端(即WEB服务器)发送请求。典型的HTTP处理过程如下: (1)客户与服务器建立连接 (2)客户向服务器提出请求 (3)服务器接受请求,并根据请求返回相应的结果作为应答 (4)客户与服务器断开连接 HTTP注意事项: HTTP是面向连接的 :即每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。 HTTP是媒体独立的 :只要客户端和服务器知道如何处理数据的内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。 HTTP是无状态的 :无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。但另一方面,在服务器不需要先前信息时它的应答就较快。 HTTP 请求方法 OPTIONS

Request&Response

孤人 提交于 2020-02-22 21:33:09
这两天复习了下Request以及Response部分的内容。 主要内容 HTTP协议:响应消息 Request对象 Response对象 ServletContext对象 HTTP: * 概念:Hyper Text Transfer Protocol 超文本传输协议 * 传输协议:定义了,客户端和服务器端通信时,发送数据的格式 * 特点: 1. 基于TCP/IP的高级协议 2. 默认端口号:80 3. 基于请求/响应模型的:一次请求对应一次响应 4. 无状态的:每次请求之间相互独立,不能交互数据 * 历史版本: * 1.0:每一次请求响应都会建立新的连接 * 1.1:复用连接 1. 请求消息:客户端发送给服务器端的数据 * 数据格式: 1. 请求行 请求方式 请求url 请求协议/版本 GET /login.html HTTP/1.1 * 请求方式: * HTTP协议有7种请求方式,常用的有2种 * GET: 1. 请求参数在请求行中,在url后。 2. 请求的url长度有限制的 3. 不太安全 * POST: 1. 请求参数在请求体中 2. 请求的url长度没有限制的 3. 相对安全 2. 请求头:客户端浏览器告诉服务器一些信息 请求头名称: 请求头值 * 常见的请求头: 1. User-Agent:浏览器告诉服务器,我访问你使用的浏览器版本信息 * 可以在服务器端获取该头的信息

C#处理和对接HTTP接口请求

二次信任 提交于 2020-02-22 07:24:00
  对于现在接口泛滥的时代,了解和处理接口对于一名程序员来说是很有必要的!   在对接时对于对方发过来的文档,需要认真看一遍,有疑问的比如加密等,需特别提出来和对方交接;   第一步,在对接接口时,你应该拿到服务端那边的key和partner,相当于用户和密码的意思;在配置文件里面配置好,如下图:   第二步,加密生成sign,一般是把加密特别抽出来作为一个方法,注意的是,需按照服务端指定的加密方式进行加密,至于是MD5还是其他加密,按规则来;例如:   第三步,拼接url,带上请求参数中间用&间隔,这个太简单了,就不举例了;   第四步,按照拼接出来的url发送HTTP请求并返回响应过来的字符串;   最后一步,对响应过来的xml或者其它格式的数据进行有需处理;       来源: https://www.cnblogs.com/666qq/p/5794606.html

http学习笔记总结

被刻印的时光 ゝ 提交于 2020-02-22 05:52:55
http协议 一. Request请求 1.请求消息数据格式 ①请求行 请求方式 请求url 请求协议/版本 ②请求头 请求头名称:请求头值 ③请求空行:空行,做分割功能 ④请求体(正文) 参数名称=参数值 POST /login.html HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate 允许的打包方式 Referer: http://localhost/login.html Connection: keep-alive Upgrade-Insecure-Requests: 1 username=zhangsan uer-Agent:浏览器告诉服务器,浏览器版本信息(可在服务器获取改头信息,解决兼容性问题) referer: 告诉服务器,我从哪里来?