首页 > 软件 > 向一个url发送get请求,得到的一定是这个页面原码吗?

向一个url发送get请求,得到的一定是这个页面原码吗?

软件 2024-09-10

GET请求后301,返回location:原url 什么情况???

301 和302 是跳转状态码, 网站返回301和302的同时会返回一个新地址,在响应头的Location里面,浏览器接受到301和302后会自动跳转到新地址。 用爬虫爬取的时候可以参考Python爬虫 html = requests.get(url, headers=headers, allow_redirects=False) return html.headers['Location'] 输出响应头的Location能得到跳转地址 我这两天爬微信公众号遇到了同样的问题,现在有点眉目了。 原文:https://www.jianshu.com/p/5bfaeb39b6ff 希望对你有帮助

HTTP协议中请求方法Get和Post的区别是什么?

  原理区别:

在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交。

HTTP 定义了与服务器交互的不同方法,最常用的有4种,Put(增),Delete(删),Post(改),Get(查),即增删改查:

1)Get,
它用于获取信息,注意,他只是获取、查询数据,也就是说它不会修改服务器上的数据,从这点来讲,它是数据安全的,而稍后会提到的Post它是可以修改数据的,所以这也是两者差别之一了。

2)
Post,它是可以向服务器发送修改请求,从而修改服务器的,比方说,我们要在论坛上回贴、在博客上评论,这就要用到Post了,当然它也是可以仅仅获取数据的。

3)Delete 删除数据。可以通过Get/Post来实现。

4)Put,增加、放置数据,可以通过Get/Post来实现。

根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的 。

1.所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET请求一般不应产生副作用。就是说,仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。(注意:这里安全的含义仅仅是指是非修改信息。)

根据HTTP规范,POST表示可能修改变服务器上的资源的请求
。继续引用上面的例子:还是新闻以网站为例,读者对新闻发表自己的评论应该通过POST实现,因为在评论提交后站点的资源已经不同了,或者说资源被修改了。

  表现形式区别:

HTTP请求:在HTTP请求中,第一行必须是一个请求行(request
line),用来说明请求类型、要访问的资源以及使用的HTTP版本。紧接着是一个首部(header)小节,用来说明服务器要使用的附加信息。在首部之后是一个空行,再此之后可以添加任意的其他数据[称之为主体(body)]。

两种提交方式的区别:

(1)GET提交,请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,多个参数用&连接。如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:
%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。

POST提交:把提交的数据放置在是HTTP包的包体中。上文示例中红色字体标明的就是实际的传输数据

因此,GET提交的数据会在地址栏中显示出来,而POST提交,地址栏不会改变

(2)传输数据的大小:首先声明:HTTP协议没有对传输的数据大小进行限制,HTTP协议规范也没有对URL长度进行限制。

而在实际开发中存在的限制主要有:

GET:特定浏览器和服务器对URL长度有限制,例如IE对URL长度的限制是2083字节(2K+35)。对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。

因此对于GET提交时,传输数据就会受到URL长度的限制。

POST:由于不是通过URL传值,理论上数据不受限。但实际各个WEB服务器会规定对post提交数据大小进行限制,Apache、IIS6都有各自的配置。

怎样得到一个网页的源代码

看是静态网页还是动态网页,如果是静态网页的话(单纯的html)右键查看源文件一般就可以看到,但样式表和脚本如果是以link方式导入的话这部分代码你也无法得到;如果是动态网页(asp;jsp等),显示到浏览器的都是编译过的代码,这种类型的源码你是无法得到的。

HTTP协议中请求方法Get和Post的区别,从HTTP请求到服务端响应过程

1、HTTP请求概述 在前面有一篇文章对HTTP协议有详细的描述,这里就不再过多的做说明,只是简单的作为这篇文章的引子。 HTTP协议又被称为超文本传输协议,它的的设计目的是保证客户机与服务器之间的通信。HTTP 的工作方式是客户端与服务器之间的请求-应答协议。在客户端和服务器之间进行请求-响应时,有两个最基本的请求方式:GET 和 POST。 其中,GET请求表示从指定的资源请求数据,POST请求表示向指定的资源提交要被处理的数据。 2、HTTP请求格式 在HTTP请求中,首先是请求行,注意这里的请求行一定要放在最前面;其次,是请求头,英文表示为header;然后会空一行,紧接着就可以是请求

html中get和post的区别和使用

一、html中get和post的区别:

1、传递数据方式不同

Get 方法通过 URL 请求来传递用户的数据,将表单内各字段名称与其内容,以成对的字符串连接,置于 action 属性所指程序的 url 后,数据都会直接显示在 url 上,就像用户点击一个链接一样。

Post 方法通过 HTTP post 机制,将表单内各字段名称与其内容放置在 HTML 表头(header)内一起传送给服务器端交由 action 属性能所指的程序处理,该程序会通过标准输入(stdin)方式,将表单的数据读出并加以处理。

2、 处理效率不同

Get 方式需要使用 Request.QueryString 来取得变量的值。而 Post 方式通过 Request.Form 来访问提交的内容。Get 方式传输的数据量非常小,一般限制在 2 KB 左右,但是执行效率却比 Post 方法好。

而 Post 方式传递的数据量相对较大,它是等待服务器来读取数据,不过也有字节限制,这是为了避免对服务器用大量数据进行恶意攻击。

3、安全性不同

Get 方式提交数据,会带来安全问题,比如一个登陆页面,通过 Get 方式提交数据时,用户名和密码将出现在 URL 上,如果页面可以被缓存或者其他人可以访问客户这台机器,就可以从历史记录获得该用户的帐号和密码。

二、html中Get是最常用的方法:

通常用于请求服务器发送某个资源,而且应该是安全的和幂等的。

(1)、所谓安全是指该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改和增加数据,不会影响资源的状态。

注意:这里安全的含义仅仅是指是非修改信息。

(2)、幂等是指对同一个URL的多个请求应该返回同样的结果。

三、html中POST的使用方法:

POST方法向服务器提交数据,比如完成表单数据的提交,将数据提交给服务器处理。

扩展资料

HTML中GET和POST的误区:

POST可以比GET提交更多更长的数据:

1、由于使用GET方法提交数据时,数据会以&符号作为分隔符的形式,在URL后面添加需要提交的参数,有人会说,浏览器地址栏输入的参数是有限的,而POST不用再地址栏输入,所以POST就比GET可以提交更多的数据。

2、实际上,URL不存在参数上限的问题,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。IE对URL长度的限制是2083字节(2K+35)。

3、对于其他浏览器,如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。所以POST也是没有大小长度限制的,HTTP协议规范也没有进行大小限制。起限制作用的是服务器的处理能力。总归一句话,这个限制是针对所有HTTP请求的,与GET、POST没有多少关系。

参考资料来源:百度百科-HTML


标签:信息技术 编程语言 JavaScript 前端开发 互联网

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18