HTTP协议中的“报头”(header)和 “正文“ (body)详解
系列文章目录
Fiddler抓包:下载、安装及使用_crazy_xieyi的博客-CSDN博客
HTTP协议格式、URL格式及URL encode_crazy_xieyi的博客-CSDN博客
GET和POST有什么区别?_crazy_xieyi的博客-CSDN博客
文章目录
- 一、请求“报头”(header)详解
- 二、请求 "正文" (body)详解
- 三、响应 "报头" (header)详解
- 四、响应 "正文" (body)详解
一、请求“报头”(header)详解
header 的整体的格式也是 "键值对" 结构. 每个键值对占一行. 键和值之间使用 冒号+空格 分割。报头的种类有很多, 下面仅介绍几个常见的.
1. Host
例: Host: www.bilibili.com
描述了服务器主机的地址/端口号,其中地址可以是域名,也可以是IP,Host这里的内容是和首行中的URL中表示得服务器地址是基本是一样的
2.Content-Length
表示 body 中的数据长度,单位是字节。如果没有body(GET),此时也就可以没有Content-Length。
3.Content-Type
![](/assets/blank.gif)
application/json: 数据为 json 格式. body 格式形如:
![](/assets/blank.gif)
关于UA,随着浏览器的逐渐升级,面对更加丰富的前后端交互,不同浏览器所支持的功能不一样,那么程序员就会根据对方的浏览器不同,来决定返回一个对应的页面。
但是随着时间的推移,目前的浏览器都已经差别不大了,那么此时UA又有一个新的作用,那就是区别PC端和移动端,因为pc端和移动端的网页排版是不一样的。但是通过UA来区分是手机还是电脑,来返回不同板式的页面,这虽然是一种实现方式,但是这似乎对程序员不太友好,因为需要同时维护两个版本的代码。现在更加主流的实现方式是“响应式布局”,大概就是基于CSS3中的“媒体查询功能”,大概就是能够获取到当前页面的宽度,然后根据宽度来决定样式,从而达到一份代码可以适用于不同宽度的屏幕。
![](/assets/blank.gif)
注意:如果直接在浏览器中输入URL, 或者直接通过收藏夹访问页面时是没有 Referer 的.
Referer其实可以用到网站搜索广告的点击计费模式。
6.Cookie
Cookie 的值是一个字符串(程序员自己定义的),Cookie相当于浏览器这边进行本地存储的一种机制。
一般Cookie用来存储用户的登陆信息,比如用户名和密码。当你后续继续访问的时候,这个时候浏览器会自动的把保存的值给带上,往往可以通过这个字段实现 "身份标识" 的功能。
一下是大概就是登陆以及访问过程:
这里就会衍生一个问题,就是浏览器能不能把信息写到磁盘里面?答案是,绝对不能!!!
因为这样会有非常大的风险,如果有病毒,那么就直接入侵你的电脑了!因此Cookie就是解决这一问题的的一种机制,这也是浏览器提供的一种机制。
但是现在的浏览器,有更多的本地存储机制了,现在的网页也不完全依赖Cookie了。比如:
1. LocalStorage
HTML5开始引入的一个机制,浏览器支持 一种“键值对”方式来进行存储,通过JS提供了一组API来操作数据。
2. IndexDB
这是比较新的浏览器才支持的机制,浏览器内部集成了一个“数据库”,支持类似于sql的方式来进行操作数据。
二、请求 "正文" (body)详解
三、响应 "报头" (header)详解
四、响应 "正文" (body)详解
与请求正文格式基本一致,正文的具体格式取决于 Content-Type。
text/css:body 数据格式是 CSS
application/javascript:body 数据格式是 JavaScript
application/json:body 数据格式是 JSON
HTTP协议中的“报头”(header)和 “正文“ (body)详解相关推荐
- ftp服务器的端口20和21的具体作用,FTP协议中21端口和20端口的详解
FTP(File Transfer Protocol)文件传输协议,是 TCP/IP 协议组中的协议之一. FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端.其中FTP服务器用来存储 ...
- TCP协议---三次握手和四次挥手详解 (不看后悔系列)
目录 TCP协议简介 TCP报头 TCP工作原理 科来解码详解 wireshark解码详解 三次握手和四次挥手 数据包的大致结构 你不知道的三次握手 为什么需要有三次握手? 为啥只有三次握手才能确认双 ...
- python爬取图片-Python爬取网页中的图片(搜狗图片)详解
前言 最近几天,研究了一下一直很好奇的爬虫算法.这里写一下最近几天的点点心得.下面进入正文: 你可能需要的工作环境: Python 3.6官网下载 本地下载 我们这里以sogou作为爬取的对象. 首先 ...
- tensorflow 读取cifar_对tensorflow中cifar-10文档的Read操作详解
前言 在tensorflow的官方文档中得卷积神经网络一章,有一个使用cifar-10图片数据集的实验,搭建卷积神经网络倒不难,但是那个cifar10_input文件着实让我费了一番心思.配合着官方文 ...
- C#中WPF ListView绑定数据的实例详解
C#中WPF ListView绑定数据的实例详解 发布时间: 2019-03-09 19:29:46 来源: 互联网 作者: 晨曦888 栏目: C#教程 点击: 298 这篇文章主要介绍了C#中WP ...
- 【整理】串口(RS232/RS485等)通讯中RTS/CTS,DTR/DSR的含义详解
[整理]串口(RS232/RS485等)通讯中RTS/CTS,DTR/DSR的含义详解 RS232 crifan 7年前 (2013-10-17) 14942浏览 0评论 [背景] 之前就折腾过很多关 ...
- Java Web中的EL(表达式语言)详解
Java Web中的EL(表达式语言)详解 表达式语言(Expression Language)简称EL,它是JSP2.0中引入的一个新内容.通过EL可以简化在JSP开发中对对象的引用,从而规范页面 ...
- P2P 中的 NAT 穿越(打洞)方案详解
P2P 中的 NAT 穿越(打洞)方案详解 转载自 : P2P 中的 NAT 穿越(打洞)方案详解 内容概述 P2P 即点对点通信,或称为对等联网,与传统的服务器客户端模式(如下图"P2P ...
- oracle中的exists 和 not exists 用法详解
from:http://blog.sina.com.cn/s/blog_601d1ce30100cyrb.html oracle中的exists 和 not exists 用法详解 (2009-05- ...
最新文章
- 关于IOS获取本地通讯录信息(包含iOS9.0前后)
- Yoshua Bengio团队通过在网络「隐藏空间」中使用降噪器以提高深度神经网络的「鲁棒性」...
- Android中WIFI开发总结(一)
- 关于 ElesticSearch 安装
- 使用插件创建 .NET Core 应用程序
- chrome控制台如何把vw显示成px_【CSS】rem,em,px的区别和使用场景
- JS-原型-原型链-值和引用类型
- HTML+CSS+JS实现计算机功能
- Cisco ppp链路单双认证
- PowerDesigner16.5操作,从mysql反向生成ER图
- matlab创建wps服务器,wps云文档服务器架设(mac版wps云文档在哪)
- 递归函数python有什么特点_递的笔顺 笔画数:10 拼音:dì 部首:辶 - 智慧山
- java中bitconverter_BitConverter.GetBytes 方法以什么顺序返回字节数组
- 思科笔记-Four,ospf协议实现全网互通,spf算法,简短总结篇
- 国培 计算机远程培训心得,信息技术国培学习心得体会(2)
- c语言天数倒计时软件,c语言 日期倒计时 日期计算器
- ( 22美赛C题)基于投资最优交易策略的研究(部分内容)
- 关于'//![cdata['和 '//]]'解答
- 2020春季《形势与政策》各章节测试答案
- 安卓9.0系统出现 CLEARTEXT communication to XX not permitted by network security policy