http协议的特性
http协议是建立在TCP/IP协议之上的应用层协议,默认的端口是80/8080 http协议的特点是无状态\无连接 无连接不是长连接在有数据请求的时候发生连接当数据返回后就断开连接
http请求get传参时
http请求传参时,参数中如果存在“?!=()#%&”这些特殊符号时,请求会出现错误 我们可以通过Javascript的escape(函数处理)
var str =“#123”
var url'http:
http分为两种get和post
url的可见性
get参数可见 post参数不可见
数据传输上
get通过拼接url进行传递参数 post请求通过body体传参
缓存性
get请求是可以缓存的 post是不可以缓存的
后退页面的反应
get请求页面后退时,不产生影响 post请求页面后退时,会重新提交请求
传输数据的大小
get一般传输的数据大小不超过2k~4k(根据浏览器不同,限制也不一样,但是差距不大) post请求传输数据的大小根据php.ini配置文件设定,也可以无限大。
安全性
这个也是最不好分析的,原则上post要比get安全,毕竟传输url时参数不可见,但也挡不住部分人闲不住的没事抓包玩儿。安全性来说应该差别不大。要是对get的传递参数进行加密,其实安全性差不多是一样的。
本质区别
get产生一个tcp数据包;post产生两个数据包。 对于get请求方式,浏览器会把http headr 和data一并的发送出去,服务器响应200(返回数据) 而对于post,浏览器先发送header,服务器响应100continue,浏览器在发送data,服务器响应200 ok(返回数据)200代表请求成功
http响应包括响应行,状态码,状态消息
响应行包括:协议版本,状态码状态消息 状态码:403没有权限,404请求的页面没找到 响应头 content-Type:text/html内容类型,告知浏览器接下来的响应主体数据是很么 Contet-Length:响应主题数据长度 Date:响应的时间,GMT时间
响应主体
主要的响应数据,在浏览器的主体区域显示的数据都是响应主体 主义,每行,包括响应行和响应头,都需要\r\n结尾
https
简介与原理 http协议是明文传输因此很容易被截取和解析泄露个人数据,https是在http和tcp之间多加了一层,进行身份验证和数据加密。 加密算法等
|