简单HTTP协议
TCP/IP:
Transmission control protocol:传输控制协议
Internet protocol:网络连接协议
HTTP只是TCP/IP协议下的一个子内容。
TCP/IP 协议族按层次分别分为以下 4 层:应用层、传输层、网络层和数据链路层。
应用层:应用层决定了向用户提供应用服务时通信的活动。HTTP 协议也处于该层。
**传输层:**传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。
**网络层:(又名网络互联层)**网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方。
**数据链路层:(又名数据链路层,网络接口层)**用来处理连接网络的硬件部分
TCP/IP 协议族中的 IP 指的就是网际协议。
IP 协议的作用是把各种数据包传送给对方。而要保证确实传送到对方那里,则需要满足各类条件。其中两个重要的条件是 IP 地址和 MAC地址(Media Access Control Address)。
IP 地址指明了节点被分配到的地址,MAC 地址是指网卡所属的固定地址。IP 地址可以和 MAC 地址进行配对。IP 地址可变换,但 MAC地址基本上不会更改。
ARP 是一种用以解析地址的协议,根据通信方的 IP 地址就可以反查出对应的 MAC 地址。
TCP三次握手协议的目的:为了准确无误的将数据送达目标地。
a ---->b a说:b我要给你传东西了
b ---->a b说:好的,你传吧
a ----> a说:我传完了
DNS(Domain Name System)服务是和 HTTP 协议一样位于应用层的协议。它提供域名到 IP 地址之间的解析服务。
GET:获取资源
POST:传输实体主体
PUT:传输文件
HEAD:获得报文的首部(响应头)
DELETE:删除文件
OPTIONS:询问支持的方法,用来查询针对请求 URI 指定的资源支持的方法
TRACE:追踪路径,让 Web 服务器端将之前的请求通信环回给客户端的方
法
CONNECT:要求用隧道协议连接代理,在与代理服务器通信时建立隧道,实现用隧道协议进行 TCP 通信
持久连接
只要任意一端没有明确提出断开连接,则保持 TCP 连接状态。
GET/POST的区别?
-
GET在浏览器回退时是无害的,而POST会再次提交请求。
-
GET产生的URL地址可以被Bookmark,而POST不可以。
-
GET请求会被浏览器主动cache,而POST不会,除非手动设置。
-
GET请求只能进行url编码,而POST支持多种编码方式。
-
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
-
GET请求在URL中传送的参数是有长度限制的,而POST么有。
-
对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
-
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
-
GET参数通过URL传递,POST放在Request body中。
本标准答案来自于w3cschool