get请求和post请求

1.get请求:请求的数据会附加在url之后并且以?分隔url和传输的数据,多个参数之间用&连接
#get请求的例子:http://www.yundama.com/index/login?username=123456&password=uivhHvujjg&utype=1&vcode=gba
#post请求:把提交的数据放置在http包的包体中,并不会暴露出来
#因此,get请求提交的数据会在地址栏中显示出来,而post请求,地址栏中不会显示数据
2.安全性上面,post请求的安全性比get请求的高,通过get请求提交的数据,用户名和密码都将会以明文的方式出现在url之中,假如登录界面被浏览器缓存,那么其他人查看浏览器历史记录就可拿到你的账号密码。
3.传输数据的大小:首先要知道,http协议并没有对传输的数据大小进行限制,也没有对url的长度进行限制,对传输数据的大小的限制是在实际开发中自己定义出来的。
get:特定的服务器对url有限制,例如IE对url长度的限制是2048个字节,相对于其他的浏览器,比如火狐FireFox,Netscape等。理论上没有对长度进行限制,实际的限制取决于操作系统服务器的支持,因此对get请求提交数据时,传输的数据会受到url长度的限制。
post:由于post请求并不会在url后面拼接要传输的数据,理论上传输数据的大小是不受限制的,但是实际上各个服务器都会规定对于post请求提交数据的大小进行限制。


#客户端:简单的理解就是本地的计算机
#服务端(服务器):简单的理解就是远程的计算机
#客户端向服务器发起的是请求,服务器向客户端返回的响应

-----------------http/https/ssl-----------------
http:超文本传输协议,他是互联网上应用最为广泛的一种网络协议,当我们在浏览器的地址中输入一个URL或者单击一个链接的时候,URL就确定了要浏览的地址是什么,浏览器通过http/https,将服务器上的网页代码提取出来,并翻译成漂亮的网页。

ssl:安全套接层:主要是用于web的安全传输协议,在传输层对网络链接进行加密,保障互联网internet上的数据传输安全。

https:相当于是http的升级版,(http+ssl)


什么是URL?
#URL(统一资源占位符)也就是我们常说的地址,统一资源占位符是对可以从互联网上得到的资源位置和访问的一种简介表示,是互联网上标准资源的地址
#http://www.yundama.com/about.html
URL的组成部分:
#第一部分协议:(或者叫做服务方式http/https)
#第二部分是存有资源的主机IP地址(有时候也会包括端口号)
#第三部分是主机资源的具体地址,如目录或者文件名等。

#url的完整格式:
#1.协议(http/https/ftp…)
#2.服务区的IP地址或者域名
#3.服务器的端口(80,8080等等)
#4.访问资源的路径
#5.参数,发送给http服务器的数据

#端口:一台服务器ip地址的主机可以提供很多种服务,如web服务,ftp服务,smtp服务,那么主机是怎样区别这些服务呢?为了区别这些服务,于是便通过ip地址+端口号来区别不同的服务。

#常用的端口(必须会):
#http的端口号:80
#https的端口号:443
#邮箱的端口号:25(网易) 465(腾讯)
#数据库的端口号:3306
#微信的端口号:80
#mongodb的端口号:27017


----------------浏览器发送请求的过程---------------
①当用户在浏览器的地址栏当中输入一个url并且按下回车的时候,浏览器就会向http服务器发送http请求,并且获取到该url对应的html文件,服务器会把请求到的响应对象返回给浏览器。
②浏览器分析返回的响应对象中的html,一旦发现其中引用了很多的其他的文件,浏览器便会再次发送请求去获取图片,css文件或者js文件等。
③当所有的文件都下载成功之后,浏览器会根据html语法结构将网页完整的显示出来。


http有两类报文:请求报文和响应报文

---------------------请求报文----------------
#1.请求报文的组成结构:请求行+请求头+空行+请求数据
#请求行的组成:请求行由请求方法,URL字段和HTTP协议版本3个字段组成,这3个字段之间用空格分隔,例如:GET/index.html HTTP/1.1
#请求头:请求头由键值对组成,每一行一个键值对,请求头用来通知服务器关于客户端信息的。
‘’’
User-Agent:请求标识(浏览器标识) (用)
Host:请求的主机地址
Connection:客户端和服务器之间的连接状态
Accept:能识别的数据类型
Cookie:服务端给客户端返回的连接状态的标识 (用)

‘’’

#请求数据(请求体):客户端向服务器传递的一些数据

#---------------------响应报文----------------------
#响应报文的组成结构:状态行+响应头+空行+响应数据
#1.状态行:http版本-状态码-状态码解释短语 例如:http/1.1 302 Moved Temporaily
#响应头:响应头由键值对组成,每行一对,响应头包含着向客户端反馈的信息。

‘’’
Set-Cookie:服务器向客户端返回的一个随机字符串,标记着服务器和客户端之间的连接状态(用)
Content-Type:服务器返回的数据类型
Content-Length:服务器返回的数据长度
Server:服务类型
Expires:过期时间
‘’’
#3.响应数据(响应体):存放的服务器向客户端返回的数据

#常用的请求方法(至少说出5种,熟练掌握GET/post)
#1.get:请求指定的页面信息,并返回实体主体 (会)
#2.HEAD:类似于get请求,只不过返回的响应中没有具体内容,用于获取报头
#3.post:向指定资源提交数据进行处理,数据被包含在请求体中 (会)
#4,put:从客户端向服务器传输的数据指代指定的文档内容
#5.delete:请求服务器删除指定的页面
#6.trace:回显服务器收到的请求,主要用于测试或者诊断。

#常用的状态码:
#1.100-199:表示服务器成功接收部分请求,要求客户端继续提交其余的请求才能完成整个处理过程
#2.200-299:表示服务器成功接收请求并已经完成整个过程的处理,常用的状态码200(请求成功)
#3.300-399:为完成请求,客户端进一步细化请求。例如:请求的资源已经移动一个新的网址,常见的302(所请求的页面已经临时转移到新的地址)
#4.400-499:客户端的请求有错误,常见的404(服务器无法找到被请求的页面)403(服务器拒绝被访问)
#5.500-599:服务器出现错误,常见的500(请求未完成,服务器遇到不可预知的错误)

你可能感兴趣的:(基础,Python)