WEB应用与HTTP
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相关推荐
- 在k8s中使用gradle构建java web项目镜像Dockerfile
在k8s中使用gradle构建java web项目镜像Dockerfile FROM gradle:6-jdk8 AS build COPY --chown=gradle:gradle . /home ...
- 手动将web项目的class文件打成jar包,手动打jar包,java -cvf,IDE打包底层指令
手动将web项目的class文件打成jar包. 我们的项目在使用IDE进行编译后,在项目的target目录下将会生成class文件.我们可以将class文件打成jar包. 使用的到命令为: 在targ ...
- 将Eclipse中Web项目打成war包
将Eclipse中Web项目打成war包 请按如下操作即可:
- Docker安装Apache与运行简单的web服务——httpd helloworld
Docker运行简单的web服务--httpd helloworld目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker运行简单的web ...
- 【Golang源码分析】Go Web常用程序包gorilla/mux的使用与源码简析
目录[阅读时间:约10分钟] 一.概述 二.对比: gorilla/mux与net/http DefaultServeMux 三.简单使用 四.源码简析 1.NewRouter函数 2.HandleF ...
- 基于Golang的简单web服务程序开发——CloudGo
基于Golang的简单web服务程序开发--CloudGo[阅读时间:约10分钟] 一.概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 (1)基本要求 (2)扩展要求 三.具体 ...
- CentOS Docker安装配置部署Golang web helloworld
目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker部署Golang web helloworld 四.Docker与虚拟机的区别 五. ...
- ideal如何创建dynamic web project
步骤如下 ① file -> new -> project ② 选择 Java Enterprise -> next ③ create project from template - ...
- eclipse运行maven web项目
说在前面:Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具.现在好多公司都在使用.有时候我们想在eclipse启动maven项目,怎么操作呢,下面 ...
- Eclipse+Maven创建web项目
有时候我们想用eclipse+maven创建web项目,怎么操作呢,下面我来给大家来分享一下方法 所需工具 已经安装了maven插件的elipse 步骤 1.打开eclipse,右键new--othe ...
最新文章
- Shell生成随机数并输出文件对应行
- php 5.3 wamp,wamp php 5.3.0 升级5.3.3
- 喜讯不断,BCH又迎来两个代币发行方案
- zabbix安装配置详解(一)
- CSS属性中Display与Visibility
- Android Studio 3.3 Beta提供了新的Android代码压缩器R8
- JAVA引用和垃圾回收
- 使用Akka处理1000万条消息
- 阿里开源!云原生应用自动化引擎 OpenKruise | 直击 KubeCon
- C++ 程序员自信心曲线图
- hive中groupby优化_Hive数据倾斜
- win10+Vmware+centeros10连接xshell和xftp
- mysql触发器 多数据_mysql的触发器同数据库多表的数据操作_MySQL
- 2019刚开年全球天气已“爆表” 多国极端天气打破历史纪录
- 年会抽奖 - 牛客网题解
- oracle回收站还原,Oracle从“回收站”恢复删除的表
- 无监督学习 半监督学习 #博学谷IT学习技术支持#
- 本地调试微信接口花生壳等域名被限制拉黑
- [OC学习笔记]自动引用计数
- 线性代数笔记(更新中ing)