http协议基础知识
一、http协议简介
1、http协议概述
http协议全称超文本传输协议(HyperText Transfer Protoco),是基于tcp协议的一个应用层协议。主要是定义客户端和服务器端之间交换数据的过程。
2、http协议版本
1、版本1.0 :一次请求结束断开连接
2、版本1.1:一次请教结束之后暂时不断开,下次请求复用连接,如果超过规定时间就会断开链接
3、http协议请求的基本原则
1、请求响应模型:有请求才有响应,先请求后响应。
2、一次请求一次响应,之后才会断开链接。
3、请求只能由客户端主动发出,服务器端被动响应。
二、http协议工作过程(得到的数据必须是一次请求一次响应的共同数据)
1、Http标头信息(主要分为三部分)
1、第一部分
1、请求路径 url统一资源定位符
2、请求方式 get或者post
3、状态码
2、第二部分
1、若干请求头部信息
Accept: text/html */* 浏览器可以接受的数据类型 所有数据类型
Accept-Encoding: gzip, deflate 浏览器可以接受的压缩方式
Accept-Language: zh-CN 浏览器可以识别的语言
Connection: Keep-Alive 浏览器的版本信息因为连接断开后是保持连接状态所以判定该浏览器是1.1版本
Host: localhost:8080 本次请求的主机名称 端口号
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063
浏览器的具体信息与操作系统的判断
Cache-Control: no-cache 控制是否显示缓存的请求头
Content-Type: application/x-www-form-urlencoded 表单的请求类型
Referer: http://localhost:8080/postLogin.html 防盗链,使用Referer 取到从哪里过来的界面,判断是否是我自己的官网--引导到我的主界面
2、get请求方式特征:(http://localhost:8080/ ?username=zhangsan&password=123)
对于get请求,请求参数放到地址栏后边
对于get请求,请求不安全(请求参数明文传输)
对于get请求,请求参数的大小在1kb之内(有的浏览器请求大小在2k之内)
对于get请求,请求的正文没有任何东西
3、post请求方式特征:(http://localhost:8080)
对于post请求,请求参数写在请求正文中 username=lisi&password=123
对于post请求,请求安全
请求参数大小没有限制
4、Http响应状态码
200 请求成功
404 请求资源不存在(一般是访问路径错误)
500 服务器错误(一般是自己写的代码错误)
302 请求重定向
304/307 使用了缓存 静态web资源
3、第三部分请求体信息