HTTP协议
1. 什么是http协议?
http: 超文本传输协议,默认端口号是80。服务器和客户端进行数据交互的一种形式。
超文本:不仅限于文本,还包括图片,音频和视频等文件
传输协议: 是指使用服务器和客户端共同约定的固定格式来传递转换成字符串的超文本内容。
主要包括: URL, Request和Response
请求(Request)和响应(Response)
用户在浏览器里输入网址(URL),回车之后就会向目标网址发送一个HTTP请求,服务器收到请求之后就会做出一个响应,把内容通过浏览器渲染出来,呈现给用户看。
下图,就是请求响应的过程。
当我们输入网址,回车之后,浏览器就给Web服务器发送了一个Request请求,Web服务器收到Request之后进行处理,生成相应的Response,然后发送给浏览器,浏览器解析Resonse中的HTML,这样用户就看到网页了。
打开浏览器访问一个url,右键检查,点击network,选择一个url,查询http协议的形式。主要有请求头Request和响应头Response两部分。
1. 常用请求头信息
Host: 请求的主机信息
User-Agent(用户代理):客户端浏览器的信息,浏览器类型和版本
Referer: 从哪个页面过来的,检查请求是不是一个合法的请求,还可以用于防盗链(图片/视频)
Cookie: 保持会话,因为http是无状态的协议,保持用户的登录状态去发送请求,有时效性
2. 常用的响应头
Set-cookie: 对方服务器设置cookie到用户浏览器
3. 常见的响应状态码
200: 请求成功
301: 资源(网页等)被永久转移到其他URL
302: 跳转,新的url在响应的Location头中给出
500: 内部服务器错误
404 请求的资源(网页等)不存在
注意:所有的状态码不可信,以响应是否获取到数据为准。
4. http请求方法
GET:一般超链接标签是get请求,传参时地址栏中可以看到参数信息
例如: http://www.xxx.com?Name=admin
POST: 一般表单中的请求或部分Ajax请求是POST,地址栏中看不到传递的参数
get请求的参数名字是params,post请求的参数是data
5. Https协议:
HTTP+SSL(安全套接字层),即带有安全套接字层的超文本传输协议。默认端口443。SSL对传输的内容进行加密。
安全的传输协议,加密的http协议,基于证书加密。