HTTP(一)—— HTTP协议简介

HTTP协议简介

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。

http://www.meteormall.top:80/ 这是一个URL地址,其中:

  • http是协议(schema),浏览器默认的就是http协议。
  • www.meteormall.top:80是域名,80是http协议默认端口号,可以省略。
  • / 资源路径,表示是服务器端根路径下的资源。

HTTP协议是请求响应式协议,一次请求跟一次响应构成了一次HTTP事务。

HTTP协议是无状态的,任何两次请求之间都没有依赖关系。

协议分层

要在网络上传输,必须依赖网络的基础设施。在计算机网络中,对协议进行了分层,不同的协议完成不同的功能:

  • 应用层(HTTP协议)
  • 传输层(TCP协议)
    • TCP是保证通讯数据有序可靠的协议
    • 端口号:默认的Http协议的端口号是80
  • 网络层,为了完成网络定位
    • IP:92.184.216.34
    • 域名:baidu.com
    • DNS服务器(域名解析服务器)完成域名到ip的解析
  • 数据链路层和物理层

如果ip地址是一个大商场,那么端口号可以比作是商场内某个商店的门牌号。

Created with Raphaël 2.1.2 浏览器 浏览器 DNS服务器 DNS服务器 服务器 服务器 1. www.meteormall.top的IP是什么 2. IP是121.196.193.60 3. 向121.196.193.60:80建立TCP连接 www.meteormall.top 121.196.193.60 4. TCP连接建立成功 5. HTTP请求,把www.meteormall.top的页面给我 6. HTTP响应,这是www.meteormall.top的页面

7.浏览器渲染并展示HTML

HTTP请求报文

HTTP请求报文包括:请求行、请求头和请求体。

请求行

GET / HTTP/1.1

  • GET是请求方法。常见的请求方法:GET,POST ,PUT
  • / 是资源路径
  • HTTP/1.1 是协议版本号
    • HTTP 0.9/1.0,现在都不用了
    • HTTP 2
  • \r\n表示一行的结束。
请求头
  • key:value 形式
  • Host:www.example.com
    • host头,表示请求的域名或主机名是什么
  • Connection:keep-alive
    • connection头,是HTTP/1.1增加的,keep-alive的目的是请求结束后不断掉请求 ,用这个连接继续发多个请求。即,一个连接可以发多个请求
  • User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36
    • 表示发起请求的应用程序是什么,浏览器也是个应用程序,而发起HTTP请求的时候,并不一定是浏览器,任何应用程序都可以发送HTTP请求,只要按照同样的格式发起就行了。请求发出者,据此可以做一些兼容性以及定制化需求。服务器可以根据发起请求的浏览器类型(手机还是PC等),返回不同的定制化的需求。如手机的屏幕比较小,返回的版本和PC的版本可能是不一样的。
  • 更多请求头,可以参阅相关RFC文档
请求报文格式总结
  • 请求行
    • 请求方法
    • 资源路径
    • 协议版本号
  • 请求头
    • Host
    • Connection
    • User-Agent
  • 请求体

HTTP响应报文

HTTP响应报文包括:状态行、响应头和响应体。

状态行

Http /1.1 200 Ok

  • HTTP/1.1是协议版本
  • 200是状态码
  • OK 原因
  • \r\n表示一行的结束。
常见的状态码
  • 200 OK(以2开头的都是成功的)
  • 304 Not Modified(与重定向和缓存相关的)
  • 404 Not Found(请求出错了,服务端找不到这个资源) 也可能被服务器藏起来了
  • 500 Internal Server Error(服务器端在请求时出错了 服务器端内部错误) 一般开发是写代码有错误时这个错误
响应头
  • 格式:key:valeu \r\n 键值对的格式
  • Server:Web服务器
  • content-Type:内容类型,HTML,音频,视频,图片..
  • content-length:内容长度。为了在一条连接上发多个请求 找到每个请求的边界
响应体
  • 分隔符:空行 \r\n
    • 响应头和响应体之间通过同行隔开
  • 响应体可以是文本或二进制
  • 一般情况下,响应体大小由响应头中Content-Length头指定
响应报文格式总结
  • 状态行
    • 协议版本
    • 状态码
    • 原因短语
  • 响应头
    • Content-Type
    • Content-Length
    • Server
  • 响应体
    • 可以是二进制或文本,与响应头通过空行分割
    • 长度一般由Content-Length头指定

chrome 下按F12->Network可以查看HTTP请求响应的信息。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ethernet/IP协议是一种基于以太网和TCP/IP技术的工业以太网协议。它是以太网协议和IP协议的上层协议,同时也是应用层协议的下层协议。以太网协议规定了电子信号如何组成数据包,解决了子网内部的点对点通信。而Ethernet/IP协议是CIP网络的一部分,CIP是Ethernet/IP、DeviceNet和ControlNet三种网络都使用的构成部分。这三种协议共享相同的应用层和应用对象库和设备描述。因此,Ethernet/IP协议是一种同时保证实时通讯与Internet协议并存的协议。它的物理层和数据链路层使用以太网协议,网络层和传输层使用TCP/IP协议族中的协议,应用层使用CIP和TCP/IP协议。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [五分钟读懂TCP 协议——TCP协议简介](https://blog.csdn.net/Ningdaxing1994/article/details/73076795)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [EtherNet/IP 协议结构](https://blog.csdn.net/weixin_43304436/article/details/130777146)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值