HTTP 请求和响应 (计算机网络)

计算机网络

  1. 链路层

    • MAC (Media Access Control Address) 媒体访问控制地址,局域网地址 (LAN Address)

      LAN(Local Area Network)

    • ARP (Address Resolution Protocol) 地址解析协议

      根据 IP 地址获取物理地址的一个 TCP/IP 协议,主机发送信息时将包含目标 IP 地址的 ARP 请求广播道网络上的所有主机,并接收返回消息,以此确定目标的物理地址

    • RARP (Reverse Address Resolution Protocol) 反向地址转换协议,允许局域网的物理机器从网关服务器的 ARP 表或者缓存上请求其 IP 地址

  2. 网络层

    • IP 协议 (Internet Protocol) 网际协议
    • ICMP 协议 (Internet Control Message Protocol) Internet 控制报文协议
    • IGMP 协议 (Internet Group Management Protocol) Internet 组管理协议
  3. 传输层

    • TCP (Transmission Control Protocol) 传输控制协议,一种面向连接的、可靠的、基于字节流的传输层通信协议
    • UDP (User Datagram Protocol) 用户数据报协议,一种无连接的传输层协议
  4. 应用层

    • HTTP (Hyper Text Transfer Protocol) 超文本传输协议,Internet 应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准

      80 端口

    • HTTPS (Hyper Text Transfer Protocol Secure) 超文本传输安全协议

      443 端口

    • FTP (File Transfer Protocol) 文件传输协议,是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式

      21 端口

    • SSH (Secure Shell) 安全外壳协议,为远程登录会话和其他网络服务提供安全性的协议

      22 端口

    • POP3 (Post Office Protocol - Version 3) 邮局协议版本 3,主要用于支持使用客户端远程管理在服务器上的电子邮件

      110 端口

    • DNS (Domain Name System) 域名系统,是互联网的一项服务,它作为将域名和 IP 地址映射的一个分布式数据库,能够使人更方便地访问互联网

      OSI(Open System Interconnection)开放系统互联 模型 五层

      应用层 设备: 网关 应用层
      表示层 设备: 网关 传输层
      会话层 设备: 网关 网络层
      传输层 设备: 网关 数据链路层
      网络层 设备: 路由器 物理层
      数据链路层 设备: 交换机 网卡 网桥
      物理层 设备: 集线器 中继器 电缆 发送器 接收器
  5. 小技巧 (ICMP)

    1. ping www.baidu.com (ping -t www.baidu.com 一直发送)
    2. tracert命令用来跟踪从本机到目的地址所经过的路由 tracert www.baidu.com3
    3. talnet www.baidu.com 80 查看端口是否可用
  6. Http 和 Https 的区别

    1. HTTP的URL以http://开头,而HTTPS的URL以https://开头
    2. HTTP标准端口是80,而HTTPS的标准端口是443
    3. 在OSI网络模型中,HTTP工作于应用层,而HTTPS的安全传输机制 工作在传输层
    4. HTTP无法加密,HTTPS对传输的数据进行加密
    5. HTTP无需证书,而HTTPS需要CA(Certificate Authority)证书颁发机构wosign(沃通)的颁发的SSL证书
  7. HTTP 详解

    1. HTTP协议是无状态的,对于事务处理没有记以能力,可以使用Cookie来解决无状态问题

    2. HTTP请求报文包含四部分

      • 请求行:包含请求方法,URL,HTTP协议及版本
      • 请求头:客户端的信息
      • 空行
      • 请求体:客户端发送的数据
        在这里插入图片描述
    3. 请求头属性

      • Accept: 告诉服务器,客户端接收什么类型的响应

      • Cookie: 传递到服务器

        获取请求所关联的HttpSession,其内部的机理是通过读取请求报文头中Cookie属性的JSESSIONID的值,在服务端的一个会话Map中,根据这个JSESSIONID获取对应的HttpSession的对象。

      • Referer: 表示这个请求时从哪个URL过来的,防盗链时用得到

      • Cache-Control: 对缓存进行控制,比如一个请求希望响应返回的内容在客户端缓存一年,或者不缓存,Cache-Control: no-cache,表示不缓存

      • Accept-Encoding: 指定浏览器可以支持的web服务器返回的内容压缩编码类型

      • Accept-Language: 浏览器支持的语言

      • Connection: 表示是否需要持久连接

      • Host: 指定请求的服务器的域名和端口

      • User-Agent: 用户代理: 简称UA,内容包含发出请求的用户信息,使得服务器能识别客户端使用的操作系统及版本、浏览器及版本等等

      • 在POST提交时请求头参数携带 Content-Type: application/x-www-form-urlencoded; charset=UTF-8
        在这里插入图片描述

    4. HTTP响应报文包含三部分

      • 状态行:HTTP协议版本,响应状态代码,状态代码文本描述
      • 消息报头
      • 响应正文
        在这里插入图片描述
    5. 响应状态码

      • 1xx 消息,一般是告诉客户端,请求已经收到了,正在处理,别急…

      • 2xx 处理成功,一般表示:请求收悉、我明白你要的、请求已受理、已经处理完成等信息.

      • 3xx 重定向到其它地方。它让客户端再发起一个请求以完成整个处理。

      • 4xx 处理发生错误,责任在客户端,如客户端的请求一个不存在的资源,客户端未被授权,禁止访问等。

      • 5xx 处理发生错误,责任在服务端,如服务端抛出异常,路由出错,HTTP版本不支持等。

      • 200 OK:客户端请求成功。

      • 400 Bad Request:客户端请求有语法错误,不能被服务器所理解。

      • 401 Unauthorized:请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用。

      • 403 Forbidden:服务器收到请求,但是拒绝提供服务。

      • 404 Not Found:请求资源不存在,举个例子:输入了错误的URL。

      • 500 Internal Server Error:服务器发生不可预期的错误。

      • 503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常,举个例子:HTTP/1.1 200 OK(CRLF)

      • 303 See Other

        我把你redirect到其它的页面,目标的URL通过响应报文头的Location告诉你

      • 304 Not Modified

        告诉客户端,你请求的这个资源至你上次取得后,并没有更改,你直接用你本地的缓存吧,我很忙哦,你能不能少来烦我啊!

    6. HTTP响应报文头属性

      • Content-Length: 返回数据内容长度
      • Content-Type: application/json 服务器返回数据类型
      • Cache-Control: max-age=3600 响应输出到客户端,服务器通过此属性告诉客户端如何控制响应内容的缓存
      • Location: http://www.baidu.com 重定向要重新发起的请求地址
      • Set-Cookie: 服务器设置客户端的Cookie
发布了92 篇原创文章 · 获赞 23 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/assiduous_me/article/details/91351973