HTTP协议的简单了解
1. 用于服务端和客户端通信
- 客户端发送请求,服务端提供资源;
 - 通过URI定位资源。
 
2. 通过请求和响应交换进行通信
- 客户端发送请求,服务端响应请求并返回数据;
 - 请求报文:请求方法、URI、协议版本、请求首部(可选)、内容实体;
 - 响应报文:版本,状态码、原因,响应首部(可选),响应实体;
 - chrome中可以通过检查或者F12,选择Network进行查看。
 
3. 不保存状态
- HTTP协议不保存请求和响应之间的状态;
 - 可以设置cookie保存状态。
 
4. HTTP方法
- GET:请求资源;
 - POST:传输实体主体,form表单;
 - PUT:更新资源,是幂等的;
 - HEAD:只获取报文首部;
 - DELETE:删除资源;
 - OPTIONS:询问URI支持的方法
 - CONNECT:使用隧道协议连接代理,加密,主要是用了SSL和TLS;
 - 可以使用不同的方法对资源进行不同的处理。
 
5. 持久连接
- 保持TCP的连接状态,可以传送多个资源;
 - 管线化:可以并行发送多个请求;
 - Connection: keep-alive。
 
6. COOKIE
- 服务端set_cookie,客户端保存cookie,再次请求带cookie后服务端会进行检查;
 
HTTP协议的简单了解的更多相关文章
- 依据 smtp协议的简单golang 的发邮件实现
		
依据 smtp协议的简单golang 的发邮件实现 协议格式如下 From:sender_user@demo.net To:to_user@demo.net Subject:这是主题 Mime-Ver ...
 - 采用tcp协议和UDP协议实现简单的聊天功能
		
Date: 2019-06-19 Author: Sun 一. Python3输出带颜色字体 实现过程:  终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关.  转义 ...
 - TCP/IP 协议标准简单描述
		
TCP/IP 协议标准简单描述 说明 分为三部分:中文名称.缩写.说明. 应用层 DNS 域名服务 (DNS) 功能: 将域名转化为IP地址 BOOTP 引导程序协议 (BOOTP) 功能: 允许无盘 ...
 - MQTT协议的简单介绍和服务器的安装
		
最近公司做的项目中有用到消息推送,经过多方面的筛选之后确定了使用MQTT协议,相对于XMPP,MQTT更加轻量级,并且占用用户很少的带宽. MQTT是IBM推出的一种针对移动终端设备的基于TCP/IP ...
 - Tcp/Ip协议族简单解读及网络数据包/报/帧数据格式及封装及解包;
		
http://www.creseek.cn/products-install/install_on_bsd_linux/ 中文检索 离线cloudera ecosystem components: h ...
 - Smtp协议与Pop3协议的简单实现
		
前言 本文主要介绍smtp与pop3协议的原理,后面会附上对其的简单封装与实现. smtp协议对应的RFC文档为:RFC821 smtp协议 SMTP(Simple Mail Transfer Pro ...
 - (转)fastcgi协议的简单实现
		
FastCgi不仅可以用于webserver与PHP的交互,也可用于任何两个应用之间的交互,PHPer用的比较多的应该就是用于两个子系统之间的交互. 比如A系统和B系统分部独立的部署在两台机器上,其之 ...
 - HTTP协议的简单介绍
		
前传:HTTP协议的演变过程 HTTP(HyperText Transfer Protocol)协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是 ...
 - 基于Tcp协议的简单Socket通信实例(JAVA)
		
好久没写博客了,前段时间忙于做项目,耽误了些时间,今天开始继续写起~ 今天来讲下关于Socket通信的简单应用,关于什么是Socket以及一些网络编程的基础,这里就不提了,只记录最简单易懂实用的东西. ...
 - HTTP协议的简单解析
		
超文本传输协议(HTTP,HyperText Transfer Protocol)是用于从服务器传输超文本到本地浏览器的传输协议,是应用最为广泛的网络协议.B/S网络架构的核心是HTTP,掌握HTTP ...
 
随机推荐
- centos 利用iptables来配置linux禁止所有端口登陆和开放指定端口的方法
			
1.关闭所有的 INPUT FORWARD OUTPUT 只对某些端口开放. 下面是命令实现: iptables -P INPUT DROPiptables -P FORWARD DROPiptabl ...
 - static关键字的用法小结
			
static:是一个修饰符,用于修饰成员(成员变量,成员函数). 当成员被静态修饰后,就多了一个调用方式,除了可以被对象调用外,还可以直接被类名调用,写法:类名.静态成员 static特点: 1.随着 ...
 - Java中的集合Collection
			
集合是什么? Java集合类存放于 java.util 包中,是一个用来存放对象的容器. 注意:①.集合只能存放对象.比如你存一个 int 型数据 1放入集合中,其实它是自动转换成 Integer 类 ...
 - fsLayuiPlugin附件上传使用说明
			
fsLayuiPlugin 是一个基于layui的快速开发插件,支持数据表格增删改查操作,提供通用的组件,通过配置html实现数据请求,减少前端js重复开发的工作. GitHub下载 码云下载 测试环 ...
 - Python实现进度条的效果
			
from itertools import cycle from time import sleep for frame in cycle(r'-\|/-\|/'): print('\r', fram ...
 - ArcGIS Python 唯一值专题
			
import arcpy mxd = arcpy.mapping.MapDocument("current") lyr = arcpy.mapping.ListLayers(mxd ...
 - tocke - 加密
			
//获取32位随机字符串 $randTocke = getRandChar($length); //当前脚本运行时间, 单位为十万分之一毫秒 $timestamp = $_SERVER['REQUES ...
 - SOCKET原理(转载)
			
SOCKET原理 一.套接字(socket)概念 套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元.它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息: ...
 - Mac Mysql 5.6.4修改初始化密码
			
Mac Mysql 修改初始化密码 第一步: 点击系统偏好设置->最下边点MySQL,在弹出页面中,关闭服务 第二步:进入终端输入:cd /usr/local/mysql/bin/回车后 登 ...
 - js常用正则(2)
			
res(a, b, str) { //数字加英文 let re = `\^\\w{${a},${b}}\$` let reg = new RegExp(re); let status = !reg.t ...