http请求

《JavaScript》高级程序设计第21章:Ajax和Comet,jsonp

风格不统一 提交于 2020-01-04 03:17:31
一、创建XMLHttpRequest对象 二、XHR的用法 五、跨域资源共享 六、其他跨域技术 七、安全 七、安全 1. 图像Ping 2. JSONP(JSON with padding,填充式JSON/参数式JSON) 3. Comet(“服务器推送”) 4. 服务器发送事件(SSE:Server-Sent Events) 5. Web Sockets 6. SSE & Web Sockets 7. 跨域方法小结: 七、安全 Ajax的技术核心是 XMLHttpRequest对象 (简称XHR) 一、创建XMLHttpRequest对象 1 function createXHR(){ 2 if(typeof XMLHttpRequest != "undefined"){ 3 //IE7, FireFox, Opera, Chrome, Safari都支持原生的XHR对象,这些浏览器中可以使用XMLHttpRequest构造函数 4 return new XMLHttpRequest(); 5 } else if (typeof ActiveXObject != "undefined"){ 6 //使用于IE7之前的版本 7 if(typeof arguments.callee.activeXString != 'string'){ 8 var versions = [

H5前端性能测试快速入门

拈花ヽ惹草 提交于 2020-01-04 00:52:44
说到H5测试,对于做WEB测试的同学来说再熟悉不过了,它包括页H5功能测试,前端性能测试,浏览器兼容性能测试,以及服务端性能测试。那本文谈到的则是H5前端性能测试,并希望通过阅读本文后,能够知道:H5前端性能测试什么?如何发现问题以及相应的优化规则。 一、浏览器渲染引擎 浏览器是Html解析和页面最终展示的工具,所以测试H5前理解浏览器的工作原理是必不可少的,具体可参考《浏览器工作原理》。 浏览器的主要功能 浏览器的主要功能是将用户选择的web资源呈现出来,它需要从服务器请求资源,并将其显示在浏览器窗口中,资源的格式通常是HTML,也包括PDF、image及其他格式。在浏览器组成部分中,渲染引擎是用户直接相关,呈现用户所需页面的部分。所以从渲染引擎入手,了解HTML解析与页面展示。 渲染引擎工作流 dom树构建 :从html标签的解析开始,将各种标签解析为dom树中的各个节点,标签和dom树的中的节点是一一对应关系。 渲染树构建: 将CSS和style标签中的样式信息解析为渲染树,渲染树由一些包含有颜色和大小等属性的矩形组成,它们将被按照正确的顺序显示到屏幕上。 渲染树布局和绘制: 渲染树确定各个dom节点在屏幕中单确切位置,根据渲染树中的颜色等信息绘制出网页。 值得注意的是,这个过程是逐步完成的,为了更好的用户体验,渲染引擎将会尽可能早的将内容呈现到屏幕上

Requests库介绍

天大地大妈咪最大 提交于 2020-01-03 17:47:54
Requests库安装 1、使用管理员打开cmd,输入pip install requests 2、可以使用pip list 查看已经安装了库里面是否已经有了requests库,也是到IDE里面直接引用,看是否可以正常引用 Requests库的7个主要方法 方法 说明 requests.request() 构造一个请求,支撑以下各方法的基础方法 requests.get() 获取HTML网页的主要方法,对应于HTTP的GET requests.head() 获取HTML网页头信息的方法,对应于HTTP的HEAD requests.post() 向HTML网页提交post请求的方法,对应HTTP的POST requests.put() 向HTML网页提交PUT请求的方法,对应于HTTP的PUT requests.patch() 向HTML网页提交局部修改请求,对应于HTTP的PATCH requests.delete() 向HTML页面提交删除请求,对应于HTTP的DELETE Requests对象的5个属性 属性 说明 r.ststus_code HTTP请求的返回状态,200表示连接成功,404连接失败 r.text HTTP响应内容的字符串形式,既,url对应的页面内容 r.encoding 从HTTP head中猜测的响应内容编码方式 r.apparent_encoding

Python网络爬虫之requests模块

你。 提交于 2020-01-03 02:45:23
今日内容 session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 知识点回顾 xpath的解析流程 bs4的解析流程 常用xpath表达式 常用bs4解析方法 引入 有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests模块常规操作时,往往达不到我们想要的目的,例如: #!/usr/bin/env python # -*- coding:utf-8 -*- import requests if __name__ == "__main__": #张三人人网个人信息页面的url url = 'http://www.renren.com/289676607/profile' #伪装UA headers={ 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36', } #发送请求,获取响应对象 response = requests.get(url=url,headers=headers) #将响应内容写入文件 with open('./renren.html','w'

Django-restframework

眉间皱痕 提交于 2020-01-03 00:07:56
今日内容概要:   1.restful api   2.django rest frame work框架    - 认证    - 权限    - 访问频率限制 - 版本 - 解析器 - 序列化 - 分页 - 视图 - 路由 - 渲染器(一般不用) 之前知识点复习:    1. 在django中如果header里的content-type = application/json,django的视图里通过request.post获取不到值,需要通过request.body获取json传过来的值    2. 关于跨域问题:     1.同源策略: 只有当协议、端口、和域名都相同的页面,则两个页面具有相同的源。只要网站的 协议名protocol、 主机host、 端口号port 这三个中的任意一个不同,网站间的数据请求与传输便构成了跨域调用,会受到同源策略的限制。 ​ 同源策略限制从一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的关键的安全机制。浏览器的同源策略,出于防范跨站脚本的攻击,禁止客户端脚本(如 JavaScript)对不同域的服务进行跨站调用(通常指使用XMLHttpRequest请求)。     解决办法     1.使用ajax的jsonp 只能应用get请求     2.使用jquery的jsonp插件 请求方式不只局限于get请求

Django

﹥>﹥吖頭↗ 提交于 2020-01-03 00:03:57
第十二章 Django框架 12.1 HTTP协议 12.1.1 HTTP简介 超文本传输协议 Hyper Text Transfer Protocol 是一种用于分布式、协作式和超媒体信息系统的应用层协议 HTTP是万维网的数据通信的基础 HTTP有很多应用,但最著名的是用于web浏览器和web服务器之间的双工通信 HTTP是一个客户端终端和服务器端请求和响应的标准 12.1.2 HTTP 请求/响应的步骤 客户端连接到Web服务器 一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接 发送HTTP请求 通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成 服务器接受请求并返回HTTP响应 Web服务器解析请求,定位请求资源,服务器将资源复本写到TCP套接字,由客户端读取,一个响应由状态行、响应头部、空行和响应数据4部分组成 释放连接TCP连接 若connection 模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;若connection 模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求 客户端浏览器解析HTML内容 客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码,然后解析每一个响应头

HTTP八种请求方法

雨燕双飞 提交于 2020-01-03 00:02:42
HTTP请求的方法: HTTP/1.1协议中共定义了八种方法(有时也叫“动作”),来表明Request-URL指定的资源不同的操作方式 1、OPTIONS 返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性 2、HEAD 向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。 3、GET 向特定的资源发出请求。注意:GET方法不应当被用于产生“副作用”的操作中,例如在Web Application中,其中一个原因是GET可能会被网络蜘蛛等随意访问。Loadrunner中对应get请求函数:web_link和web_url 4、POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 Loadrunner中对应POST请求函数:web_submit_data,web_submit_form 5、PUT 向指定资源位置上传其最新内容 6、DELETE 请求服务器删除Request-URL所标识的资源 7、TRACE 回显服务器收到的请求,主要用于测试或诊断 8、CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。 注意

HTTP协议的8种请求类型介绍

耗尽温柔 提交于 2020-01-03 00:02:08
HTTP是超文本传输协议,其定义了客户端与服务器端之间文本传输的规范。HTTP默认使用80端口,这个端口指的是服务端的端口,而客户端使用的端口是动态分配的。当我们没有指定端口访问时,浏览器会默认帮我们添加80端口。我们也可以自己指定访问端口如:http://www.ip138.com:80。 需要注意的是,现在大多数访问都使用了HTTPS协议,而HTTPS的默认端口为443,如果使用80端口访问HTTPS协议的服务器可能会被拒绝。 HTTP请求的方法: HTTP/1.1协议中共定义了八种方法(有时也叫“动作”),来表明Request-URL指定的资源不同的操作方式 HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。 HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法 OPTIONS   返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性 HEAD   向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。 GET   向特定的资源发出请求。注意:GET方法不应当被用于产生“副作用”的操作中,例如在Web Application中

RPC和HTTP的理解以及不同之处

人走茶凉 提交于 2020-01-02 19:40:52
RPC协议:远程过程调用协议(Remote Procedure Call Protocol),是一种计算机通讯协议。 如何理解远程过程调用? 假设有两台服务器A和B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数或者方法,由于不在一个内存空间,所以不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。 简要的步骤 解决通讯问题。主要是客户端和服务器建立TCP连接,远程调用所有交换的数据都在这个连接里面进行交换,连接可以是按需连接,数据交换完毕之后就关闭连接;也可以是长连接,多个远程调用都共享同一个连接。 解决寻址问题。服务器A想要调用服务器B的应用,那么A应该告知RPC框架B服务器(主机名或IP地址)以及特定的端口,然后指定调用的方法或者函数的名称以及入参出参等信息,这样才能完成服务的一个调用。比如基于Web服务协议栈的RPC,就需要提供一个endpoint URI,或者是从UDDI服务上进行查找。如果是RMI调用的话,还需要一个RMI Registry来注册服务的地址。 当A服务器上的应用发起远程过程调用时,方法的参数需要通过底层的网络协议如TCP传递到B服务器,由于网络协议是基于二进制的,内存中的参数的值要序列化成二进制的形式,也就是序列化(Serialize)或编组(marshal),通过寻址和传输将序列化的二进制发送给B服务器。 B服务器收到请求后

初识HTTP协议

老子叫甜甜 提交于 2020-01-02 12:49:16
当我们想浏览一个网站的时候,只要在浏览器的地址栏里输入网站的地址就可以了,例如:www.microsoft.com,但是在浏览器的地址栏里面出现的却是:http://www.microsoft.com,你知道为什么会多出一个“http”吗? 一、HTTP协议是什么 我们在浏览器的地址栏里输入的网站地址叫做URL(UniformResourceLocator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。因此,在我们认识HTTP之前,有必要先弄清楚URL的组成,例如:http://www.microsoft.com/china/index.htm。它的含义如下: 1.http://:代表超文本传输协议,通知microsoft.com服务器显示Web页,通常不用输入; 2.www:代表一个Web(万维网)服务器; 3.Microsoft.com/:这是装有网页的服务器的域名,或站点服务器的名称; 4.China/:为该服务器上的子目录,就好像我们的文件夹; 5.Index.htm:index.htm是文件夹中的一个HTML文件(网页)。 我们知道