网络协议

网络协议

q前端学习路线:

前端学习路线 (gitee.io)

【干货】前端学习路线分享!写了个网站帮助你学习前端!_哔哩哔哩_bilibili

http协议

http基本知识

HTTP(HyperText Transfer Protocol)超文本传输协议

超文本:文本指图片,视频,压缩包等,超文本指文字,图片,视频等的混合体最关键有超链接,能从一个超文本跳转到另一个超文本。HTML就是最常见的超文本。

HTTP常见状态码:

  • 1xx:提示信息,协议处理的中间状态,实际使用少
  • 2xx:表示服务器成功处理了客户端的请求
  • 3xx:表示客户端的请求资源发生了变动,需要客户端用新的URL从新发送请求获取资源,重定向。
  • 4xx:表示客户端请求的报文有错误,错误码。
  • 5xx:表示客户端请求报文正确,但是服务器处理内部发生了错误,属于服务端的错误码。

http报文

请求报文

  • Host:客户端发送请求时,用来指定服务器的域名
  • Content-Length:服务器返回数据时候,表名回应的数据长度
  • Connection:常用于客户端要求服务器使用TCP持久连接,一边其他请求复用
  • Content-Type:用于服务器回应时候,告诉客户端,本次数据是什么格式
  • Content_Encoding:表示服务器返回的数据使用了什么压缩格式

响应报文

请求方法:

序号 方法 描述
1 GET 请求指定页面讯息,并返回
2 HEAD 类似get,不过返回的响应中没有具体的内容,用于获取报头
3 POST 向指定资源提交数据进行处理请求(提交表单或者上传文件),数据被包含在请求体中.
4 PUT 从客户端想服务器传送的数据取代指定的文档内容
5 DELETE 请求服务器删除指定的页面
6 CONNECT
7 OPTIONS 允许客户端查看服务器的性能
8 TRACE 回显服务器收到的请求,用于测试或者判断

GET和POST都是安全等幂吗

安全指请求方法会破坏服务器上的资源

幂等指多次执行相等的操作,结果都是相同的

  • 那么很明显 GET 方法就是安全且幂等的,因为它是「只读」操作,无论操作多少次,服务器上的数据都是安全的,且每次的结果都是相同的。
  • POST 因为是「新增或提交数据」的操作,会修改服务器上的资源,所以是不安全的,且多次提交数据就会创建多个资源,所以不是幂等的。