网络四大主要层次之应用层

应用层和应用程序有关(HTTP/HTTPS/SSH/FTP)

一、HTTP协议格式
请求
  1. 首行:以空格分割,由方法(get:获取资源/post:传输实体主体/delete/head/put/options/trace/connect/link/unlink)+URL+版本号构成HTTP/1.1

  2. 协议头(header)
    每一行都是一个键值对,键和值之间用冒号+空格分割,比如connection: keep-alive,每组属性用\n分隔

  3. 空行:header结束标记,空行后就是body部分

  4. body :
    body可能为空字符串,get一般为空,post一般不为空;键值对之间用&分割,键和值之间用=分隔,比如username=hgtz2222&password=222222222如果body存在, 则在Header中会有一个Content-Length属性来标识body的长度;

  5. 数据格式可能和query_string一样

响应
  1. 首行:版本号+状态码(标识这次请求是否失败以及原因)+状态码描述信息
  2. 协议头(header)
    每一行都是一个键值对,键和值之间用冒号+空格分割,比如connection: keep-alive,每组属性用\n分隔
  3. 空行:header结束标记
  4. body:正文,html结构;如果body存在, 则在Header中会有一个Content-Length属性来标识body的长度;
二、get和post的区别

get请求通常把数据通过query_string来传输,body为空
post请求通常把数据通过body来传输

三、常见状态码

1xx:信息性状态码
2xx:请求成功状态; 200(OK)
3xx:重定向;302(Redirect, 重定向)
4xx:客户端错误;404(Not Found), 403(Forbidden)
5xx:服务器错误;504(Bad Gateway)

四、常见的Header
  • Content-Type: 数据类型(text/html等)
  • Content-Length: Body的长度
  • Host: 客户端告知服务器, 所请求的资源是在哪个主机的哪个端口上;
  • User-Agent: 声明用户的操作系统和浏览器版本信息;
  • referer: 当前页面是从哪个页面跳转过来的;
  • location: 搭配3xx状态码使用, 告诉客户端接下来要去哪里访问;
  • Cookie: 浏览器存储数据的一种重要存储方式,用于在客户端存储少量信息.,具体内容由程序员自行决定,通常用于实现会话(session)的功能,一般包含了用户身份标识(session id)
五、Cookie和Session

Cookie是浏览器存放数据的一种方式(客户端的概念)
Session是服务器进行描述用户身份信息的方式(服务器的概念)
实现Session机制的过程中程序员自行实现,通常把session id放到cookie中保存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值