http协议

认识URL

平时我们俗称的“网址”其实就是说的URL
在这里插入图片描述
带层次的文件路径:决定了网络服务器的哪一个资源文件
查询字符串:query_string(键值对)

HTTP协议格式

通过使用fiddler抓包工具来认识HTTP协议格式。
请求

  1. 首行(使用空格分割)
    a.方法(GET获取含义/POST发送/PUT/DELETE/HEAD)
    b.URL
    c.http版本号.HTTP/1.1(当前最常见的版本号)最新3.0
  2. 头部信息(header)
    包含了若干行,请求的属性,每组属性之间用\n分隔
    每行是一个键值对,键和值之间用“:”分割
  3. 空行
    表示header的结束
  4. 请求体(body)
    空行后面的内容是body
    body是可选的,可以有可以没有
    一般来说GET请求不带body,POST/PUT请求带body
    如果body存在,则Header中会有一个Content-Length属性来表示body的长度

响应

  1. 首行 版本号+状态码+状态码解释
    a.版本号
    b.状态码(200)
    c.状态码的描述信息(ok)
  2. header
    有若干行,每行是一个header(键值对)
    键和值之间用“:”分割
  3. 空行
    表示header结束
  4. body
    空行之后的内容就是body,如果body存在,则在Header中会有一个Content-Length属性来标识body的长度,如果服务器返回了一个html页面,那么html页面内容就是在body中。

HTTP常见方法

  • GET 获取资源
  • POST 传输实体主体
  • PUT 传输文件
  • HEAD 获取报文首部
  • DELETE 删除文件
  • OPTIONS 询问支持的方法
  • TRACE 追踪路径
  • CONNECT 要求用隧道建立连接代理
  • LINK 建立和资源的练习
  • UNLINE 断开连接关系

GET和POST的区别
GET往往把参数放到query_string中 query_string 长度没有限制
POST往往把参数放到body中

HTTP的状态码

  • 1XX 信息性状态码 接收的请求正在处理
  • 2XX 成功状态码 请求正常处理完毕
  • 3XX 重定向状态码 需要请求附加操作以完成请求
  • 4XX 客户端错误状态码 服务器无法处理请求
  • 5XX 服务器错误状态码 服务器处理请求出错

200 ok 访问成功
302 Found 重定向 3打头重定向 303 See Other 重定向Location 字段表示重定向那个url上
403 Forbidden 用户没有权限
404 Not Found 没有找到指定资源(没有找到服务器上的文件)
502 Bad Gateway 服务器挂了
504 Gateway Timeout 服务器响应超时
418彩蛋

HTTP常见的Header

  • Content-Type:描述了body部分数据格式是什么类型(text/HTML) 取决了body尾的数据类型!!
  • Host:服务器的域名
  • Content-Length:描述了body部分的长度
  • User-Agent:描述浏览器信息与操作系统信息,像手机端看到的页面并不是服务器根据UA来吐的一个单独比较窄的页面而是完全靠前端的技术来实现的(响应编程)
  • Refere:当前页面的上一个页面。这个可以改,安全性。 https加密,考虑安全性问题。
  • Cookie:是一个保持在浏览器端的字符串,字符串含义是由程序员内部约定的,外部的用户一般是看不懂含义的。cookie中最常见的内容是用户的身份信息。当我们登录账号时,服务器就会返回一个身份信息字符串,浏览器保持在cookie中。(有一点时效性)

HTTPS

http协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一敏感信息,比如信用卡号,密码等。
为了解决这以缺陷,使用另一种协议HTTPS安全套接字层超文本传输协议。为了数据的安全,在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

区别:

  1. https需要申请ca证书。
  2. http是超文本传输协议,是明文传输,https是具有安全性的ssl加密传输协议。
  3. http和https使用的是完全不同的连接方式,用的端口号也不一样,前者是80,后者是443.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值