http协议详解
Url:目标地址:“协议”+“主机/域名加端口”
因为ip地址太难记所以记域名,->域名解析(输入域名找主机地址)
域名解析第一步:配DNS服务器地址,为了做域名解析,即把域名转换成IP(如果自己不配,默认运营商提供,所以有时候就有问题)
清缓存:ipconfig/flushdns
host文件(ip与域名的对应关系存放在这里):(前加#不生效)一般可以做域名劫持:例子:127.0.0.1 www.qq.com(在drivers下的hosts中)“即到错误的地址做身份认证”(域名不能变,IP地址可以变)
在公网中可以自己搭一个dns服务器,网上有源码,申请一个ip地址即可(可以做很多事,例如引流)
HyperText:超文本
HTTP协议传输的内容就是超文本(包含文字,图片,声音,视频等)(最常见的超文本格式是超文本标记语言HTML)
http协议(应用层协议(合同)):超文本传输协议,很像一个君子协议,即传输格式要一定
Soap协议:意思类似
http生命周期(防DDOS攻击:封IP,但是也很难防)
请求报文:请求头,首部字段,请求实体三部分组成
请求报文中的方法:常用get,post,head
(?后就叫查询字符串,即请求时传的参数)
*:发get请求(即请求报文中用get方法)时才会有查询字符串(URL地址?参数=参数值1&参数值2&~~),特点:查询参数放URL地址后面;输入超过256个字符就不用get了,会导致数据不完整;明文
*:登录时用post;post请求在实体主体里;相对get来说安全;
*:head不发数据,只获取头部,用来测试连通性
响应报文:格式相似,重点看状态码和短语
302:临时变化;401:没有认证;403:没有权限;看到500:对方服务器挂了;400:自己的问题
短语:服务器决定内容,不重要
请求头中重要参数:
user-agent(代理信息)还能用来跳过检测
Referer(来源地址);xff(ip地址);content-type等等这些常见字段
很多时候写代码就是为了改协议