一. HTTP协议
- http协议分为两个部分:
- 其中请求方式又分为 GET 和 POST
请求头字段中:
- 第一行:请求方式 url 协议版本
- 实例:
- get /path?a=1&b=2 http1.1 这里是不带域名的url 即http协议源码格式 (在后面的host里说明了域名)
- host(主机):www.baidu.com
- Connection(链接方式):keep-alive 长链接
- user-Agent : 客户端 用来记录本身是什么浏览器的
响应头字段中:
- 响应头第一行:协议版本 状态码 message(信息)
- 以后也都是属性和值的字段
- 实例:
- Cache-Control:max-age = 86400 信息缓存保留的时间
二. IP地址
- Ip地址的格式
- Ip地址分为四个段,每一个段0~255,每一个段都是由8个0、1组成的
- Ip地址的分类:
- 一个Ip地址分为两个部分:网络Id,主机Id
- A类 0.0.0.0-127.255.255.255 (一个网络能有1600+万台)
- B类 128.0.0.0~191.255.255.255
- C类 192.0.0.0~223.255.255.255 (能容纳较少)
- D类 多播地址
- E类
- 在同一个网络内,IP地址不能重复
- 若是你想搭建一个服务器,让别人可以访问到,就必须有一个公网Ip
三. GET与Post请求的区别
- 要看是基于什么前提的,若什么前提都没有,不使用任何规范,只考虑语法和理论上的http协议,get和post几乎没有任何区别,只有名字不同而已
- 若是是基于RFC规范的
- 理论上的(specification) --- get和post是具备相同的语法的,可是有不一样的语义,get是用来获取数据的,post是用来发送数据的,其余方面没有区别
- 实现上的(implementation) --- 各类浏览器,就是这个规范的实现者
就是由于基于浏览器实现上的,因此有了各类不一样:
1)GET数据在URL上是可见的,post请求不显示在url上的
2)get请求对长度是有限制的,post长度是无限的
3)get请求的数据能够收藏为书签,post请求到的数据不可收藏为标签
4)get请求后,按后退按钮/刷新按钮无影响,post数据会被从新提交
5) get编码类型 : application/x-www-form-url,
post的编码类型:有不少种encodeapplication/x-www-form-urlencoded 或 multipart/form-data
6) get历史参数会被保留在浏览器里,post不会保存在浏览器中
7)get只容许ASCII post没有编码限制,容许发二进制的
8)get与post相比,get的安全性较差,由于所发的数据是URL的一部分
复制代码