http请求与响应,tcp3次握手&四次挥手

Posted 黑马程序员官方

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http请求与响应,tcp3次握手&四次挥手相关的知识,希望对你有一定的参考价值。

文章目录


1. tcp的3次握手

  • 三次握手是TCP建立连接的时候发送的三个数据包

1、概念

2、简单描述通信过程

3、必须是3次,如果少于3次,会造成系统资源的浪费

2. tcp的4次挥手

  • 四次挥手,指的TCP断开连接的时候发送4个数据包,确保断开连接

    1、概念

    2、简单描述过程

    3、必须是4次 (新连接收到老的数据包)

    4、主动发起断开的一方,必须等待2MSL时间

3. IP地址和域名

  • ip地址
    • ip地址网络中计算机的唯一标识,点分10进制构成
    • ipv4和ipv6
  • 域名
    • Doman name
    • 因为网络通信需要使用ip地址,但是ip地址不容易记忆,所以才有了更好记忆的域名
    • 特殊域名:localhost

4. DNS及浏览器请求服务器的过程

  • 浏览器–输入网址–>本地DNS服务器查询ip–>远程DNS服务器–>建立TCP连接
  • 本地DNS服务器是一个文件
    • Windows C:\\Windows\\System32\\drivers\\etc\\hosts
    • Ubuntu /etc/hosts

5. HTTP协议概述

  • http 协议,超文本传输协议,主要用来发布和传输html页面(网页)

  • http协议2部分构成:

    • 请求协议
    • 响应协议

    协议由协议项来构成

    协议项:1)协议名 2)协议值

6. [重点]HTTP协议格式查看

  • 谷歌
    • 右键–>检查–>network–>刷新
    • 更多—》开发者工具
    • F12
  • 火狐
    • 右键–> 检查元素–》网络–》刷新

7. [重点]HTTP请求报文格式

  • 请求报文格式

    • 请求行

      请求方式 资源路径 协议及版本\\r\\n

    • 请求头

      协议项

      协议名: 协议值 \\r\\n

    • 请求空行

      请求空行的作用:分隔请求头和请求的主体

    • 请求主体

      浏览器要发送给服务端的内容

      get方式没有请求体,post方式才有请求体

8. [重点]HTTP响应报文格式

  • 响应协议

    • 响应行

      协议及版本 状态码 状态描述\\r\\n

      常见状态码:

      200 一切正常

      404 客户端请求的资源不存在

      302 重定向

    • 响应头

      协议项构成

      协议名 : 协议值\\r\\n

    • 响应空行

      分隔响应头和响应 主体

    • 响应主体

      服务器响应给客户端的数据

9. 长连接和短连接

  • 长连接

    一次连接,多次数据传输,通信结束关闭连接

    特点:

    要不连不上,一旦连接上,速度有保证,当瞬间访问压力比较大的时候,服务器不可用

  • 短连接

    一次连接,一次传输,就关闭

    特点:

    会频繁的建立和断开连接,当瞬间访问压力比较大的时候,服务器响应过慢

以上是关于http请求与响应,tcp3次握手&四次挥手的主要内容,如果未能解决你的问题,请参考以下文章

TCP三次握手和四次挥

经典面试题—在浏览器中输入URL之后发生了什么?

TCP协议(数据传输层)的连接过程三次握手四次挥别

IP封包协议头/TCP协议头/TCP3次握手/TCP4次挥手/UDP协议头/ICMP协议头/HTTP协议(请求报文和响应报文)/IP地址/子网掩码(划分子网)/路由概念/MAC封包格式

TCP为啥需要3次握手与4次挥手

模拟浏览器实现,服务端基础框架搭建