http请求

计算机网络知识点整理

别说谁变了你拦得住时间么 提交于 2020-01-18 06:54:19
(更新中) 参考书:《计算机网络自顶向下方法 原书第七版》 第一章 计算机网络和因特网 1、什么是协议? 协议(protocol) ,定义了在两个或多个通信实体间 传输报文的格式和顺序 ,以及 报文发送和/或接收一条报文或其他事件所采取的动作 。 2、什么是网络边缘,常用设备有哪些? 与因特网相连的计算机和其他设备称为端系统 例如: 桌面计算机 服务器 移动计算机。 3、常用家庭接入方式有哪些,企业和移动接入方式有哪些? 家庭接入 : DSL(用户数字线) 电缆 FTTH(光纤到户) 拨号 卫星 企业接入 以太网 WIFI 移动接入 3G LTE(长期演进) 4、导引型物理传输媒体有哪些?非导引型物理传输媒体有哪些? 导引型物理传输媒体 双绞铜线 同轴电缆 光纤 非导引型物理传输媒体 陆地无线电信道 卫星无线电信道 5、什么是网络核心?网络核心通常设备有哪些? 互联因特网 端系统的分组交换机和链路构成的网状网络 。 网络核心通常设备有 路由器(Route) 和 链路层交换机(link-layer switch) 。 6、简单描述存储转发传输机制? 传输当前分组时,需要完全的接收到分组,才能把该分组推向数据链路。 7、网络中数据交换的两种基本方式时什么? 分组交换 电路交换 。 8、电路交换中的复用方式有哪些?分组交换和电路交换的对比? 复用方式: 频分复用 和 时分复用 。

http是什么?(适合新人)

拜拜、爱过 提交于 2020-01-17 16:32:46
最近有人私信我说,我写的博客有些肤浅,没有深究,在此我统一回复一下,这些博客大多都是概念性东西,是用通俗的例子让你理解这个技术或者知识到底是怎么一样原理。 所以我在后面都加着适合新人,我们都是从新人走过来的,知道初学者的那种迷茫,只会代码,不懂原理和含义,就比如,注解,你不去学习理解,初学者根本就不知道那是个什么东西,为什么要使用注解。 如果是资深大牛,那就不要看了,还是那句话,适合新人。 ———————————————————————————————————— 1,什么是http? 首先,他是一种传输的协议,也可以说是种传输的规则; 官方的回答: http是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。 2,http的特点 超文本传输; 超文本(Hypertext)是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本。 支持:html,json,text,流等信息,都是通过二进制进行传输; 无状态; 就是说每次HTTP请求都是独立的,任何两个请求之间没有什么必然的联系,http没有提供事务管理。 但是在实际应用当中并不是完全这样的,引入了Cookie和Session机制来关联请求。 底层基于Socket的TCP协议; 关于tcp我有令外一篇文章,不懂得可以去看看; java网络编程Tcp与UDP

CAS实现单点登录

不问归期 提交于 2020-01-17 07:34:22
1.简介 SSO单点登录 在多个相互信任的系统中,用户只需要登录一次就可以访问其他受信任的系统。 新浪微博与新浪博客是相互信任的应用系统。 * 当用户首次访问新浪微博时,新浪微博识别到用户未登录,将请求重定向到认证中心,认证中心也识别到用户未登录,则将请求重定向到登录页。 * 当用户已登录新浪微博访问新浪博客时,新浪博客识别到用户未登录,将请求重定向到认证中心,认证中心识别到用户已登录,返回用户的身份,此时用户无需登录即可使用新浪博客。 * 只要多个系统使用同一套单点登录框架那么它们将是相互信任的。 CAS Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法, CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。 CAS 包含 CAS Client 和 CAS Server 两部分 CAS Client :要使用单点登录的Web应用,将与同组下的Web应用构成相互信任的关系,只需在web应用中添加CAS提供的 Listener 和 Filter 即可成为CAS Client ,其主要负责对客户端的请求进行登录校验、重定向和校验ticket工作。 CAS Server :主要负责对用户的用户名/密码进行认证,颁发票据等,需要单独的进行部署。 * 同组下的任意一个Web应用登录后其他应用都不需要登录即可使用。 2.CAS服务器搭建 2

隔壁老主精讲web页面性能优化。

让人想犯罪 __ 提交于 2020-01-17 02:27:01
  首先说一下为什么要进行web页面性能优化,在同样的网络环境下,两个同样能满足你的需求的网站,一个“Biu”的一下就加载出来了,一个卡--卡--卡--卡--卡--才出来,你会选择哪个?研究表明:用户最满意的打开网页时间是0-3秒,如果等待超过3秒,90%的用户会关闭这个网页,如果等待超过10秒,99%的用户会关闭这个网页。所以如何提高网页的加载速度就显得尤为重要。而网页的加载速度又和web页面性能优化息息相关,所以web页面性能优化也是势在必行的。   下面为大家仔细讲述一下网页加载时间主要花费在了哪里。大家先看一下一下 性能黄金法则 :网页加载时间只有10%~20%的最终用户响应时间花在了下载HTML文档上。其余的80%~90%时间花在了下载页面中的所有组件上,也就是花在了下载页面中的所有组件进行的HTTP请求上。所以如何减少HTTP请求,就成了web页面性能优化的重中之重;在这里隔壁老主来给大家介绍几种减少HTTP请求的方法。   1、 减少网页中图片网址的个数 。在一个网页中有五幅图片,点击每张图片都会进入一个链接,这样五张导航的图片在加载时会产生5个HTTP请求,如果将这五个图片合并到一张图片上,那么所有点击提交到同一个url,这样就只需要一个HTTP请求。这种将网页中的多个图片融合到一张图里面的方法被称为CSS Sprites直译过来就是CSS精灵

HTTP POST GET 本质区别详解

泪湿孤枕 提交于 2020-01-17 01:57:54
一 原理区别 一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交 Http定义了与服务器交互的不同方法,最基本的方法有4种,分别��?SPAN style="COLOR: #ff0000"> GET,POST,PUT,DELETE URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的 ��?/SPAN> ��?SPAN style="COLOR: #ff6600">��?/SPAN> ��?SPAN style="COLOR: #ff6600">��?/SPAN> ��?SPAN style="COLOR: #ff6600">��?/SPAN> 4个操作。到这里,大家应该有个大概的了解了,GET一般用��?SPAN style="COLOR: #ff6600">获取/查询 资源信息,而POST一般用��?SPAN style="COLOR: #ff6600">更新 资源信息( 个人认为这是GET和POST的本质区别,也是协议设计者的本意,其它区别都是具体表现形式的差异 )��?    根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的 ��?/P>   1

Http(一)

烂漫一生 提交于 2020-01-17 00:53:04
Http是计算机网络中最为重要的一节,作为一个初一的学生,我最近刚刚阅读完了《计算机网络 自顶向下方法》这本书 由此我将通过博客来记录一下,全文共 (八)章,此为第一节 --------------------------------------------------------------------------------------分割线-------------------------------------------------------------------------------------- 以上为初一时写的所有笔法排版较为幼稚,今晚抽空对内容进行了些许修改--------2020/1/17 HTTP请求包括三个部分: 请求方法 URI和HTTP协议的版本 请求头 请求正文 HTTP请求的第一行,包括请求方式,URI和协议版本这三项内容,以空格分开 例如POST /hello.jsp HTTP/1.1 URI是统一资源标识符 URL属于URI的一个子类 HTTP协议,可以使用多种请求方式,主要包括以下几种: GET:客户程序通过这种请求方式访问服务器上的一个文档,并由服务器把文档发送给客户程序 POST:客户程序可通过这种方式发送大量信息给服务器,正在HTTP请求中除了包含要访问的文档的URI,还包括大量的请求正文,在这些请求正文中通常会包含HTML表单数据

requests:

元气小坏坏 提交于 2020-01-17 00:51:37
1、保存图片: import requestsurl = "http://dmimg.5054399.com/allimg/pkm/pk/22.jpg"response = requests.get(url = url)查看状态码: print(response.status_code)查看文本数据: print(response.text)查看字节: print(response.content)with open("豆芽.jpg","wb") as f: """wb字节转图片""" f.write(response.content)2、 import requests response = requests.get(url="https://www.cnblogs.com/Neeo/articles/10669652.html%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95%E5%87%BA%E7%8E%B0%E5%8E%9F%E5%9B%A0") print(response.text)查看网页编码: print(response.encoding)转码: response.encoding = "utf-8"查看URL: print(response.url)查看响应头: print(response.headers) with open("a

HTTP Keep-Alive模式

送分小仙女□ 提交于 2020-01-16 19:57:49
——献给那些向我这样对HTTP的“伪”熟悉者。 故事发生在10月份的一次面试经历中,本来我不想说出来丢人显眼,但是为了警醒自己和告诫后人,我决定写成博文发出来。因为在面试过程中,我讲在2009年写过QQ农场助手,在这期间深入学习了HTTP协议,而且在2010-05-18写了博文: HTTP协议及其POST与GET操作差异 & C#中如何使用POST、GET等 。面试官说既然我熟悉HTTP协议,就问“当HTTP采用keepalive模式,当客户端向服务器发生请求之后,客户端如何判断服务器的数据已经发生完成?” 说实话,当时我懵了,一直没有关注过keepalive模式。我只知道: HTTP协议中客户端发送一个小请求,服务器响应以所期望的信息(例如一个html文件或一副gif图像)。服务器通常在发送回所请求的数据之后就关闭连接。这样客户端读数据时会返回EOF(-1),就知道数据已经接收完全了。 我就这样被面试官判了死刑!!!说我完全停留在表面,没有深入(当时真的很受打击,一直自认为技术还不错!)。我当时真的很想找各种借口: 之前没有用到HTTP的keepalive模式,所以没有深入 好久没有用HTTP协议,细节忘了 实习的东西跟HTTP协议没有关系,用得少了就忘了 。。。。。。 觉得各种解释都是那么苍白无力!我再次感叹书到用时方恨少,也感叹一个人的时间是多么的有限

Tampermonkey 文档

落爺英雄遲暮 提交于 2020-01-16 19:37:07
@doc https://www.tampermonkey.net/documentation.php 目录 @name @name 脚本的名字 @namespace @namespace 脚本的命名空间 @version 脚本的版本,用于检查更新。 @author 脚本的作者 @description 简短重要的描述 @homepage, @homepageURL, @website and @source 在“选项”页上用于从脚本名链接到给定页的作者主页。请注意,如果@namespace标记以“http://”开头,则其内容也将用于此操作。 @icon, @iconURL and @defaulticon 低分率的脚本会在脚本管理列表上显示 @icon64 and @icon64URL 脚本icon 64*64 如果给了这个标签,但给了图标,则图标图像将在选项页的某些位置缩放 @updateURL 更新脚本的地址,注意:只有存在@version标签才会去更新 @downloadURL 定义检测到更新时将从中下载脚本的URL。如果值为none,则不会执行更新检查。 @supportURL 定义使用者报告issues和个人支持的地址 @include 脚本应该运行的页面, 可以使用正则匹配。 允许多个标签 请注意@include不支持url hash参数

Nginx特点及其配置

安稳与你 提交于 2020-01-16 17:57:03
1、基础知识 代理服务器:      一般是指局域网内部的机器通过代理服务器发送请求到互联网上的服务器,代理服务器一般作用在客户端。应用比如:GoAgent,FQ神器.   一个完整的代理请求过程为:客户端首先与代理服务器创建连接,接着根据代理服务器所使用的代理协议,请求对目标服务器创建连接、或者获得目标服务器的指定资源。 Web代理(proxy)服务器是网络的中间实体。 代理位于Web客户端和Web服务器之间,扮演“中间人”的角色。HTTP的代理服务器即是Web服务器又是Web客户端。   代理服务器是介于客户端和Web服务器之间的另一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。 正向代理 :   是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。 反向代理服务器:   在服务器端接受客户端的请求,然后把请求分发给具体的服务器进行处理,然后再将服务器的响应结果反馈给客户端。Nginx就是其中的一种反向代理服务器软件。   Nginx:Nginx ("engine