1.tcp头部结构
一个TCP报文段由首部和数据两部分组成。只有弄清楚TCP首部各字段的作用,才能够很好的掌握TCP的工作原理。
TCP首部的构成:
(1)源端口号和目的端口号;
(2)序号:它表示本报文段的第一个字节的序列号而不是报文段的序号;
(3)确认号:表示期望接收的对方的下一个报文段的第一个字节的序号,而不是指已经正确接收的报文段的最后一个字节的序号;
(4)首部长度:也称数据偏移,用于表示TCP首部的长度共有多少个4B。
(5)保留字段:预留,还没有使用,目前置0;
(6)控制域:包含6个不同的控制位或标志位,这些位主要用于流量的控制,连接的建立,以及数据的传送方式等。
(7)窗口大小:TCP的流量控制由连接的每一端通过声明的窗口大小来实现;
(8)校验和:校验范围包括首部和数据两个部分;
(9)紧急指针:只有当紧急标志置1时,该字段才有效;
(10)选项:长度可变,范围0~40B。
2.tcp,udp区别,共同点
(1)在TCP/IP网络中,端到端的进程之间通过套接字进行标识和控制;
(2)TCP/IP提供了两种端到端的通信机制。一种是UDP协议,另一种是TCP协议;
(3)UDP协议提供的是一种无连接服务,虽然不保证传输的可靠性,但却具有很高的效率;
(4)TCP协议提供的是基于连接的服务,它从确认到重传、流量控制和差错控制、拥塞控制和服务质量协商等多个方面确保了数据传输的高可靠性。
3.tcp为什么要3次握手,4次挥手,中间有哪些状态。
(1)3次握手是整个传输连接建立的过程
当要在端到端的进程之间传输数据时,需要事先建立连接,并在传输过程中,对连接进行必要的管理和维护,在数据传输完成后还要释放连接。
(2)4次挥手是整个传输连接释放的过程
传输连接的任何一方都可以提出释放连接的请求,但通常都是由客户进程首先提出。提出释放连接的请求后,还需要得到对方的应答和相互确认,才能真正的释放连接。
4.http请求头,响应头头部结构
HTTP协议采用了请求/响应模型。
客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。
服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实 体元信息以及可能的实体内容。
5.http状态码含义(HTTP Status Code)
HTTP状态码是用以表示网页服务器HTTP响应状态的3位数字代码。
6.http和https区别
HTTPS,是以安全为目标的HTTP通道,简单讲是HTTP的安全版。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
超文本传输协议 HTTP是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。
7.cookie和session区别
cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。
建议:
将登陆信息等重要信息存放为SESSION
其他信息如果需要保留,可以放在COOKIE中
8.http1.0和http1.1区别
在同一个tcp的连接中可以传送多个HTTP请求和响应.
多个请求和响应可以重叠,多个请求和响应可以同时进行.
更加多的请求头和响应头(比如HTTP1.0没有host的字段).
总之,在 HTTP/1.0 中,大多实现为每个请求/响应交换使用新的连接。在 HTTP/1.1 中,一个连接可用于一次或多次请求/响应交换,尽管连接可能由于各种原因被关闭.这是他们之间最大的分别。
//9.http方法有哪些,get和put有什么区别
10.访问一个网页的过程
(1)浏览器首先会查询本机的系统,获取主机名对应的IP地址。
(2)若本机查询不到相应的IP地址,则会发起DNS请求,获取主机名对应的IP地址。
(3)使用查询到的IP地址,直接访问目标服务器。
(4)浏览器发送HTTP请求。
HTTP请求由三部分组成,分别是:请求行、消息报头、请求正文
(5)从请求信息中获得客户机想访问的主机名。
(6)从请求信息中获取客户机想要访问的web应用。(web应用程序提供浏览器访问的程序,简称web应用)
(7)从请求信息中获取客户机要访问的web资源。(web资源,即各种文件,图片,视频,文本等)
(8)读取相应的主机下的web应用,web资源。
(9)用读取到的web资源数据,创建一个HTTP响应。
(10)服务器回送HTTP响应。
HTTP响应也是由三个部分组成,分别是:状态行、消息报头、响应正文
(11)客户浏览器解析回送的资源,并显示结果。
11.tcp拥塞控制
从本质上来讲,网络拥塞的出现是因为网络对资源的需求超过了资源所能承受的能力,即:对资源的需求总和>可用资源;
这里所说的资源主要包括:(1)带宽;(2)路由器或交换机的缓存空间;(3)结点的信息处理能力。
从原理上讲,寻找拥塞控制的方案无非是寻找使不等式不再成立的条件。或者是增加网络上某些可用的资源,或者减少用户对某些资源的需求,或者使资源的使用更加合理。