HTTP协议(一)
HTTP协议
⭐HTTP协议在应用层中,应用场景是:网站开发
平时我们可以使用抓包工具——fiddler
链接:Web Debugging Proxy Tool | Fiddler Classic
HTTP请求
1、首行
方法、url、版本号
2、请求头
诺干键值对
3、空行
遇到空行,请求头就会结束
4、正文
载荷部分
HTTP响应
1、首行
版本号、状态码、状态码描述
2、响应头
诺干键值对
3、空行
遇到空行,响应头结束
4、正文
载荷部分
URL
唯一资源定位符
(URI 唯一资源标识符)
查询字符串:是客户端给服务器传递信息的重要途经。
urlencode
带有特殊符合、文字的要通过urlencode进行编码转换格式。
方法
标准文档下
GET:获取数据,通常没有正文
POST:给服务器传输数据,通常有正文
GET和POST的区别?
1、get和post在本质上没有区别,取决于代码怎么写的。
2、get习惯于把数据写到url的query string中
post习惯于把数据写到正文中
3、语义上,get语义是获取数据,post语义是给服务器传输数据
4、幂等上,get建议实现成幂等的,post则没有
5、get请求是可以被浏览器收藏夹收藏的,post请求不可以
认识请求‘报头’
1、HOST
表示服务器主机的地址和端口
2、Content-length
表示正文的数据长度
3、Content-Type
表示正文的数据格式
最频繁的三种格式:
(1) application/json json表单
(2) application/x-www-form-ruiencode from表单
(3) multipart/from-data
4、User-Agent(UA)
操作系统的信息、浏览器的信息
5、Referer
描述页面从哪里来的
6、Cookie
浏览器本地持久化存储数据的机制。
存在硬盘里,键值对结构。
Cookie哪里来?
服务器返回给浏览器的
Cookie存什么?
键值对格式数据
Cookie用途?
用来在客户端保存数据
⭐最主要的是保存用户的身份标识