http请求

Http协议

柔情痞子 提交于 2020-01-22 00:39:08
一、 Http 协议 1. 什么是 Http 协议 HTTP ,超文本传输协议( HyperText Transfer Protocol) 是互联网上应用最为广泛的 一种网络协议。所有的 WWW 文件都必须遵守这个标准。设计 HTTP 最初的目的是为 了提供一种发布和接收 HTML 页面的方法 2. Http 协议的组成 Http 协议由 Http 请求和 Http 响应组成,当在浏览器中输入网址访问某个网站时,你的浏览器会将你的请求封装成一个 Http 请求发送给服务器站点,服务器接收到请 求后会组织响应数据封装成一个 Http 响应返回给浏览器。即没有请求就没有响应。 3.Http请求 编辑一个form.html的表单页面,如下:      1)请求行 请求方式:POST、GET 请求的资源:/DemoEE/form.html 协议版本:HTTP/1.1 HTTP/1.0,发送请求,创建一次连接,获得一个web资源,连接断开。 HTTP/1.1,发送请求,创建一次连接,获得多个web资源,保持连接。 3)请求体 当请求方式是post的时,请求体会有请求的参数,格式如下: username=zhangsan&password=123 如果请求方式为get,那么请求参数不会出现在请求体中,会拼接在url地址后面 http://localhost:8080...?username

HTTP简介

让人想犯罪 __ 提交于 2020-01-22 00:33:01
HTTP概念 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。 HTTP协议,即超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和万维网(WWW = World Wide Web)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。 HTTP协议是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部 分内容首先显示(如文本先于图形)等。 HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。 在Internet中所有的传输都是通过TCP/IP进行的。HTTP协议作为TCP/IP模型中应用层的协议也不例外。HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。 HTTP特点 1、支持客户/服务器模式。支持基本认证和安全认证。 2、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST

跨域的另一种解决方案CORS(CrossOrigin Resource Sharing)跨域资源共享

落爺英雄遲暮 提交于 2020-01-21 03:47:03
在我们日常的项目开发时使用AJAX,传统的Ajax请求只能获取在同一个域名下面的资源,但是HTML5打破了这个限制,允许Ajax发起跨域的请求。浏览器是可以发起跨域请求的,比如你可以外链一个外域的图片或者脚本。但是Javascript脚本是不能获取这些资源的内容的,它只能被浏览器执行或渲染。主要原因还是出于安全考虑,浏览器会限制脚本中发起的跨站请求。(同源策略, 即JavaScript或Cookie只能访问同域下的内容)。跨域的解决方案有多重JSONP、 Flash 、Iframe等,当然还有CORS(跨域资源共享,Cross-Origin Resource Sharing)今天就来了解下CORS的原理,以及如何使用。 一、CORS概述 跨源资源共享标准通过新增一系列 HTTP 头,让服务器能声明那些来源可以通过 浏览器 访问该服务器上的各类资源(包括CSS、图片、JavaScript 脚本以及其它类资源)。另外,对那些会对服务器数据造成破坏性影响的 HTTP 请求方法(特别是 GET 以外的 HTTP 方法,或者搭配某些MIME类型的POST请求),标准强烈要求 浏览器 必须先以 OPTIONS 请求方式发送一个预请求(preflight request),从而获知服务器端对跨源请求所支持 HTTP 方法。在确认服务器允许该跨源请求的情况下,以实际的 HTTP

跨域的另一种解决方案——CORS(Cross-Origin Resource Sharing)跨域资源共享

烂漫一生 提交于 2020-01-21 03:44:34
在我们日常的项目开发时使用AJAX,传统的Ajax请求只能获取在同一个域名下面的资源,但是HTML5打破了这个限制,允许Ajax发起跨域的请求。浏览器是可以发起跨域请求的,比如你可以外链一个外域的图片或者脚本。但是Javascript脚本是不能获取这些资源的内容的,它只能被浏览器执行或渲染。主要原因还是出于安全考虑,浏览器会限制脚本中发起的跨站请求。( 同源策略 , 即JavaScript或Cookie只能访问同域下的内容)。跨域的解决方案有多重JSONP、Flash、Iframe等,当然还有 CORS(跨域资源共享,Cross-Origin Resource Sharing) 今天就来了解下CORS的原理,以及如何使用。 一、CORS概述 跨源资源共享标准通过新增一系列 HTTP 头,让服务器能声明那些来源可以通过浏览器访问该服务器上的各类资源(包括CSS、图片、JavaScript 脚本以及其它类资源)。另外,对那些会对服务器数据造成破坏性影响的 HTTP 请求方法(特别是 GET 以外的 HTTP 方法,或者搭配某些MIME类型的POST请求),标准强烈要求浏览器必须先以 OPTIONS 请求方式发送一个预请求(preflight request),从而获知服务器端对跨源请求所支持 HTTP 方法。在确认服务器允许该跨源请求的情况下,以实际的 HTTP

servlet中Http协议

痞子三分冷 提交于 2020-01-20 22:11:07
什么是http协议 http协议: 对浏览器客户端 和 服务器端 之间数据传输的格式规范 查看http协议的工具 1)使用火狐的firebug插件(右键->firebug->网络) 2)使用谷歌的“审查元素” Http请求 GET /day09/hello HTTP/1.1 -请求行 Host: localhost:8080 --请求头(多个key-value对象) User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9, / ;q=0.8 Accept-Language: zh-cn,en-us;q=0.8,zh;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Connection: keep-alive –一个空行 name=eric&password=123456 --(可选)实体内容 请求行 GET /day09/hello HTTP/1.1 http协议版本 http1.0:当前浏览器客户端与服务器端建立连接之后,只能发送一次请求,一次请求之后连接关闭。 http1.1

php curl 发送HTTP请求方法支持http、https和文件上传支持自定义header

泪湿孤枕 提交于 2020-01-20 15:25:00
php curl 发送HTTP请求方法支持http、https 之前从网上找的然后重新封装的函数,这次又需要从之前项目扒出来了,并加了一些注释写个博客以后忘了好找。 /** * 发送HTTP请求方法支持https * @param string $url 请求URL * @param array $params 请求参数 如需传输文件格式为[ 'file' => '@文件地址'] * @param string $method 请求方法GET/POST * @param boolean $multi 是否传输文件 * @return array $data 响应数据 */ function httpRequest($url, $params, $method = 'GET', $header = array(), $multi = false){ $opts = array( CURLOPT_TIMEOUT => 3,//设置cURL允许执行的最长秒数。 CURLOPT_RETURNTRANSFER => 1,//设置返回的内容作为变量储存,而不是直接输出 CURLOPT_SSL_VERIFYPEER => false,//禁止 cURL 验证对等证书--主要针对https CURLOPT_SSL_VERIFYHOST => 0,//设为0表示不检查证书--主要针对https

HTTP/HTTPS协议

耗尽温柔 提交于 2020-01-20 14:35:30
HTTP协议是什么? 超文本传输协议(HyperText Transfer Protocol, 缩写:HTTP)是一种用于分布式、协作式和 超媒体信息系统的 应用层协议。 设计HTTP最初的目的是为了提供一种发布和接收 HTML页面的方法。通过HTTP或者HTTPS协议请求的资源由 统一资源标识符(Uniform Resource Identifiers,URI)来标识。 Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求。Http会通过TCP建立起一个到服务器的连接通道,当本次请求需要的数据完毕后,Http会立即将TCP连接断开,这个过程是很短的。所以Http连接是一种短连接,是一种无状态的连接。 怎么理解"HTTP是无状态协议"? 无状态协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息. 所谓的无状态,是指浏览器每次向服务器发起请求的时候,不是通过一个连接,而是每次都建立一个新的连接。如果是一个连接的话,服务器进程中就能保持住这个连接并且在内存中记住一些信息状态。而每次请求结束后,连接就关闭,相关的内容就释放了,所以记不住任何状态,成为无状态连接。 无状态协议解决办法: 通过 1、Cookie 2、通过Session 会话保存。 Cookie 在实际业务场景中,会要求用户在页面A进行账号登陆

PHP HTTP请求

大城市里の小女人 提交于 2020-01-20 12:33:30
1、GET 请求 请求参数以键值对的方式,附加到url地址上,称为查询字符串,用?号与当前脚本(PHP脚本)分隔 url格式: index.php?name=peter&age=30 受url长度限制, GET方式传递的数据也是有限制的 服务器端脚本使用 预定义变量数组 $_GET 进行接收 注:value用三元运算符的意思是,输入值后并且提交表单后,方框里面的值还在。如果value值为空,则方框不显示也为空(读者请忽略) 关于 GET 的注释: form获取input的输入的值,将表单数据以名称/值对的形式附加到 URL 中 URL 的长度是有限的(大约 3000 字符) 绝不要使用 GET 来发送敏感数据! · 对于用户希望加入书签的表单提交很有用 GET 更适用于非安全数据,比如在 Google 中查询字符串 2、POST 请求 请求参数放在header请求头中发送, url地址看不到请求参数,适合敏感信息 通常是通过表单提交并, 用来更新服务器上的信息 适合发送大量的数据到服务器端, 长度受到配置文件限制,但比GET要大得多 服务器端脚本使用 预定义变量数组 $_POST 进行接收 关于 POST 的注释: 将表单数据附加到 HTTP 请求的 body 内 (数据不显示在 URL 中) 没有长度限制 通过 POST 提交的表单不能加入书签 3、表单 method属性

Http请求状态码及原因

帅比萌擦擦* 提交于 2020-01-20 02:08:32
Servlet Http状态码: 代码 消息 描述 原因 100 Continue 只有请求的一部分已经被服务器接收,但只要它没有被拒绝,客户端应继续该请求。 101 Switching Protocols 服务器切换协议。 200 OK 请求成功。 201 Created 该请求是完整的,并创建一个新的资源。 202 Accepted 该请求被接受处理,但是该处理是不完整的。 203 Non-authoritative Information 204 No Content 205 Reset Content 206 Partial Content 300 Multiple Choices 链接列表。用户可以选择一个链接,进入到该位置。最多五个地址。 301 Moved Permanently 所请求的页面已经转移到一个新的 URL。 永久重定向。新网址完全继承旧网址,旧网址的排名等完全清零 302 Found 所请求的页面已经临时转移到一个新的 URL 暂时重定向;对旧网址没有影响,但新网址不会有排名 303 See Other 所请求的页面可以在另一个不同的 URL 下被找到。 304 Not Modified 305 Use Proxy 306 Unused 在以前的版本中使用该代码。现在已不再使用它,但代码仍被保留。 307 Temporary Redirect

JMETER TPS

∥☆過路亽.° 提交于 2020-01-20 01:17:35
上一节中,我们了解了jmeter的一此主要元件,那么这些元件如何使用到性能测试中呢。这一节创建一个简单的测试计划来使用这些元件。该计划对应的测试需求。 1)测试目标网站是fnng.cnblogs.com 2)测试目的是该网站在负载达到20 QPS 时的响应时间。 QPS 解释   QPS : Query Per Second 每秒查询率。是一台查询服务器每秒能够处理的查询次数。在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。   为了达成预期的测目的,需要需要在jmeter中建立一个测试计划。因为本次测试仅要求完成对fnng.cnblogs.com博客首页请求,因此只需要使用HTTP Request Sampler 即可。 建立测试计划   启动jmeter后,jmeter会自动生成一个空的测试计划,用户可以基于该测试计划建立自己的测试计划。 添加线程组   一个性能测试请求负载是基于一个线程组完成的。一个测试计划必须有一个线程组。测试计划添加线程组非常简单。在测试计划右键弹出下拉菜单(添加-->Threads(Users)--->线程组)中选择线程组即可。   jmeter中 每个测试计划至少需要包含一个线程组,当然也可以在一个计划中创建多个线程组,那么多个线程组之间又会怎样的顺序执行(串行还是并行)?在测试计划下面多个线程是并行执行的