http请求

HTTP请求的六种方式

心不动则不痛 提交于 2019-12-19 03:46:51
HTTP请求的六种方式 GET:请求获取Request-URI所标识的资源 POST:向Request-URI所标识的资源提交数据 HEAD:请求获取Request-URI所标识的资源的响应消息报头 PUT: 向服务器提交一个资源,并用Request-URI作为其标识 DELETE :删除服务器中Request-URI所标识的资源 TRACE : 请求服务器回送收到的请求信息,主要用于测试或诊断 CONNECT: HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。 OPTIONS :请求查询服务器的性能,或者查询与资源相关的选项和需求 详情:https://blog.csdn.net/chen_gp_x/article/details/66970430 来源: CSDN 作者: _abcdef 链接: https://blog.csdn.net/qq_38626043/article/details/103602287

高性能网站建设指南----笔记

随声附和 提交于 2019-12-19 02:00:28
小概述: 1.只有10%-20%的最终用户响应时间花在了下载HTML文档上,其余的80%-90%的时间花在了下载页面中的所有组件上【js,css,image,flash...】。 2.如果浏览器和服务器都支持的话,可以使用压缩来减小响应的大小。浏览器可以使用Accept-Encoding头来声明它支持的压缩,服务器使用Content-Encoding头来确认响应已被压缩。 3.条件GET请求 如果浏览器在其缓存中保留了组件一个副本,但并不确定它是否仍然有效,就会生成一个条件GET请求,即在请求头中使用If-Modified-Since头将最后修改时间发送给服务器,请求服务器验证该副本从最后修改时间以来有没有被更新过,如果 没有更新过,服务器会返回一个"304 Not Modified"状态码并不再发送响应体,浏览器直接使用缓存中的这个副本,从而得到一个更小且更快的响应。 请求: GET /us.js.yimg.com/lib/common/utils/2/yahoo_2.0.0-b2.js HTTP/1.1 Host: us.js2.yimg.com User-Agent: Mozilla/5.0 (...) Gecko/20061206 Firefox/1.5.0.9 Accept-Encoding: gzip,deflate If-Modified-Since: Wed, 22

使用fiddler模拟http请求

梦想与她 提交于 2019-12-18 20:18:06
概述 与httpwath相比,fiddler能模拟http请求、能断点调试、http分析统计吸引了我,使用之后感觉这个工具非常不错,这篇文章只单介绍一下fiddler工作原理,简单介绍一下它的重要功能,以及如何使用使用fiddler模拟http请求,满足移动服务端开发人员调试的问题。对于其他的功能大家可以自己研究一下。 fiddler工作原理: 当你启动了Fiddler,程序将会把自己作为一个微软互联网服务的系统代理。作为系统代理,所有的来自微软互联网服务(WinInet)的http请求再到达目标Web服务器的之前都会经过Fiddle,同样的,所有的Http响应都会在返回客户端之前流经Fiddler。如下图: fiddler重要功能: 1、HTTP统计视图:用来分析http请求,如下图的83个http请求: 2、用Fiddler来调试:当你在软件的菜单rules—automatic breakpoints选项选择beforerequest,或者当这些请求或响应属性能够跟目标的标准相匹配,Fiddler就能够暂停Http通讯,允许修改请求和响应。这个个vs的断点调试一样,相当实用。 比如说:我请求login。在提交到服务器之前,可以暂停请求,强制修改httphead,如下图: 然后点击运行到完成: 3、Fiddler 扩展:fiddler是用.net开发的,可以使用脚本和

对减少HTTP请求的疑问

梦想的初衷 提交于 2019-12-18 20:11:35
教条 根据各种Web性能优化手册,“减少HTTP请求”这一条始终被放在显眼的位置,其中就包括著名的 YSlow 和 Google Page Speed ,两者对这一教条的解释分别是: 80% of the end-user response time is spent on the front-end. Most of this time is tied up in downloading all the components in the page: images, stylesheets, scripts, Flash, etc. YSlow表示,前端的多数时间是用在下载图片、样式表、脚本、Flash等,所以要减少HTTP请求。 RTT is the major contributing factor to latency on "fast" (broadband) connections. Page Speed则表示,RTT(请求往返时间)是导致连接快不起来的主要原因,所以要减少,即减少HTTP的请求数。 疑惑 很少人会对这2大优化守则产生怀疑,因为它们即真理、即教条、即必须遵守之则,如有违逆,虽远必诛…… 但是如果认真地去解读这2条规则,其他他们都表达了一个意思:网络上的往返越多,响应的速度就越慢。 但是他们却忽略了一个很重要的事情,那就是 工作总用时多

http协议详解

非 Y 不嫁゛ 提交于 2019-12-18 18:51:21
http协议详解 一、何为http协议?(超文本传输协议) http协议,就是 浏览器和服务器之间进行沟通的一种规范。 http协议是基于TCP/IP协议之上的应用层协议。 既然TCP/UDP是广泛使用的网络通信协议,那为啥有多出个http协议来呢? TCP协议是基于连接和三次握手的,虽然具有可靠性,但是 占用资源较多 http协议是基于TCP的可靠性连接,在 请求之后服务器端立即关闭连接 ,释放资源,这样既保证了资源可用,也吸取了TCP的可靠性优点,正因为这点,所以通常说http协议是‘ 无状态 ’的,以至于后来有了 cookie和session 之类的玩意,在HTTP这个 级别, 协议对于发送过的请求或响应都不做持久化处理。 无连接 :无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间,并且可以提高并发性能,不能和每个用户建立长久的连接,请求一次相应一次,服务端和客户端就中断了。但是无连接有两种方式,早期的http协议是一个请求一个响应之后,直接就断开了,但是现在的http协议1.1版本不是直接就断开了,而是等几秒钟,这几秒钟是等什么呢,等着用户有后续的操作,如果用户在这几秒钟之内有新的请求,那么还是通过之前的连接通道来收发消息,如果过了这几秒钟用户没有发送新的请求,那么就会断开连接,这样可以提高效率

Nginx配置文件(nginx.conf)配置详解

爷,独闯天下 提交于 2019-12-18 15:08:22
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> user nginx nginx ; Nginx 用户及组:用户 组。window下不指定 worker_processes 8; 工作进程:数目。根据硬件调整,通常等于CPU数量或者2倍于CPU。 error_log logs/error.log; error_log logs/error.log notice; error_log logs/error.log info; 错误日志:存放路径。 pid logs/ nginx.pid; pid (进程标识符):存放路径。 worker_rlimit_nofile 204800; 指定进程可以打开的最大描述符:数目。 这个指令是指当一个nginx进程打开的最多文件描述符 数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致。 现在在linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应应该填写65535。 这是因为nginx调度时分配请求到进程并不是那么的均衡,所以假如填写10240,总并发量达到3-4万时就有进程可能超过10240了,这时会返回502错误。 events { use epoll;

HTTP与HTTPS对访问速度(性能)的影响

≯℡__Kan透↙ 提交于 2019-12-18 14:07:10
1 前言 HTTPS 在保护用户隐私,防止流量劫持方面发挥着非常关键的作用,但与此同时,HTTPS 也会降低用户访问速度,增加网站服务器的计算资源消耗。 本文主要介绍 https 对用户体验的影响。 2 HTTP与HTTPS的概念和区别 (1)HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。 (2)超文本传输协议 (HTTP-Hypertext transfer protocol) 是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。 (3)https协议需要到ca申请证书,一般免费证书很少,需要交费。 http是超文本传输协议,信息是明文传输,https

python发送HTTP请求

大城市里の小女人 提交于 2019-12-18 07:08:26
今天用python写一个发送HTTP请求的功能,查了下文档,发现实现也就4、5行左右,不禁感叹啊,查了下原来找的java实现的,相比还是臃肿了很多。 所以,python的好处还是蛮多的,对于这些小的功能点相当适合。 附上官方的实例: Here is an example session that uses the GET method: >>> import httplib >>> conn = httplib.HTTPConnection("www.python.org") >>> conn.request("GET", "/index.html") >>> r1 = conn.getresponse() >>> print r1.status, r1.reason 200 OK >>> data1 = r1.read() >>> conn.request("GET", "/parrot.spam") >>> r2 = conn.getresponse() >>> print r2.status, r2.reason 404 Not Found >>> data2 = r2.read() >>> conn.close() Here is an example session that uses the HEAD method. Note that the HEAD method

Django从入门到放弃

我怕爱的太早我们不能终老 提交于 2019-12-18 03:31:13
目录 基于socket手写web框架 基于wsgiref定义自己的web框架 三大主流框架分析 http协议分析 Django下载,创建项目 静态文件配置 完整的登录功能 pycharm连接数据库 orm介绍 django请求生命周期 基于socket手写web框架 py文件 import socket def server_run(): soc = socket.socket() soc.bind(('127.0.0.1', 8008)) soc.listen(5) while True: conn, addr = soc.accept() recv_data = conn.recv(1024) print(recv_data) # 1 直接在send里写,发送给客户端 # conn.send(b'HTTP/1.1 200 OK\r\n\r\n<h1>hello web</h1><img src="https://gss2.bdstatic.com/9fo3dSag_xI4khGkpoWK1HF6hhy/baike/c0%3Dbaike92%2C5%2C5%2C92%2C30/sign=5e3814acf9edab64607f4592965fc4a6/14ce36d3d539b600c0c465d0eb50352ac65cb74b.jpg"></img>') #2

nginx架构分析

烈酒焚心 提交于 2019-12-18 01:39:06
Nginx模块化 #Nginx基于模块化设计,每个模块是一个功能实现,分布式开发,团队协作 #核心模块、标准HTTP模块、可选HTTP模块、邮件模块、第三方模块 #编译后的源码目录objs/ngx_modules.c # https://coding.net/u/aminglinux/p/nginx/git/blob/master/4z/module.md Nginx的web请求机制 #并行处理:多进程、多线程、异步 # https://coding.net/u/aminglinux/p/nginx/git/blob/master/4z/IO.md Nginx事件驱动模型 # https://coding.net/u/aminglinux/p/nginx/git/blob/master/4z/event.md 设计架构概览 #Nginx基于模块化设计、基于事件驱动模型处理请求、主进程和工作进程 # https://coding.net/u/aminglinux/p/nginx/git/blob/master/4z/jg.md Nginx模块化结构 Nginx涉及到的模块分为核心模块、标准HTTP模块、可选HTTP模块、邮件服务模块以及第三方模块等五大类。 核心模块 核心模块是指Nginx服务器正常运行时必不可少的模块,它们提供了Nginx最基本最核心的服务,如进程管理、权限控制