http请求

HTTP/HTTPS 01-不同状态码含义

谁说我不能喝 提交于 2020-01-26 04:38:35
转自:http://m.blog.csdn.net/blog/u013857407/21741847 HTTP协议状态码,是指在HTTP协议运作中由客户端发出请求连接,服务端建立连接,客户端发出HTTP请求,服务端返回响应信息,而在这个过程张由于客户端或服务端的问题会返回相应的错误代码并显示给用户,对应的错误代码表示不同的错误信息,根据这个信息用户可以调整相应的操作来修改出现的错误,最终避免错误的再现 HTTP协议状态码一共有5中类别,分别是1xx,2xx,3xx,4xx,5xx 用2位数字来表示不同的错误:   1XX类状态码信息表示:临时的响应。客户端在收到常规响应之前,应准备接收一个或多个1XX响应   2XX类状态码信息表示:服务器成功的接收了客户端请求    3XX类状态码信息表示:客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同页面,或者通过代理服务器重复该请求   4XX类状态码信息表示:发生错误,客户端似乎有问题。例如:客户端请求不存在的页面,客户端为提供有效的身份验证信息   5XX类状态码信息表示:服务器遇到错误而不能完成该请求 状态码 含义 100——客户必须继续发出请求 101——客户要求服务器根据请求转换HTTP协议版本 200——交易成功 201——提示知道新文件的URL 202——接受和处理、但处理未完成 203—

长连接、短连接、长轮询和WebSocket

感情迁移 提交于 2020-01-25 22:28:57
//转发,格式待整理 2017-08-0519784View0 对这四个概念不太清楚,今天专门搜索了解一下,总结一下: 长连接:在HTTP 1.1,客户端发出请求,服务端接收请求,双方建立连接,在服务端没有返回之前保持连接,当客户端再发送请求时,它会使用同一个连接。这一直继续到客户端或服务器端认为会话已经结束,其中一方中断连接。 优势:减少了连接请求,降低TCP阻塞,减少了延迟,实时性较好。 劣势:可能会影响性能,因为它在文件被请求之后还保持了不必要的连接很长时间。 短连接:在HTTP1.0中,客户端发送请求,服务器接收请求,双方建立连接,服务器响应资源,请求结束。 长轮询:(我自己的理解)客户端不断发送请求,获取服务器上的数据。也有人说是长连接的一种,是这样吗??? WebSocket:客户端发送一次http websocket请求,服务器响应请求,双方建立持久连接,并进行双向数据传输,后面不进行HTTP连接,而是使用TCP连接。 什么是长连接、短连接? 在HTTP/1.0中默认使用短连接。也就是说,客户端和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接。当客户端浏览器访问的某个HTML或其他类型的web页中包含有其他的Web资源(如JavaScript文件、图像文件、CSS文件等),每遇到这样一个Web资源,浏览器就会重新建立一个HTTP会话。 而从HTTP

django学习----http协议

给你一囗甜甜゛ 提交于 2020-01-25 22:28:19
了解http协议的格式   请求协议:request       请求首行:包含请求方式(如get、post) url 协议版本       请求头:请求信息       空行:       请求数据:与网页内容相关的信息     get与post的区别:       在数据上get请求数据不会在请求体中它会放在URL后面,并且数据量有限制       post没有数据限制{表单:调整method="post"}              在地址栏直接给出地址的一定是get请求{地址栏请求,表单(默认)}    1、Host 请求的web服务器域名地址 2、User-Agent HTTP客户端运行的浏览器类型的详细信息。通过该头部信息,web服务器可以判断出http请求的客户端的浏览器的类型。 3、Accept 指定客户端能够接收的内容类型,内容类型的先后次序表示客户都接收的先后次序 4、Accept-Lanuage 指定HTTP客户端浏览器用来展示返回信息优先选择的语言 5、Accept-Encoding 指定客户端浏览器可以支持的web服务器返回内容压缩编码类型。表示允许服务器在将输出内容发送到客户端以前进行压缩,以节约带宽。 而这里设置的就是客户端浏览器所能够支持的返回压缩格式。 6、Accept-Charset HTTP客户端浏览器可以接受的字符编码集 7、Content

Django入门基础

浪尽此生 提交于 2020-01-25 17:59:52
《Django Web框架笔记》 目录 课程特点: 学习难度大,大部分内容需要理解并记忆 文件较多易混淆 学习阶段注重框架使用,工作阶段注重实现业务逻辑 综合应用强,小练习少 Django框架的介绍 2005年发布,采用Python语言编写的开源web框架 早期的时候Django主做新闻和内容管理的 一个重量级的 Python Web框架,Django 配备了常用的大部分组件 基本配置 路由系统 原生HTML模板系统 视图 view Model模型,数据库连接和ORM数据库管理 中间件 Cookie & Seesion 分页 数据库后台管理系统admin Django的用途 网站后端开发 微信公众号、微信小程序等后台开发 基于HTTP/HTTPS协议的后台服务器开发 在线语音/图像识别服务器 在线第三方身份验证服务器等 Django的版本 最新版本:2.2.x 当前教学版本:1.11.8 Django的官网 官方网址: http://www.djangoproject.com 中文文档(第三方): https://yiyibooks.cn/ http://djangobook.py3k.cn/ Django的离线文档 解压缩数据包 django-docs-1.11-en.zip 用浏览器打开 django-docs-1.11-en/index.html Django的安装

web service基础知识

吃可爱长大的小学妹 提交于 2020-01-25 17:35:38
Web服务基础 用户访问网站的基本流程 我们每天都会用web客户端上网,浏览器就是一个web客户端,例如谷歌浏览器,以及火狐浏览器等。 当我们输入www.oldboyedu.com/时候,很快就能看到老男孩教育的官网了,这一切看起来很平淡无奇,背后又是什么道理呢?普通人可以不知道,但是咱们作为it开发人员,必须得掌握清楚背后的技术。 下面超哥为你揭晓用户访问网站的基本流程 老男孩教育某python总监,讲了一天课感觉很累,下了班躺床上打开他的macbook pro,双击浏览器,输入www.pornhub.com网址后,系统首先会查找本地的DNS缓存以及hosts文件信息,确定是否存在www.pornhub.com域名对应的ip解析记录,如果有就直接获取ip进行访问服务器,第一次请求时,dns缓存是没有解析记录的,hosts文件多数是开发临时测试用 如果本地dns缓存和hosts文件都没有域名解析记录,系统就会把某python总监访问的网址解析请求发送给 客户端设置的DNS服务器 去解析,也叫做Local DNS,如果LDNS服务器的本地缓存有对应的解析记录就会直接返回给客户端IP地址,如果没有LDNS就会继续请求其他的DNS服务器 LDNS继续从DNS系统的"."(根)开始请求www.pornhub.com域名的解析,并且根据每个层级的DNS服务器系统进行系列的查找

web service 基础知识

徘徊边缘 提交于 2020-01-25 17:35:13
Web服务基础 用户访问网站的基本流程 我们每天都会用web客户端上网,浏览器就是一个web客户端,例如谷歌浏览器,以及火狐浏览器等。 当我们输入www.oldboyedu.com/时候,很快就能看到老男孩教育的官网了,这一切看起来很平淡无奇,背后又是什么道理呢?普通人可以不知道,但是咱们作为it开发人员,必须得掌握清楚背后的技术。 下面超哥为你揭晓用户访问网站的基本流程 老男孩教育某python总监,讲了一天课感觉很累,下了班躺床上打开他的macbook pro,双击浏览器,输入www.pornhub.com网址后,系统首先会查找本地的DNS缓存以及hosts文件信息,确定是否存在www.pornhub.com域名对应的ip解析记录,如果有就直接获取ip进行访问服务器,第一次请求时,dns缓存是没有解析记录的,hosts文件多数是开发临时测试用 如果本地dns缓存和hosts文件都没有域名解析记录,系统就会把某python总监访问的网址解析请求发送给客户端设置的DNS服务器去解析,也叫做Local DNS,如果LDNS服务器的本地缓存有对应的解析记录就会直接返回给客户端IP地址,如果没有LDNS就会继续请求其他的DNS服务器 LDNS继续从DNS系统的"."(根)开始请求www.pornhub.com域名的解析,并且根据每个层级的DNS服务器系统进行系列的查找

A Simple Web Server

旧时模样 提交于 2020-01-25 17:34:28
介绍 在过去 20 几年里,网络已经在各个方面改变了我们的生活,但是它的核心却几乎没有什么改变。多数的系统依然遵循着 Tim Berners-Lee 在上个世纪发布的规则。大多数的 web 服务器都在用同样的方式处理消息 背景 多数在 web 上的服务器都是运行在 IP 协议标准上。在这协议家族里面我们关心的成员就是 TCP ,这个协议使得计算机之间的通信看起来像是在读写文件。 项目通过套接字来使用 IP 通信。每个套接字都是一个点对点的通信信道,一个套接字包含 IP 地址,端口来标识具体的机器。 IP 地址包含 4 个 8Bit 的数字,比如 174.136.14.108 ; DNS 将这些数字匹配到更加容易识别的名字比如 aosabook.org ,这样更加便于人们记住。 HTTP 是一种可以在 IP 之上传输数据的方式。 HTTP 非常简单:客户端在套接字连接上发送一个请求指示需要什么样的信息,然后服务端就发送响应。数据可以是从硬盘上的文件拷贝过来,程序动态生成,或者是两者结合 /*--> */ /*--> */ HTTP 请求中最重要的就是文本:任何项目都可以创造或者解析一个文本。为了便于理解,文本有图中所示的部分 /*--> */ /*--> */ HTTP 方法一般采用” GET”( 去获取信息 ) 或者” POST”( 去提交表单数据或者上传文件 ) 。 URL

自己动手模拟开发一个简单的Web服务器

寵の児 提交于 2020-01-25 17:28:56
开篇:每当我们将开发好的ASP.NET网站部署到IIS服务器中,在浏览器正常浏览页面时,可曾想过Web服务器是怎么工作的,其原理是什么?“纸上得来终觉浅,绝知此事要躬行”,于是我们自己模拟一个简单的Web服务器来体会一下。 一、请求-处理-响应模型 1.1 基本过程介绍   每一个HTTP请求都会经历三个步凑: 请求-处理-响应 :每当我们在浏览器中输入一个URL时都会被封装为一个HTTP请求报文发送到Web服务器,而Web服务器则接收并解析HTTP请求报文,然后针对请求进行处理(返回指定的HTML页面、CSS样式表、JS脚本文件亦或是加载动态页面生成HTML并返回)。最后将要返回的内容转为输出流并封装为HTTP响应报文发送回浏览器。   当然,浏览器接收到响应报文后会加载HTML、CSS与JS并显示在页面中,最后成为我们看到的最终效果。 1.2 通信过程介绍   Web服务器本质上来说就是一个 Socket服务端 ,在不停地接受着客户端的请求,然后针对每一个客户端的请求进行处理,处理完毕就 即时关闭 连接。而我们的浏览器则是一个 Socket客户端 ,通过 TCP协议 向服务端发送 HTTP请求报文 。 About: Socket非常类似于电话插座,以一个电话网为例:电话的通话双方相当于相互通信的2个程序,电话号码就是IP地址。任何用户在通话之前,首先要占有一部电话机

nginx+uWSGI+django+virtualenv+supervisor发布web服务器

你离开我真会死。 提交于 2020-01-25 16:02:14
导论 WSGI是Web服务器网关接口。它是一个规范,描述了Web服务器如何与Web应用程序通信,以及Web应用程序如何链接在一起以处理一个请求,(接收请求,处理请求,响应请求) 基于wsgi运行的框架有bottle,DJango,Flask,用于解析动态HTTP请求 支持WSGI的服务器 wsgiref python自带的web服务器 Gunicorn 用于linux的 python wsgi Http服务器,常用于各种django,flask结合部署服务器。 mode_wsgi 实现了Apache与wsgi应用程序的结合 uWSGI C语言开发,快速,自我修复,开发人员友好的WSGI服务器,用于Python Web应用程序的专业部署和开发。 在部署python程序web应用程序时,可以根据性能的需求,选择合适的wsgi server,不同的wsgi server区别在于并发支持上,有单线程,多进程,多线程,协程的区别,其功能还是近似,无非是请求路由,执行对应的函数,返回处理结果。 Django部署 Django的主要部署平台是 WSGI,这是用于Web服务器和应用程序的Python标准。 Django的 startproject管理命令设置一个简单的默认WSGI配置,可以根据需要为您的项目进行调整,并指示任何符合WSGI的应用程序服务器使用。 application