前端工程师打交道最多的就是浏览器,不管做什么都离不开浏览器,其中HTTP协议往往会被我们忽略,但其实资源缓存、CDN加载、页面性能优化等等都离不开对HTTP协议的了解。
HTTP也叫作超文本传输协议,全称:Hyper Transfer Protocol。最初HTTP只能传输HTML文件,慢慢的现在可以传输文字、图像、视频和各种流文件。
HTTP是无状态的:同一个客户端,连续发起多次请求,对HTTP服务器来说,都是新的请求,HTTP没办法知道来自一个客户端。
HTTP消息结构:要看具体消息结构需要用抓包工具,所以这边只有简单介绍,没有具体实例。Request和response的消息结构基本一样。
Header:分为request/response line和request/response header。
request/response line:包括请求的方法Method(GET/POST)、请求资源的路径path to resource和http协议的版本号。
request/response header:这边就是各种请求头了。
Body:响应体,一般是HTML文件。如果是get请求,是没有响应体的。
HTTP请求方法:
GET 请求获取Request-URI所标识的资源
POST 在Request-URI所标识的资源后附加新的数据
HEAD 请求获取由Request-URI所标识的资源的响应消息报头
PUT 请求服务器存储一个资源,并用Request-URI作为其标识
DELETE 请求服务器删除Request-URI所标识的资源
TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT 保留将来使用
OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求
对于我们来说,常用的就是GET、和POST。再次声明,不用表单提交,get不存在跟post比较有安全性问题。
HTTP状态码:
1XX 提示信息 - 表示请求已被成功接收,继续处理。
2XX 成功 - 表示请求已被成功接收,理解,接受
3XX 重定向 - 要完成请求必须进行更进一步的处理
4XX 客户端错误 - 请求有语法错误或请求无法实现
5XX 服务器端错误 - 服务器未能实现合法的请求
状态码很多,可以自行了解,我觉得有几个是必须知道的。
HTTP通信过程:根据URL查询DNS、查找服务器、建立TCP连接、发送请求、服务器响应。
对于HTTP,我觉得基础的要知道HTTP是无状态的、HTTP的消息结构、基本请求方法、基本状态码这四部分。
HTTP协议需要学习的还很多很多,这只是基本需要知道的。
欢迎关注Coding个人笔记 公众号
前端工程师打交道最多的就是浏览器,不管做什么都离不开浏览器,其中HTTP协议往往会被我们忽略,但其实资源缓存、CDN加载、页面性能优化等等都离不开对HTTP协议的了解。
HTTP也叫作超文本传输协议,全称:Hyper Transfer Protocol。最初HTTP只能传输HTML文件,慢慢的现在可以传输文字、图像、视频和各种流文件。
HTTP是无状态的:同一个客户端,连续发起多次请求,对HTTP服务器来说,都是新的请求,HTTP没办法知道来自一个客户端。
HTTP消息结构:要看具体消息结构需要用抓包工具,所以这边只有简单介绍,没有具体实例。Request和response的消息结构基本一样。
Header:分为request/response line和request/response header。
request/response line:包括请求的方法Method(GET/POST)、请求资源的路径path to resource和http协议的版本号。
request/response header:这边就是各种请求头了。
Body:响应体,一般是HTML文件。如果是get请求,是没有响应体的。
HTTP请求方法:
GET 请求获取Request-URI所标识的资源
POST 在Request-URI所标识的资源后附加新的数据
HEAD 请求获取由Request-URI所标识的资源的响应消息报头
PUT 请求服务器存储一个资源,并用Request-URI作为其标识
DELETE 请求服务器删除Request-URI所标识的资源
TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT 保留将来使用
OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求
对于我们来说,常用的就是GET、和POST。再次声明,不用表单提交,get不存在跟post比较有安全性问题。
HTTP状态码:
1XX 提示信息 - 表示请求已被成功接收,继续处理。
2XX 成功 - 表示请求已被成功接收,理解,接受
3XX 重定向 - 要完成请求必须进行更进一步的处理
4XX 客户端错误 - 请求有语法错误或请求无法实现
5XX 服务器端错误 - 服务器未能实现合法的请求
状态码很多,可以自行了解,我觉得有几个是必须知道的。
HTTP通信过程:根据URL查询DNS、查找服务器、建立TCP连接、发送请求、服务器响应。
对于HTTP,我觉得基础的要知道HTTP是无状态的、HTTP的消息结构、基本请求方法、基本状态码这四部分。
HTTP协议需要学习的还很多很多,这只是基本需要知道的。
【推荐课程:HTTP视频课程】
以上是前端开发紧密相关的HTTP协议知识的详细内容。更多信息请关注PHP中文网其他相关文章!