您的位置:首页 > 理论基础 > 计算机网络

http协议相关知识-网络基础

2018-03-30 16:37 579 查看

网络基础:

一、计算机和网络设备通信必须有相同的方法,比如有谁发出信息,什么语言,怎么接收等等,所有这些都必须要有一定的规则。这种规则我们成为协议。协议中包括电缆规格到ip地址的选定方法,寻找异地用户的方法,双方建立通信的顺序等等,统称为TCP/IP协议族。
二、TCP/IP协议族里重要的一点就是分层,一般分为四层:应用层,传输层,网络层和数据链路层。应用层包括我们经常用到的FTP(数据传输协议,项目上线以后的更新迭代),DNS(域名解析系统),http协议也属于此。传输层提供处于网络连接中两台计算机之间的数据传输,包括TCP(传输控制协议)和UDP(用户数据报协议)。网络层用来处理网络上网络上流动的数据包,数据包是网络传输的最小数据单位,该层规定了通过怎样的路径(传输路线)到达对方的计算机,并把数据包传给对方。链路层就是用来处理连接网络的硬件部分。
三、发送端每通过一层就增加一层的头部,应用层 http报文→传输层(tcp首部)http报文→网络层(IP首部(tcp首部))http报文→链路层(以太网首部(IP首部(tcp首部)))http报文;接收端正好相反,从链路层到应用层每经过一层就删除一层首部。
四、与http密切相关的IP,DNS和TCP协议。IP是处于网络层的协议,作用是把各种数据包传送给对方,要保证确实传送给了对方,需要满足各类条件,其中两个重要条件是IP地址和MAC地址,IP地址指明了节点被分配到的地址,MAC地址是网卡所属的固定地址,IP地址可以和MAC地址进行匹配。IP地址可变,MAC地址基本上不会变化。IP间的通信依赖MAC地址,通信双方一般不会再同一局域网内,必须通过多台计算机和网络设备中转才能找到对方。中转时,会利用下一站MAC地址来搜索下一个中转目标。这时会采用ARP一种解析地址的协议,根据通信方的IP地址就可以反查出对应的MAC地址。TCP协议处于传输层,提供字节流服务。为了方便传输,将大块数据分割成以报文段为单位的数据包进行管理,而且能够可靠地传输给对方。TCP把数据传过去之后,会通过三次握手(三次握手:第一次客户端向服务端发送SYN(同步序列编号)包到服务器,进入send状态。第二次服务器端收到以后确认客户端的SYN,然后回传一个SYN/ACK包,进入recv状态,客户端收到服务端发送的SYN+ACK包,向服务器发送一个确认包ACK,此时进入客户端与服务器端连接状态,握手完成)向对方确认是否送达,如果没有,TCP协议会再次以相同的顺序发送相同的数据包。断开tcp连接的四次挥手(第一次挥手:客户端发送一个FIN,用来关闭数据传送,客户端进入FIN_WAIT_1状态;第二次挥手服务器接收FIN之后,发送一个ACK给客户端,确认序号为收到序号+1,服务器端进入CLOSE_WAIT状态,第三次挥手服务器发送一个FIN,用来关闭服务端到客户端的数据传送,服务端进入LAST_ACK状态,第四次挥手 客户端收到FIN之后,客户端进入TIME_WIAT状态,接着发送一个ACK到服务端,确认序号为收到序号+1,服务端进入CLOSED状态,完成四次挥手)。 DNS服务是应用层的域名解析系统,提供域名到IP之间的解析服务。
五、http与其他协议之间的关系:客户端(搜索www.baidu.com),通过DNS解析(www.baidu.com对应的ip地址是20x.192.1.168)然后http协议的职责是生成针对目标web服务器的http请求报文(请给我www.baidu.com的页面资源),TCP协议的职责是为了方便通信,把http请求报文按序号分割成一个个报文段,然后可靠地传给对方。IP协议的职责是搜索对方地址,一边中转一边传送。服务器端通过TCP协议将报文段按原来顺序重组,然后通过http协议对web服务器请求的内容进行处理,原来是想要(www.baidu.com对应的ip地址是20x.192.1.168)这个ip地址的服务器上的资源。请求处理结果同样以TCP/IP协议进行回传。
六、URI(统一资源标识符),URL(统一资源定位符)。URI是用字符串标识的某一互联网资源,是由某个协议方案表示的资源定位标识符,URL是表示资源的地点,URL是URI的子集。绝对URI的格式:协议+(登录信息)+服务器地址(域名)+端口号+带层次的文件路径+(查询字符串)+(片段标识符)
七、请求报文是由 请求方法(GET、POST等),请求URI(资源地址路径),协议版本、可选的请求首部字段、内容实体。,服务器接收到请求报文,会将请求内容的处理结果以响应报文形式发送回去。  响应报文是由:协议版本、状态码(200,300,400,500)、用以解释状态码的原因短语、可选的响应首部字段以及响应实体主体构成。 http 是一种不保存状态的无状态协议,其自身不会对请求和响应之间的通信进行保存,做持久化处理。这是为了处理大量事务,保证协议收缩性而设计的。现在为了实现保存状态的功能,引入了cookie技术。http协议通过使用URI定位互联网上的资源,
八、告知服务器意图的HTTP方法:GET(用来请求访问已被URI识别的资源,指定资源经服务器解析后返回响应内容;如果请求的是文本,就保持原样返回,如果请求的像CGI通用网关接口那样的程序,返回的是执行后的处理结果)。POST (主要用来传输实体的主体。POST的主要内容不是获取响应的主体内容,而是传输实体)。PUT(用来传输文件,就像FTP文件上传,要求在请求报文主体中包含文件内容,然后保存请求的URI指定位置,但由于PUT方法不带验证机制,谁都可以上传,所以一般不用。除非架构设计采用REST标准或采用web应用程序验证机制)。HEAD(和GET方法一样只是不返回报文主体部分,用于确认URI的有效性和资源更新的日期时间等。),DELETE(删除文件,与PUT方法相反。)
九、向请求URI指定资源发送请求报文时,成为方法的命令。包括GET、POST、HEAD、PUT、HEAD等。
十、持久性连接。http初始版本每进行一次http通信就断开一次tcp连接,http/1.1版本采用持久连接办法(keep-alive),只要任何一方没有明确提出断开连接,就保持tcp连接状态。管线化:并发发送多个请求。
十一、cookie。http无状态协议在会让服务端管理全部客户状态时成为负担,因此引进了cookie。在请求和响应报文中写入cookie信息来控制客户端状态。cookie会根据从服务器发送的响应报文内的一个叫做set-cookie的首部字段信息,通知客户端保存cookie。当下次客户端再往服务器发送请求时,客户端会自动在请求报文中加上cookie值。服务器发现客户端发送过来的cookie后,会检查究竟是从哪个客户端发送来的,然后对比服务器上的记录,最后得到之前的状态信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: