网络基础1_TCP和HTTP

TCP/IP 是互联网相关的各类协议族的总称,并且进行分层,分为应用层,传输层,网络层,数据链路层这四层协议,分层的好处,是便于后期的优化与改进,扩展性好
应用层:主要为客户提供应用服务,
                比如:FTP(File Transfer Protocol 文件传输协议),
                           DNS(Domain Name System 域名解析系统)
                           HTTP
传输层:主要是服务器之间数据的传输
                 比如:TCP(Transmission Control Protocol 传输控制协议)
                            UDP(User Data Protocol 用户数据协议)
网络层:处理在网络中的数据包,数据包是网络传输最小的数据单位,决定使用怎样的传输路线进行传输 可能中间设计多个计算机,要决定怎么进行传输,要怎样进行中转
              比如:IP(Internet Protocol)协议
链路层:数据链路层,网络接口层,主要用来连接网络的硬件部分,操作系统啊,网卡啊,光纤啊等
 
发送端在层与层之间传输数据时,每经过一层时必定会被打上一个该层所属的首部信息。反之,接收端在层与层传输数据时,每经过一层时会把对应的首部消去。这种把数据信息包装起来的做法称为封装(encapsulate)
IP协议:IP协议的作用就是保证数据包的传输,在进行传输的时候,依赖IP地址与MAC(Media Access Control Address)地址。
MAC地址:指的是网卡所属的固定地址,IP地址与MAC地址进行配对,一般MAC地址不会进行更换在进行网络中进行传输的时候,可能会涉及多台计算器和网络中转,在中转的时候会利用MAC地址进行转换下一个中转目标,使用的协议是ARP协议。
ARP协议:是进行解析地址的协议,可以通过IP找到对应的MAC。
这种利用ARP协议通过IP地址,进行解析到MAC地址,然后进行中转传输数据,最终跟对方服务器进行通信的机制,可以看成是路由选择。
 
 

 

 
TCP协议:TCP协议是位于传输层的协议,在进行数据的传输的时候,为了更好地发送数据,会将打的数据进行切割成小的数据包,数据包是以报文段为单位的,并有三次握手,进行保证传输的安全性,第一次会有SYN 标记,接收端会发送一个SYN+ACK的标记返回,然后客户端回传一个ACK标记的数据,在进行接收的时候又会对数据包进行重组
 
 对于HTTP请求方式有如下:
  Get:获取资源
  Post:传输实体
  Put:传输文件
  Head: 获取报文首部,不返回报文主体,用于确认URI的    有效期与资源更新的 日期
  Delete:删除文件
  Options:询问支持的方法
  Trace:追踪路径,请求经过了哪些操作
  Connect:与代理服务器进行连接点时候建立隧道,实现用隧道进行TCP通信
 
HTTP/1.0 和 HTTP/1.1 支持的方法:
 

HTTP对于服务端连接的问题与优化:

1,Http是无状态的,优点是:可以减少服务器的内存与CPU的开销
       解决方案:为了记住通讯,加上了cookie与Session
2,Http每一次通信都会创建于关闭TCP
       解决方案:    保持会话进行持久连接,keep-alive,只要任意一端没有提出断开,就继续保持连接
      :持久连接旨在建立 1 次 TCP 连接后进行多次请求和响应的交互
3,一次请求必须等待响应才能进行二次请求
      解决方案:在持久连接的接触上,可以实现管线化方式发送,可以不用等待响应,直接发送请求
 
 
 
                                                           
 
 
 
 
 
原文地址:https://www.cnblogs.com/gdhzdbh/p/10682523.html