1 WEB简介

进程一般使用IP+端口号来定义唯一标识符,而在WEB中,所有的对象都使用URL来进行唯一标识。其中,Scheme为协议,一般省略的话就是HTTP,中间为主机的名字,后面就指向一个文件。原来这就是URL,早有耳闻。

WEB所遵循的应用层协议就是HTTP,超文本传输协议

所使用的传输层协议为TCP传输协议

2 HTTP

2.1 HTTP连接类型

HTTP有两种连接类型:

2.1.1 非持久性连接

非持久性连接的工作过程:

对响应时间进行建模分析:

 2.1.2 持久性连接

带流水机制的持久性连接,相当于只要3个RTT,第一个发生并响应TCP连接,第二个是收到主机超链接,第三个就是接受主机超链接中的所有图片超链接。

2.2 HTTP消息格式

HTTP协议有两类消息:请求消息、响应消息

2.2.1 请求消息

Entity Body可以用来携带数据,即在请求消息中携带数据,向服务器发数据。一般上传信息有两种方法:

在HTTP请求消息中,method有如下几种:

2.2.2 响应消息

其中第一行就是响应状态行,有如下几种常见的响应状态:

2.3 Cookie技术

HTTP协议是无状态的,也就是服务器不会维护任何客户端过去所发出的请求,但是又有许多的应用是要掌握客户端的状态的。这就衍生出了Cookie技术

用户在首次发送请求时,若服务器发现这是个新用户,就会给他设置一个ID,在发送响应消息的时候,会将这个ID记录在客户端的Cookie文件中。再次访问时,请求消息中除了常规消息,还会加上Cookie中的ID码。

2.4 WEB缓存

客户首先向代理服务器发送请求,如果请求的内容代理服务器中有,就直接返回响应,如果没有,就需要由代理服务器向源服务器发送请求,源服务器返回响应后再由代理服务器返回给客户端。

那么如果缓存服务器中存放的不是最新的内容,我怎么判断呢:

WEB应用与HTTP相关推荐

  1. 在k8s中使用gradle构建java web项目镜像Dockerfile

    在k8s中使用gradle构建java web项目镜像Dockerfile FROM gradle:6-jdk8 AS build COPY --chown=gradle:gradle . /home ...

  2. 手动将web项目的class文件打成jar包,手动打jar包,java -cvf,IDE打包底层指令

    手动将web项目的class文件打成jar包. 我们的项目在使用IDE进行编译后,在项目的target目录下将会生成class文件.我们可以将class文件打成jar包. 使用的到命令为: 在targ ...

  3. 将Eclipse中Web项目打成war包

    将Eclipse中Web项目打成war包 请按如下操作即可:

  4. Docker安装Apache与运行简单的web服务——httpd helloworld

    Docker运行简单的web服务--httpd helloworld目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker运行简单的web ...

  5. 【Golang源码分析】Go Web常用程序包gorilla/mux的使用与源码简析

    目录[阅读时间:约10分钟] 一.概述 二.对比: gorilla/mux与net/http DefaultServeMux 三.简单使用 四.源码简析 1.NewRouter函数 2.HandleF ...

  6. 基于Golang的简单web服务程序开发——CloudGo

    基于Golang的简单web服务程序开发--CloudGo[阅读时间:约10分钟] 一.概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 (1)基本要求 (2)扩展要求 三.具体 ...

  7. CentOS Docker安装配置部署Golang web helloworld

    目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker部署Golang web helloworld 四.Docker与虚拟机的区别 五. ...

  8. ideal如何创建dynamic web project

    步骤如下 ① file -> new -> project ② 选择 Java Enterprise -> next ③ create project from template - ...

  9. eclipse运行maven web项目

    说在前面:Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具.现在好多公司都在使用.有时候我们想在eclipse启动maven项目,怎么操作呢,下面 ...

  10. Eclipse+Maven创建web项目

    有时候我们想用eclipse+maven创建web项目,怎么操作呢,下面我来给大家来分享一下方法 所需工具 已经安装了maven插件的elipse 步骤 1.打开eclipse,右键new--othe ...

最新文章

  1. Shell生成随机数并输出文件对应行
  2. php 5.3 wamp,wamp php 5.3.0 升级5.3.3
  3. 喜讯不断,BCH又迎来两个代币发行方案
  4. zabbix安装配置详解(一)
  5. CSS属性中Display与Visibility
  6. Android Studio 3.3 Beta提供了新的Android代码压缩器R8
  7. JAVA引用和垃圾回收
  8. 使用Akka处理1000万条消息
  9. 阿里开源!云原生应用自动化引擎 OpenKruise | 直击 KubeCon
  10. C++ 程序员自信心曲线图
  11. hive中groupby优化_Hive数据倾斜
  12. win10+Vmware+centeros10连接xshell和xftp
  13. mysql触发器 多数据_mysql的触发器同数据库多表的数据操作_MySQL
  14. 2019刚开年全球天气已“爆表” 多国极端天气打破历史纪录
  15. 年会抽奖 - 牛客网题解
  16. oracle回收站还原,Oracle从“回收站”恢复删除的表
  17. 无监督学习 半监督学习 #博学谷IT学习技术支持#
  18. 本地调试微信接口花生壳等域名被限制拉黑
  19. [OC学习笔记]自动引用计数
  20. 线性代数笔记(更新中ing)

热门文章

  1. CMake中macro的使用
  2. 日积月累Day10《为什么家庭会生病》
  3. 胡立阳:如何避免落入弱势反弹的陷阱
  4. 计算机应用文摘官网,计算机应用文摘
  5. Win10系统hosts文件
  6. Python数据分析实战【七】:用Python实现对Excel文件中的数据进行md5加密【文末源码地址】
  7. wddns安装及使用
  8. 在正方体的某一个面上随机一个点——最白话,手把手教你做系列。
  9. linux下虚拟机开机重置修改密码,完整步骤
  10. 传感网、泛在网、M2M、移动网等与物联网之间,主要有什么关系?