首行-请求行:请求方法,URL(URI),协议版本\r\n
请求方法;
GET:从服务端获取实体资源,请求没有正文,但是也可以提交数据,但是提交的数据没有在正文中而是在URL中
- get提交数据不安全 2.url 长度有限制
HEAD;功能与GET类似,但是不要正文实体
POST:向服务端提交数据,请求有正文,数据放在正文中
URL: 网址–统一资源定位符–用于定位网络中某个主机上的某个资源
组成:协议名称://用户名:密码@域名:端口/资源路径?查询字符串#片段标识符
域名:服务器别名—最终访问服务器需要经过域名解析得到服务器IP
/资源路径:这个路径是一个相对根目
查询字符串:提交给服务器的数据
片段标识符:用来标记网页内容的位置
由一个个KV形式键值对组成,键值对之间以&符号间隔
Urlencode:编码-用户请求的资源路径,或者查询字符串中存在特殊字符,则有可能与url中的特殊字符冲突
将特殊字符的每个字节转换为16进制数字字符并前缀% ±>%2b
Urldecode解码遇到%则认为紧随其后的两个字符进行了编码
将这两个字符转换为数字,第一个数字左移4位加上第二个数字
协议版本:0.9 ,1.0 1.1 2
0.9:最早期的版本,只支持GET方法,并且协议还没有当前的规范
只支持超文本数据传输
1.0 规范了http协议格式,并且新增支持 GET,HEAD,POST请求方法,支持各种多媒体资源传输,简单