码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • HTTP请求、响应详解


    目录

    一、HTTP请求详解

    1.1 认识请求“报头”(header)

    1.2 认识请求“正文”(body)

    1.2.1 application/x-www-form-urlencoded

    1.2.2  multipart/form-data

    1.2.3  application/json

    二、HTTP响应详解 

    2.1 认识状态码

    2.2 认识响应“报头”(header)

    2.3  认识响应“正文”(body)

    2.3.1 text/html

    2.3.2 text/css

    2.3.3 application/javascript

    2.3.4 application/json


    一、HTTP请求详解

    1.1 认识请求“报头”(header)

    header中的整体格式是“键值对”结构。每个键值对占一行,键和值之间使用分号分割。接下来就介绍几个常见的的报头种类。使用Fiddler抓取搜狗主页为例。

    • Host:表示服务器主机的地址和端口
    • Content-Length:表示body中的长度,GET方法一般没有这个参数(GET方法一般没有body)
    • Content-Type:表示请求的 body 中的数据格式。常见的有application/x-www-form-urlencodeed:form(表单提交)、application/json(以json格式提交)
    • User-Agent:表示浏览器/操作系统的属性
    • Referer:表示这个页面是从哪个页面跳转过来的
    • Cookie:Cookie 中存储了一个字符串,这个数据可能是客户端(网页)自行通过 JS 写入的,也可能来自于服务器(服务器在 HTTP 响应的 header 中通过 Set-Cookie 字段给浏览器返回数据)。往往可以通过这个字段实现 "身份标识" 的功能。

    1.2 认识请求“正文”(body)

    正文中的内容格式和 header 中的 Content-Type 密切相关。下面可以通过抓包来观察这几种情况

    1.2.1 application/x-www-form-urlencoded

    抓取码云上传头像的请求

    1.2.2  multipart/form-data

    1.2.3  application/json

    二、HTTP响应详解 

    2.1 认识状态码

    想要了解响应的具体情况就需要先认识状态码,状态码表示访问一个页面的结果。(是访问成功,还是失败,是其他的一些情况...)

    • 200 OK:这是一个最常见的状态码,表示访问成功
    • 404 Not Found:没有找到资源,这个可能是访问的路径出错
    • 403 Forbidden:表示访问被拒绝。有的页面通常需要用户具有一定的权限才能访问(登陆后才能访问)。 如果用户没有登陆直接访问,就容易见到 403
    • 405 Method Not Allowed:对方服务器不支持一些方法
    • 500 Internal Server Error:服务器出现内部错误。一般是服务器的代码执行过程中遇到了一些特殊情况(服务器异常崩溃)会产生这个状态码
    • 504 Gateway Timeout:当服务器负载比较大的时候, 服务器处理单条请求的时候消耗的时间就会很长,就会导致超时的情况。
    • 302 Move temporarily:临时重定向
    • 301 Moved Permanently:永久重定向。当浏览器收到这种响应时,后续的请求都会被自动改成新的地址

    状态码小结

    2.2 认识响应“报头”(header)

    响应报头的基本格式和请求报头的格式基本一致。类似于 Content-Type ,Content-Length 等属性的含义也和请求中的含义一致

    响应中的 Content-Type 常见取值有以下几种:

    • text/html : body 数据格式是 HTML
    • text/css : body 数据格式是 CSS
    • application/javascript : body 数据格式是 JavaScript
    • application/json : body 数据格式是 JSON

    2.3  认识响应“正文”(body)

    正文的具体格式取决于 Content-Type。观察上面几个抓包结果中的响应部分

    2.3.1 text/html

    2.3.2 text/css

    2.3.3 application/javascript

    2.3.4 application/json

  • 相关阅读:
    4.1 Windows驱动开发:内核中进程与句柄互转
    【JDK 8-函数式编程】4.3 Consumer
    大数据ClickHouse进阶(三):TTL深入了解
    nvm安装及使用(mac)
    js中super的使用
    【Vim】模式的切换、常用命令总结
    载顺铂/环丙沙星壳聚糖温敏性水凝胶/温敏性壳聚糖-谷胱甘肽水凝胶/载EPO和Aspirin壳聚糖水凝胶的研究制备方法
    R机器学习:特征工程与特征选择的介绍
    云安全之等级保护介绍
    申请400电话的详细步骤及操作指南
  • 原文地址:https://blog.csdn.net/x2656271356/article/details/133040800
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号