简介
http协议是用于客户端和服务器端通信的。
请求访问文本或图片等资源的一方,我们叫做客户端(Client);负责接收,提供响应的一方称为服务器端(Server)
http工作原理:客户端连接web服务器==》发送http请求==》服务器接收请求并返回http响应==》释放tcp连接==》客户端浏览器解析HTML内容。
特点
http协议是无状态协议,每次请求独立无联系,协议对于事务处理没有记忆能力
HTTP/1.0缺点:每个TCP连接只能发送一个请求,发送数据完毕后,连接就关闭了,如果还要请求就必须要新建一个请求连接。
http1.1:引入cookie技术,客户端进行请求之后,服务器生成cookie记住向谁发送,接着在响应的时候,就将cookie添加在响应中,客户端保存cookie。
其后客户端再进行请求的时候就会添加cookie,这样服务器就能识别是否为有记录的请求。
交流的简单流程:客户端
发起连接,客户端发起请求,服务器端响应请求,服务器端关闭连接。HTTP是基于TCP/IP协议的应用层协议
消息结构
请求消息:请求行,请求头(请求方法,请求url域名,状态码,IP之、远程地址),一个空行,消息主提。
消息头:Accept为告诉服务器接收哪些格式的文件,Accept-Encoding为接收的编码方式,Accept-Language为接收的语言,Cache-Control为是否使用缓存,Connection为连接方式,Cookie为向服务器发送的Cookie信息,Host为服务器域名。
回应消息:server:服务器名称;content-type:响应的数据类型;content-encoding:数据编码格式, Content-Length为服务器返回给客户端的内容的长度,Keep-Alive为缓存的时间,Server为服务器的相关信息。
HTTP协议使用URI定位互联网上的资源。URI包括URL和URN
URI是统一资源标识符;URL是统一资源定位符;URN是统一资源名称
URI强调资源标记的命名,给出了标志名+地址
URL再www万维网中就主要是用地址既当作标志名又当地址。
请求方法
常见get(获取资源数据)和post(提交资源数据),还有head(获取报文首部)、options(询问uri指定资源支持的方法)、put(传输文件)、delete(删除文件)、trace、connect
HTTP超文本传输协议是一个基于请求与响应模式的,无状态的,应用层的协议,常基于TCP的连接方式。