登山则情满于山,观海则意溢于海。这篇文章主要讲述八股文--反射http学习相关的知识,希望能为你提供帮助。
1、什么是反射机制先了解两个概念:编译期和运行期。
编译期就是把源码交给编译器,编译成计算机可以执行文件的过程,只是把代码当成文本进行操作。
运行期是把编译后的文件交给计算机执行,知道程序运行节水,把磁盘中代码放到内存里
反射就是在运行期对于任意一个类都可以获取它的属性和方法,对于任意一个对象,都可以调用它的属性和方法,这种动态获取信息以及动态调用对象方法和属性的功能就是反射机制。
?
一、URI结构1.协议部分
该??URL?
?的协议部分为??http:?
?,表示网页用的是??HTTP?
?协议,后面的??//?
?为分隔符
2.域名部分
域名是??www.fishbay.cn?
?,发送请求时,需要向??DNS?
?服务器解析??IP?
?。如果为了优化请求,可以直接用??IP?
?作为域名部分使用
3.端口部分
域名后面的??80?
?表示端口,和域名之间用??:?
?分隔,端口不是一个??URL?
?的必须的部分。如果端口是??80?
?,也可以省略不写
4.虚拟目录部分
从域名的第一个??/?
?开始到最后一个??/?
?为止,是虚拟目录的部分。其中,虚拟目录也不是??URL?
?必须的部分,本例中的虚拟目录是??/mix/?
?
5.文件名部分
从域名最后一个??/?
?开始到????
?为止,是文件名部分;如果没有????
?,则是从域名最后一个??/?
?开始到??#?
?为止,是文件名部分;如果没有????
?和??#?
?,那么就从域名的最后一个??/?
?从开始到结束,都是文件名部分。本例中的文件名是??76.html?
?,文件名也不是一个??URL?
?的必须部分,如果没有文件名,则使用默认文件名
6.锚部分
从??#?
?开始到最后,都是锚部分。本部分的锚部分是??first?
?,锚也不是一个??URL?
?必须的部分
7.参数部分
从????
?开始到??#?
?为止之间的部分是参数部分,又称为搜索部分、查询部分。本例中的参数是??name=kelvin&
password=123456?
?,如果有多个参数,各个参数之间用??&
?
?作为分隔符。
二、RequestHTTP的请求包括:请求行(request line)、请求头部(header)、空行 和 请求数据 四个部分组成。
文章图片
Http请求消息结构
1.请求行
?
?GET?
?为请求类型,??/mix/76.html?name=kelvin&
password=123456?
?为要访问的资源,??HTTP/1.1?
?是协议版本2.请求头部
从第二行起为请求头部,?
?Host?
?指出请求的目的地(主机域名);??User-Agent?
?是客户端的信息,它是检测浏览器类型的重要信息,由浏览器定义,并且在每个请求中自动发送。3.空行
请求头后面必须有一个空行
4.请求数据
请求的数据也叫请求体,可以添加任意的其它数据。这个例子的请求体为空。
Response一般情况下,服务器收到客户端的请求后,就会有一个?
?HTTP?
?的响应消息,HTTP响应也由??4?
?部分组成,分别是:状态行、响应头、空行 和 响应体。文章图片
http响应消息格式
1.状态行
【八股文--反射http学习】状态行由协议版本号、状态码、状态消息组成
2.响应头
响应头是客户端可以使用的一些信息,如:?
?Date?
?(生成响应的日期)、??Content-Type?
?(MIME类型及编码格式)、??Connection?
?(默认是长连接)等等3.空行
响应头和响应体之间必须有一个空行
4.响应体
响应正文,本例中是键值对信息
推荐阅读
- 基于P2P的互联网内容加速
- 语音变音调和加速减速
- [Linux] 警察与劫匪案例
- 免交互登录远程服务器执行命令--sshpass
- linux之realpath命令
- Centos8 部署Harbor仓库
- 算法(动态规划(更新中))
- 使用 du -h --max-depth=1 逐个目录清点占用磁盘存储空间
- K8s对pod进行网络抓包