HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。
记住它是:浏览器和服务器之间的数据传输规则。就行了
那它具体的规则是是什么呢?就是你发送请求时要按照一定规则发送,我服务器才能读懂,这就是所谓的数据格式。响应也是一样
Http请求数据格式
1.请求行:get/post表示请求方式,后面接请求资源路径,再接Http的版本
2.请求头:key -value格式,Host就是服务器地址,其实自己搜一搜前面的单词是什么意思就行了
3.请求体 :get方式没有,post方式才有,存放请求参数
Http响应数据格式
对照一下请求数据格式就行了,都差不多
1.响应行:Http的版本,加状态码,
200就是成功,404就是找不到资源(可能你网址输错了,或者是那个网址已经嘎了),500就是服务器出错了(快去检查你的代码!!!)
4开头的状态码,就是客户端有问题,5开头就是服务器端有问题
2.响应头:key -value格式,
3.响应体 :存放响应参数
Accept:告诉浏览器,它所支持的数据类型
Accept-Encoding:支持哪种编码格式 GBK UTF-8 GB2312 ISO8859-1
Accept-Language:告诉浏览器,它的语言环境
Cache-Control:缓存控制
Connection:告诉浏览器,请求完成是断开还是保持连接
HOST:主机..../.
Refresh:告诉客户端,多久刷新一次;
Location:让网页重新定位;
请求方式get和post的区别:
get:
-
请求参数在请求行中,用?号和URL区别开,所以所带的参数有限,显示在浏览器的地址栏中。
-
GET请求网址http://localhost:8080/FirstWeb/test?userName=Jack&age=20
特点:因为参数放在地址栏里,所以大小或者叫长度有限制,不安全,但高效
URL就是网址啦
post:
-
请求参数放在请求体中,可以传输比较大的请求参数,例如图片、视频等,
-
请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效。