这是我参与「第五届青训营 」伴学笔记创作活动的第7天
前言
在上学期的课程中,刚刚学完计算机网络,所以这次课的内容就实在是太熟悉了,但是对HTTP没有太多的介绍,http还是在学java的时候带的。ps:我们上课是自底向上的,从物理层到应用层,主要是TCP/IP的四层模型(五层是理论的)。
初识HTTP
输入url -> browser进程处理输入信息 -> 浏览器内核向服务器发起请求 -> 浏览器内核读取响应 -> 浏览器内核进行渲染 -> browser进程页面加载完成
这里我印象最深刻的就是老师一直在说的:上下层讲服务,对等层讲协议!
什么是HTTP:
- Hyper Text Transfer Protocol (HTTP)超文本传输协议
- 他是应用层协议,基于传输层的TCP协议
- 请求、响应
- 简单可扩展(可以自定义请求头,只要客户端服务端之间可以理解)
- 无状态
HTTP的东西就那么多,还是比较好理解的,报文头,报文体。
协议分析
发展历程
报文结构
HTTP/1.1
这里呢其实就是了解一下就可以了,最重要,或者说常用的就两个:get/post
状态码
这个要记住,会经常看到,遇到了要知道是什么意思,才能进行相应的处理
常见的有:
- 200 OK - 客户端请求成功
- 301 - 资源(网页等)被永久转移到了其它URL
- 302 - 临时跳转
- 401 - Unauthorized - 请求未经授权
- 404 - 请求资源不存在,可能是输入了错误的URL
- 500 - 服务器内部发生了不可预期的错误
- 504 Gateway Timeout - 网关或者代理的服务器无法在规定的时间内获得想要的响应
RESTful API
一种API设计风格:REST - Representational State Transfer
- 每一个URI代表—种资源
- 客户端和服务器之间,传递这种资源的某种表现层
- 客户端通过HTTP method,对服务器端资源进行操作,实现"表现层状态转化"。