Http协议详解

Http协议是一个很重要的概念。 我们打开一个网页这样的操作都是靠HTTP协议。
首先我们来认识认识什么是URL?
URL就是我们平常俗称的网址
在这里插入图片描述
ip地址不太方便记忆和传播,用一些更好记忆的字符串来表示,即域名。浏览器在访问域名的时候会自动把域名转成ip地址
路径表示主机上具体的资源(文件或者虚拟的文件)
查询字符串(query_string)中的键值对都是用户自定制协议的一部分
HTTP协议:超文本传输协议
HTTP请求(格式)
1.首行
(1)方法 GET/POST/PUT/DELETE/…
(2)url
(3)版本号 HTTP/1.1 HTTP/2.0 HTTP/3.0
这三个部分之间使用空格分割
2.协议头(header)
若干个键值对组成
每个键值对占一行。每个键和值用“:”分割
3.空行:表示header到这就结束了
4.协议正文
一般GET请求没有body,POST请求才有body

HTTP响应格式
1.首行
1)版本号
2)状态码
3)状态码描述信息
2.协议头(header)
仍然是一组键值对
每个键值对占一行。每个键和值用“:”分割
3.空行:header部分的结束标记
4.协议正文 (body)
响应中的正文格式也有很多种,可以是一个html,css,JavaScript,图片,json数据等等。
1.HTPP的方法:
GET:获取资源
POST:传输实体主体
PUT:传输文件
HEAD:获得报文首部
DELETE:删除文件
POPTIONGS:询问支持的方法
TRACE:追踪路径
CONNECT:要求用隧道协议连接代理
LINK:建立和资源之间的联系
UNLINE:断开连接关系
在前面所提到的Servlet就是建立在Http协议上的,因此GET和POST也是我们最长用的方法。
2.重点:GET和POST的区别?
GET请求往往把自定制数据放在query_string中
POST请求往往把自定制数据放在body中
3.常见的状态码有哪些?
1)200 OK表示访问成功
2)302 Found表示重定向(访问某一个地址,自动转移到另一个地址上)
3)404 Not Found表示没找到指定资源
4)403 Forbidden 没有权限
5) 502 Bad Gateway 服务器挂了
6)504 Gateway Timeout 服务器响应超时
2XX表示访问成功
3XX表示重定向
4XX表示客户端出错
5XX表示服务器出错
4.常见的header:
1)Content-Type:描述了body的数据格式类型
2)Content-Length:描述了body数据的长度
3)Host:描述了访问的主机名(域名/ip)
4)Referer:(相当于链表的前驱节点)显示是哪个页面跳转过来的
5)Cookie:字符串,浏览器的本地存储的能力之一
Cookie中经常会包含一种叫做”身份标识“的信息 session id
session:服务器端维护的数据结构,记录了用户的身份信息,session id就是session对象的唯一身份标识,
session id保存I浏览器中,浏览器后续再访问服务器的时候,就会自动带着session id,从而让服务器知道当前请求是那个用户法来的
注: 服务器端使用一个hash table之类的结构来维护若干个用户的信息,key就是session id,Value就是完整的session对象。
cookie是按照Host这个header来划分的
Https:基于Http实现,相比之下多了一层加密。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值