http请求

Node.js从服务器主动发送请求

十年热恋 提交于 2019-12-29 14:40:14
服务器请求百度首页 参考文档 链接 //服务器发送请求 const http = require ( 'http' ) ; const path = require ( 'path' ) ; const fs = require ( 'fs' ) ; let options = { hostname : 'www.baidu.com' , port : '80' } let req = http . request ( options , ( res ) => { let info = '' ; res . on ( 'data' , ( chunk ) => { info += chunk ; } ) res . on ( 'end' , ( ) => { fs . writeFile ( path . join ( __dirname , 'baidu.html' ) , info , ( err ) => { if ( ! err ) { console . log ( "百度主页html内容加载完毕" ) } } ) } ) } ) req . end ( ) ; 服务器向后台接口发送请求 查询数据 const http = require ( 'http' ) ; let options = { protocol : 'http:' , hostname :

HTTP Headers解析

為{幸葍}努か 提交于 2019-12-29 03:15:01
什么是HTTP Headers? 它包含了哪些内容? 利用requests.get()函数对豆瓣读书进行请求, 返回的 r.headers 如下所示: >>> import requests >>> r = requests.get('https://book.douban.com/') >>> r.headers {'X-Powered-By-ADS': 'chn-shads-4-12', 'X-Xss-Protection': '1; mode=block', 'X-DAE-App': 'book', 'X-Content-Type-Options': 'nosniff', 'Content-Encoding': 'gzip', 'Transfer-Encoding': 'chunked', 'Set-Cookie': 'bid=ZT-mRsxMMX0; Expires=Mon, 23-Oct-17 03:11:40 GMT; Domain=.douban.com; Path=/, __ads_session=2Yy49z4EzghqOiuo9gA=; domain=.douban.com; path=/', 'Expires': 'Sun, 1 Jan 2006 01:00:00 GMT', 'Vary': 'Accept-Encoding', 'X-DAE-Node':

在浏览器中输入一个网址后,发生了什么?

本小妞迷上赌 提交于 2019-12-29 00:38:22
这是面试中一道非常经典的问题。 当你在浏览器中输入一个网址,浏览器的处理过程如下: 第一步 浏览器查找该域名的 IP 地址 第二步 浏览器根据解析得到的IP地址向 web 服务器发送一个 HTTP 请求 第三步 服务器收到请求并进行处理 第四步 服务器返回一个响应 第五步 浏览器对该响应进行解码,渲染显示。 第六步 页面显示完成后,浏览器发送异步请求。 下面对每个环节做进一步分析: 01 浏览器查找该域名的 IP 地址 浏览器缓存 首先是查找浏览器缓存,浏览器会缓存DNS记录一段时间,不同浏览器保存的时常不等(2分钟到30分钟不等)。 系统缓存 如果在浏览器缓存里没有找到需要的记录,浏览器会做一个系统调用来查找这个网址的对应DNS信息。 路由器缓存 如果在系统缓存里没有找到找到对应的IP,请求会发向路由器,它一般会有自己的DNS缓存。 ISP DNS服务器 如果在路由器缓存里还是没有对应的IP,请求会被发送到ISP。 根域名服务器 如果还是没有,请求将发向根域名服务器进行搜索。找不到就说明此域名不存在。 02 浏览器根据解析得到的IP地址向 web 服务器发送一个 HTTP 请求 可能会重定向响应 例如“ http://facebook.com/ ”,服务器会给浏览器响应一个301永久重定向响应,这样浏览器就会访问“ http://www.facebook.com/ ” 而非“

http请求415错误Unsupported Media Type

你离开我真会死。 提交于 2019-12-28 15:49:00
本文转载自: https://www.cnblogs.com/wangqiao170/p/9121374.html 作者:wangqiao170 转载请注明该声明。 之前用了封装的ajax,因为请求出了点问题,我试了下jQuery的$.ajax,报出了415的错误,从没遇到过这个错误,所以也是花了不少时间在研究这个问题的出处 415错误的解释是说,服务器无法处理请求附带的媒体格式,不明白什么意思,一开始以为是后台设置没办法解析,后来用postman、swagger请求,都可以成功,确定是我请求的问题,查看了HTTP请求头部文件,发现content-type跟我们的json格式不同 所以在ajax请求中添加content-type设置为application/json,然后记得将数组对象格式化为json对象JSON.stringify() 再请求一次,OK了 希望本文能够帮助到你 来源: CSDN 作者: wangchaoqi1985 链接: https://blog.csdn.net/wangchaoqi1985/article/details/103744585

Sevice Computing:阅读:《Golang web 应用开发》

懵懂的女人 提交于 2019-12-28 12:29:37
Sevice Computing:阅读:《Golang web 应用开发》 为什么是Golang? Web工作方式 URL和DNS解析 HTTP协议 Go搭建一个Web服务器 Go如何使得Web工作 这次作业是阅读《Golang web 应用开发》,后来发现这次也是要写博客作业的,所以期末抽空又读了一下然后总结一下web章节和自己的想法。整本书在GitHub上面开源的,阅读链接如下: 《Golang web 应用开发》阅读链接 为什么是Golang? 这个部分书中其实没有写到,但是整章看下来其实我们可以感觉到,Golang开发Web应用是很方便的,同时又是相当的灵活。Golang 上手简单, 而且在语法上的要求相对不那么严格。同时Golang又有非常丰富的第三方库, 官方已经有提供net/http包为搭建http服务器做准备。使用这个包能很简单地对web的路由,静态文件,模版,cookie等数据进行设置。对于业务没那么复杂的项目,作为简单的web server, 写一些API 的后端是不错的选择。下面是对阅读内容重点的提炼和总结分析。 Web工作方式 我们在上网的过程其实就是web在工作。一个Web服务器也被称为HTTP服务器,它通过HTTP协议与客户端通信。这个客户端通常指的是Web浏览器(其实手机端客户端内部也是浏览器实现的)。对于普通的上网过程,系统其实是这样做的:

vue-resource获取不了数据,和ajax的区别,及vue-resource用法

微笑、不失礼 提交于 2019-12-28 09:22:55
前几天用vue-resource调用接口,用post方式给后端,发现后端php接受不到数据,这好奇怪,最后发现提交给后端的时候 需要加一个参数 就是:emulateJSON : true 这句话的意思是 将request body以application/x-www-form-urlencoded content type发送 上个小demo看下 _this.$http.post('/apiwx2/xqsj.php', { 'token' : _this.token, 'house' : _this.userName, }, {emulateJSON : true} ).then((response) => { let ret = (new Function("return " + response.data))(); if(ret.code == 1){ _this.showSuccess = true; }else if(ret.code == 3){ _this.showError = true; }else{ _this.tips(ret.msg); } }) .catch(function (response) { console.log(response) }) 如果后端给你的数据 response.data 得不到 那就是后端给你的是字符串,需要你转成json即可

Http请求中Content-Type

时光总嘲笑我的痴心妄想 提交于 2019-12-28 09:05:00
1. Content-Type MediaType,即是Internet Media Type,互联网媒体类型;也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息。 [html] view plain copy 类型格式:type/subtype(;parameter)? type 主类型,任意的字符串,如text,如果是*号代表所有; subtype 子类型,任意的字符串,如html,如果是*号代表所有; parameter 可选,一些参数,如Accept请求头的q参数, Content-Type的 charset参数。 例如: Content-Type: text/html;charset:utf-8; 常见的媒体格式类型如下: text/html : HTML格式 text/plain :纯文本格式 text/xml : XML格式 image/gif :gif图片格式 image/jpeg :jpg图片格式 image/png:png图片格式 以application开头的媒体格式类型: application/xhtml+xml :XHTML格式 application/xml : XML数据格式 application/atom+xml :Atom XML聚合格式 application/json : JSON数据格式

【学习】014 深入理解Http协议

我的梦境 提交于 2019-12-28 09:02:51
Http协议入门 什么是http协议 http协议: 对浏览器客户端 和 服务器端 之间数据传输的格式规范 查看http协议的工具 1)使用火狐的firebug插件(右键->firebug->网络) 2)使用谷歌的“审查元素” http协议内容 请求(浏览器-》服务器) GET /day09/hello HTTP/1.1 Host: localhost:8080 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 响应(服务器-》浏览器) HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Length: 24 Date: Fri, 30 Jan 2015 01:54:57 GMT this is hello servlet!!! Http请求 GET /day09

http协议

时光怂恿深爱的人放手 提交于 2019-12-28 09:02:13
http协议的了解 主要特点 1、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 2、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 3.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 4.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 5、支持B/S及C/S模式。 HTTP工作原理 HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。 以下是 HTTP 请求/响应的步骤: 1、客户端连接到Web服务器 一个HTTP客户端,通常是浏览器

[转帖]从 HTTP 到 HTTPS 再到 HSTS

假装没事ソ 提交于 2019-12-28 08:03:28
从 HTTP 到 HTTPS 再到 HSTS https://linux.cn/article-8856-1.html 作者: 又拍云 | 2017-09-10 17:10 评论: 1 收藏: 5 近些年,随着域名劫持、信息泄漏等网络安全事件的频繁发生,网站安全也变得越来越重要,也促成了网络传输协议从 HTTP 到 HTTPS 再到 HSTS 的转变。 HTTP HTTP(超文本传输协议) 是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP 是互联网数据通信的基础。它是由万维网协会(W3C)和互联网工程任务组(IETF)进行协调制定了 HTTP 的标准,最终发布了一系列的 RFC,并且在1999年6月公布的 RFC 2616,定义了 HTTP 协议中现今广泛使用的一个版本——HTTP 1.1。 HTTP 访问过程 HTTP 属于 TCP/IP 模型中的应用层协议,当浏览器与服务器进行互相通信时,需要先建立TCP 连接,之后服务器才会接收浏览器的请求信息,当接收到信息之后,服务器返回相应的信息。最后浏览器接受对服务器的信息应答后,对这些数据进行解释执行。 http 1.0 请求模式 HTTP 1.0 时,浏览器每次访问都要单独建立连接,这会造成资源的浪费。 后来HTTP 1.1可以在一次连接中处理多个请求,并且将多个请求重叠进行: http 1.1 请求模式 HTTP