计算机网络:应用层(HTTP协议)

2023-11-17

统一资源定位符(URL):

1.URL的格式

统一资源定位符URL是对可以从因特网得到的资源的位置和访问方法的一种简洁的表示。URL给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位。只要能够对资源定位,系统就可以对资源进行各种操作,如存取、更新、替换和查找其属性。

URL相当于一个文件名在网络范围的扩展。因为URL是于因特网相连的机器上的任何可访问对象的一个指针。由以冒号隔开的两大部分组成,并且在URL中的字符对大写或小写没有要求。URL的一般形式是:

 

HTTP协议:

操作流程:为了使超文本的链接能够高效率地完成,需要用HTTP协议来传送一切必须的信息。从层次角度看,HTTP是面向事务的应用层协议,它是万维网上能够可靠地交换文件(包括文件、声音、图像等多媒体文件)的重要基础。

访问一个网页的流程:

1.浏览器分析超链接指向页面的URL

2.浏览器向DNS请求解析:www.tsinghua.edu.cn的IP地址

3.域名系统DNS解析出清华大学服务器的IP地址

4.浏览器与服务器建立TCP连接

5.浏览器发出取文件命令:GET/chn/yxsz/index.htm

6.服务器给出响应,把文件index.htm发给浏览器

7.TCP连接释放

8.浏览器显示“清华大学院系设置”文件index.htm中的所有文本

 

代理服务器的一点相关知识:

 

HTTP的报文结构:

HTTP有两类报文:请求报文----从客户向服务器发送请求报文。 响应报文----从服务器到客户的回答。

由于HTTP是面向正文的,因此在报文中的每一个字段都是一些ASCII码串,因而每个字段的长度都是不确定的。

报头由三个部分组成,即开始行、首部行和实体主体。在请求报文中,开始行就是请求行。

 

 

响应报文的开始行就是状态行。状态行包括三项内容,即HTTP的版本,状态码,以及解释状态码的简单短语。

 

在服务器上存放用户的信息:

万维网站点可以使用Cookie来跟踪用户。Cookie原意是“小甜饼”,在这里Cookie表示在HTTP服务器和客户之间传递的状态信息。我们在登录邮箱的时候,不管查看收件箱还是垃圾箱,都是在一个账号下;在游戏里,登录了一个账号,不管是打怪还是买装备都在一个人物角色下。为了维护账号的信息,HTTP协议设置了规范的名字叫做Cookie。

工作原理:

1.当用户张三浏览某个使用Cookie的网站时,该网站的服务器就为张三产生一个唯一的识别码,并以此作为索引在服务器的后端数据库产生一个项目。接着在给张三的HTTP响应报文中添加一个叫做Set-cookie的首部行。

Set-cookie:12345678

2.当张三收到这个响应时,其浏览器就在它管理的特定Cookie文件中添加一行,其中包括这个服务器的主机名和Set-cookie后面给出的识别码。当张三继续浏览这个网站时,每发送一个HTTP请求报文,其浏览器就会从其Cookie文件取出这个网站的识别码,并放到HTTP请求报文Cookie首部行中:

cookie:12345678

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机网络:应用层(HTTP协议) 的相关文章

  • HTML 整体缩放

    最近用到web 控件加载网页需要缩放问题 由于控件比较旧 所以只能从html 入手 html 页面缩放主要有两种 IE 可使用 CSS body zoom 1 2 或者微软相关的控件支持 包括BCB 其它 浏览器可使用 body trans

随机推荐

  • 指针字符串 与 const char * 即const * char 的详细使用讲解

    指针字符串的使用问题 一 直接定义字符串指针的使用注意事项 定义字符串指针的时候 const char 和字符串本身相同 就不会出现警告 const char char const 作用 const char p 表示的是指针p指向的数值不
  • Kubernetes CoreDNS 状态是 CrashLoopBackOff 报错

    查看状态的时候 遇见coredns出现crashlookbackoff 首先我们来进行排错 不管是什么原因 查看coredns的详细信息 以及logs root k8s master coredns kubectl get pod svc
  • Shell 中 &>/dev/null 和 >/dev/null 2>&1

    下面 咱们一起来看看这个命令操作涉及到的知识点 这其实涉及到三部分的内容 如下图 1 文件描述符 linux shell脚本攻略 的描述 文件描述符是与文件输入 输出关联的整数 它们用来跟踪已打开的文件 最常见的文件描述符是 stidin
  • linux cuda安装目录,Ubuntu 11.10上安装CUDA开发环境的方法及命令

    这篇文章全部内容在我的ThinkPad W520 Ubuntu 11 10 x64位上测试通过 但不代表这篇文章的内容适合你 任何根据这篇文章操作产生的后果 这篇文章作者cheungmine概不负责 英文参考文档 http develope
  • 华为OD机试 C++ [周末爬山]

    题目 小明打算周末去爬山 有一份山的地图 上面用数字表示山的高度 0表示平地 1至9表示不同的山峰高度 小明每次移动只能上下左右移动一格 并且山峰高度差不能超过k 现在他从地图的左上角出发 你能帮他找出他能爬到的最高的山峰是多高吗 还有 他
  • Android数据存储 —— SharedPreferences

    SharedPreferences以键值对的形式存储数据 支持几种基本数据类型 boolean float int long String 一般存储配置信息 它保存的数据时持久化的 即使应用被关掉也不会丢失 存储格式为 xml 一般放在内部
  • 三十二、java版 SpringCloud分布式微服务云架构之Java LinkedList

    Java LinkedList 链表 Linked list 是一种常见的基础数据结构 是一种线性表 但是并不会按线性的顺序存储数据 而是在每一个节点里存到下一个节点的地址 链表可分为单向链表和双向链表 一个单向链表包含两个值 当前节点的值
  • IO流作业

    io 文件操作 in 读取 out 写出 java io File 常用的三个构造方法 File String pathname 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例 public class Demo01 pu
  • 目标检测方法概述(一)

    目标检测的问题 就是在给定的图片中找到物体的位置 并标明物体的类别 通过卷积神经网络CNN 我们可以完成图像识别 即分类任务 然后我们需要通过一些额外的功能完成定位任务 即找到上图中方框在图像中的位置 x y w
  • Webshell不出网方案之正向socks代理reGeorg+Proxifier使用

    参考博客 https blog csdn net God XiangYu article details 100126207 Regeorg地址 https github com sensepost reGeorg Proxifier地址
  • 从 Java 到 Go:构建社交网络平台后端的过渡之旅

    目录 目录 1 项目概述 2 环境准备 2 1 安装依赖 3 从 Java 到 Go 的基础知识
  • 屏幕分辨率dpi解析(adb 调试查看)

    author daisy skye的博客 CSDN博客 嵌入式 Qt Linux领域博主 ro sf lcd density属性指定了这个机型使用的dpi是多少 dpi全称是dots per inch 对角线每英寸的像素点的个数 密度 ld
  • [从零开始学习FPGA编程-21]:进阶篇 - 架构 - VerilogHDL编码规范

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 目录 前言 第1章 标识符的编码规范 1 1 模块名与文件名
  • excel相乘再相加_(excel 两列相乘再相加)excel表格两列数据乘积

    Excel求两列的乘积用什么公式啊 1 Excel 2016电子表格应用程序 所示点击屏幕右侧新建空作簿 2 选中销售额单元格数域 如图所示 选择 公式 函数库 功能区 点击 插入函数 图标 3 唤出 插入函数 对话框 点击 搜索函数或选择
  • 2020年团体程序设计天梯赛-总决赛 L2-2 口罩发放

    L2 2 口罩发放 25分 输入格式 输出格式 输入样例 输出样例 样例解释 题解 L2 2 口罩发放 25分 为了抗击来势汹汹的 COVID19 新型冠状病毒 全国各地均启动了各项措施控制疫情发展 其中一个重要的环节是口罩的发放 某市出于
  • thrift文件服务器,Apache

    The Apache Thrift software framework for scalable cross language services development combines a software stack with a c
  • python机器学习之十一 numpy库之矩阵(matrix)

    本文主要介绍numpy库中的矩阵 矩阵的创建 常见的矩阵运算 矩阵 列表 数组之间的转换 矩阵的创建 语法格式 numpy matrix data dtype data 数据 dtype 数据类型 同数组 如 m2 np matrix 1
  • 【uni-app系列】uni-app从0到1开发实例

    目录 一 准备工作 1 接口 2 代码块 二 创建项目 1 创建默认模板项目 news 2 创建 Hello uni app模板项目 hello uniapp 三 引入样式文件 四 修改入口页 五 创建详情页 六 运行 七 调试小技巧 一
  • JAVA之旅的第一步(安装JDK与JRE以及环境变量和IDEA)

    作为一名想要成为程序员的小白 我们开始肯定要学会一门语言 JAVA作为目前最为主流的编程语言 肯定是大家都要去学习的 那么如何开始我们的第一步呢 一 JDK与JRE的安装 首先我们要先安装JAVA 打开下面这个网址 注册你的Oracle账号
  • 计算机网络:应用层(HTTP协议)

    统一资源定位符 URL 1 URL的格式 统一资源定位符URL是对可以从因特网得到的资源的位置和访问方法的一种简洁的表示 URL给资源的位置提供一种抽象的识别方法 并用这种方法给资源定位 只要能够对资源定位 系统就可以对资源进行各种操作 如