嵌入式学习日记 27

TCP包头:


1.序号:发送端发送数据包的编号
2.确认号:已经确认接收到的数据的编号(只有当ACK为1时,确认号才有用)

TCP为什么安全可靠:


1.在通信前建立三次握手连接
    SYN
    SYN+ACK 
    ACK 

2.在通信过程中通过序列号和确认号保障数据传输的完整性
    本次发送序列号:上次收到的确认号
    本次发送确认号:上次接收到的序列号 + 实际接收的数据长度

  在传输过程中使用滑动窗口实现流量控制

3.在通信结束时使用四次挥手结束连接保障数据传输的完整性

UDP和TCP的区别:
    1.UDP和TCP都是传输层的协议
    2.UDP实现机制简单、资源开销小、不安全不可靠
    3.TCP实现机制复杂、资源开销大、安全可靠
    4.UDP是无连接的、TCP有连接的、UDP是以数据包形式传输、TCP是以流的方式传输

URL:http://api.k780.com/?app=weather.today&weaid=西安&appkey=44923&sign=c9815919d111da6c2c9ca64a304f640b&format=json
    注意:
        appkey:换成自己的APPKey
        sign:换成自己的sign标识

HTTP:

1.URL


    <协议>://<主机>:<端口>/<路径>

    协议:HTTP       80         TCP 
          HTTPS     443         TCP 
    主机:  域名  ->  域名解析服务器 -> IP地址
    端口: 可以省略, HTTP 80
                    HTTPS 443
    路径: 想要获得对应的资源

2.HTTP交互过程:


    1.建立TCP连接
    2.发送HTTP请求报文
    3.回复HTTP相应报文
    4.关闭TCP连接

网站IP:103.205.5.249:80
    
请求报文格式:
GET /?app=weather.today&weaid=%E8%A5%BF%E5%AE%89&appkey=44923&sign=c9815919d111da6c2c9ca64a304f640b&format=json HTTP/1.1\r\n
Host: api.k780.com\r\n
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/113.0\r\n
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8\r\n
Accept-Language: en-US,en;q=0.5\r\n
Connection: keep-alive\r\n\r\n

响应报文格式:
HTTP/1.1 200 OK\r\n
Server: nginx\r\n
Date: Fri, 08 Mar 2024 06:33:44 GMT\r\n
Content-Type: application/json; charset=utf-8;\r\n
Transfer-Encoding: chunked\r\n
Connection: keep-alive\r\n
Access-Control-Allow-Origin: *\r\n
\r\n
{"success":"1","result":{"weaid":"316","days":"2024-03-08","week":".........","cityno":"xian","citynm":"......","cityid":"101110101","temperature":"13.../0...","temperature_curr":"12...","humidity":"29%","aqi":"65","weather":"............","weather_curr":"...","weather_icon":"http://api.k780.com/upload/weather/d/0.gif","weather_icon1":"","wind":"......","winp":"2...","temp_high":"13","temp_low":"0","temp_curr":"12","humi_high":"0","humi_low":"0","weatid":"1","weatid1":"","windid":"4","winpid":"2","weather_iconid":"0"}}\r\n


 

相关推荐

  1. 嵌入学习日记 27

    2024-03-14 03:56:03       20 阅读
  2. 嵌入学习日记 25

    2024-03-14 03:56:03       22 阅读
  3. 嵌入学习日记 18

    2024-03-14 03:56:03       24 阅读
  4. 嵌入学习day22 Linux

    2024-03-14 03:56:03       29 阅读
  5. 嵌入学习笔记day28

    2024-03-14 03:56:03       15 阅读
  6. 嵌入开发】29

    2024-03-14 03:56:03       29 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-14 03:56:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-14 03:56:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-14 03:56:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-14 03:56:03       20 阅读

热门阅读

  1. C后端开发,记录一个关于条件变量的死锁bug

    2024-03-14 03:56:03       20 阅读
  2. 动态导入图片

    2024-03-14 03:56:03       20 阅读
  3. 大模型prompt-文章生成

    2024-03-14 03:56:03       23 阅读
  4. LeetCode[题解] 2864. 最大二进制奇数

    2024-03-14 03:56:03       21 阅读
  5. 蓝桥杯:货物摆放

    2024-03-14 03:56:03       18 阅读
  6. 蓝桥杯冲刺_二分(正在补题)

    2024-03-14 03:56:03       20 阅读
  7. 程序员如何选择职业赛道?

    2024-03-14 03:56:03       17 阅读
  8. WebGL开发数字孪生系统

    2024-03-14 03:56:03       23 阅读
  9. CSS动画效果

    2024-03-14 03:56:03       20 阅读
  10. Web核心

    Web核心

    2024-03-14 03:56:03      22 阅读
  11. 《1w实盘and大盘基金预测 day2》

    2024-03-14 03:56:03       17 阅读
  12. 力扣45:跳跃游戏2

    2024-03-14 03:56:03       19 阅读