一丶什么是HTTP协议:
HTTP协议是hypertexttransferprotocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器服务器之间交换数据的过程,客户端连上web服务器后,若想获得web服务器中的某个资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通讯的格式。
二丶HTTP协议的版本有以下两种:
HTTP协议版本:HTTP/1.0 、HTTP/1.1
三丶HTTP/1.0和1.1的区别
在HTTP1.0协议中,客户端与web服务器建立连接后,只能获得一个web资源。
在HTTP1.1协议中,允许客户端与web服务器建立连接后,在一个连接上获取多个web资源。
四丶HTTP协议请求:
1:HTTP协议请求由三部分组成,(请求行,消息报头,请求正文)
2:请求行:
请求行以一个方法符号开头,以空格分开,后面跟着请求的URL和协议的版本。
格式如下:
Method Request-URL HTTP-Version CRLF
Method:表示请求方法。
Request-URL:是一个统一资源标识符。
HTTP-Version:标识请求的HTTP协议版本。
CRLF:表示回车和换行(除了作为结尾的CRLF外,不允许出现单独的CR或LF字符。)
五丶请求方法:(Ps:所有请求方法均大写)
GET: 请求获取Request-URL获取标识符的资源。
POST:在Request-URL获取标识的资源后添加新的数据。
HEAD:请求获取由Request-URL所标识的资源的响应消息报头。
PUT:请求服务器存储一个资源,并用Request-URL作为标识。
DELETE:请求服务器删除,Request-URL所标识的资源。
TRACE:请求服务器回送收到的请求消息,主要用于测试或诊断。
CONNECT:把服务器作为跳板,让服务器代替用户去访问其它网页,之后把数据原原本本的返回给用户。(Ps:这个方法需要使用TCP直接去连接的,所以不适合在网页开发中使用,不过网页开发中也用不到它。)
OPTIONS:请求查询服务器的性能,或者查询与资源相关的选项和需求。
TCP/IP是一个大集合,所以统称TCP/IP协议。
TCP/IP分为四个层,每一层分一个职责,那个层除了问题直接维护那个层即可。
四层分为:
1:链路层
2:网络层
3:传输层
4:应用层
链路层的职责:
用来处理连接网络的硬件部分,包括控制操作系统硬件的设备驱动,NIC(Network.Interface.Card,网络适配器,既网卡)光纤等网络可见部分(还包括连接器等一切传输媒介),硬件上的范畴均在链路层的作用范围之内。
网络层的职责:
网络层用来处理在网络上流动的数据包,数据包是网络传输的最小单元,该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方,与对方计算机之间通过多台计算机或网络设备进行传输时,网络层所起的作用就是在众多的选项内选择一条传输路线。
传输层的职责:
TCP(Transmission Control Protocol 传输控制协议)
UDP(User Data Protaol 用户数据协议)
应用层的职责:
FTP(File Transfer Protocol 文件传输协议)
DNS(Domain Name System 域名系统Http协议)
TCP/IP通信数据流:(PS:下图)
HTTP关系密切的协议:IP、TCP和DNS
IP协议:
(Internet Protocol)这里的IP不是指的我们通常所说的:192.168.1.1,这个IP指的是一种协议,而后边的数字值是IP地址。
TCP协议:
如果说IP协议是我们找到对方的详细地址,那么TCP协议就是把安全的东西带给对方,各有分工,互不冲突。
DNS:
DNS(Domain names System)和HTTP协议一样处于应用层的服务,提供域名到IP之间的解析服务。
各种协议的作用:
HTTP协议职责:
生成针对目标,Web服务器的HTTP请求报文。
TCP协议职责:
为了方便通信,将HTTP请求报文分割成报文段,按序号分多个报文段,把每个报文段可靠的传给对方。
IP协议的职责:
搜索对方的地址,一边中转,一边发送。