0,什么是http协议
当tcp连接建立以后,由于tcp是面向字节流的,客户端可以向服务器发送字符串,发送结构体,只要服务器能按照约定
对客户端发送的数据正确的解析就是可以的,那么http就是一个现成的强大约定。
1,URL中的特殊字符如何处理?
URL中的 / ? 等字符已经有了特殊的含义,所以不适用它的特殊含义的时候必须进行转义。
如,空格的ascll码值是32,则进行urlencode转义后的编码是 %20,即%+ascll码值的十六进制数字。
2,URL格式
3
3,http协议的格式
1,请求报文
首行: 方法名+空格+URL+协议版本
head:
Content-Type :
数据的类型 (如text,html)等
Content-Length
Body的长度
User-Agent:
声明用户的操作系统和浏览器版本信息的标识
作用:1,对于服务器来说
1,可以统计所有IP地址User-Agent,拿到每个用户的浏览器类型,达到统计浏览器使用数量的作用。
2,分析不同的浏览器类型,提供最合适的服务,比如手机和电脑最好是设计各自的页面。
2,对于客户端来说
可以使用软件来伪装自己的User-Agent,达到访问特殊网页的目的。
Host :
客户端告诉服务器所请求的资源在那个主机的那个端口上。
Referer
当前页面是从那个页面跳转过来的
如 我从www.qq.com 点击百度的链接然后再百度的页面请求referer参数,就得到www.qq.com这个地址。
Location:
请求的资源被转移了,到该头部指定的位置访问,也就是客户端下一步去哪访问。
Connection:
表示本次完成响应后是否继续连接。
close表示完成后断开连接,keepalive表示完成后继续连接
keep-alive:
Keep-Alive: timeout=5, max=100
timeout=5表示这个TCP通道可以保持5秒
max=100,表示这个长连接最多接收100次请求就断开。
Cookie:
http请求是无状态的,相邻的两次访问并不会有记忆,cookie就是用来解决这个问题的。
Cookie的工作原理:
cookie不会将病毒带入计算机,因为cookie只是一个小小的文本文件 ,不是可执行程序。
cookie导致用户的信息被服务器获取,可能会被倒卖。 所以用户可以关闭cookie功能。
4,HTTP 方法
5,http的状态码
403 (禁止) 服务器拒绝请求。
404 (未找到) 服务器找不到请求的网页。
500 (服务器内部错误) 服务器遇到错误,无法完成请求。
6.http协议的特点
1,无连接:控制每次连接只进行一次响应。
2,无状态:每次响应之间没有记忆,所以需要cookie来记忆。
3,简单快捷:只需要发送方法和路径就能获取资源。
4,灵活:http协议可以传输任意类型的数据,只需要在content-type中声明就行了。