http协议定义
http协议(HyperText transfer protocal超文本传输协议) 是因特网上应用最广泛的一种
网络传输协议,所有的www文件都必须遵守这个协议,是从万维网(world wide web)服
务器上传输超文本到本地浏览器的协议
http协议基于tcp/ip协议来传输数据(html图片,html文件,查询结果等)
工作原理:
http协议工作在服务端-客户端架构上
浏览器作为http客户端通过url向http服务端,即web服务器发送请求
web服务器有:Apache服务器,iis服务器(internet information servives)
web服务器根据接收到的请求,向客户端发响应信息
http的默认端口是80,但也可以改为8080或者其他端口
http三点注意事项:
无状态:协议对于事务处理没有记忆能力。如果后续处理需要前面的信息,必须重传,
导致每次连接传送的数据量很大,但如果不需要前面的信息,响应就会很快。
无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户端的请求,
并接收到客户端的响应,就断开连接。这样节省了传输的时间。
媒体独立:只要客户端和服务器知道如何处理的数据类型,都可以通过http进行传输。
客户端以及服务器会指定色和的MIME-type内容类型。
HTTP消息结构
一个HTTP'客户端'是一个应用程序(web浏览器或者其他应用程序),通过连接服务端
达到向服务端发送一个或多个HTTP请求的目的。
一个HTTP'服务端'也是一个应用程序(通常是web服务,如apache web服务器或iis服务
器等),通过接收客户端发送的请求并向客户端发送HTTP数据。
HTTP使用统一资源标识符(uniform resource identifiers,uri)来建立连接和传送数据。
客户端请求消息
客户端发送一个HTTP请求到服务器的请求消息包含:请求行(request line),请求头部(reques theader),空行,请求数据 四个部分组成
服务端响应消息
状态行,消息报头,空行,响应正文
-
HTTP请求方法
get post head
1.1 新增 delete put options connect trace -
get和post区别
1.post相对get安全,get通过域名后缀名传送,用户可见,post请求数据在请求报文里传输,相对比较安全
2.post比get传送的数据量大,get传送数据量有限制(web服务器和浏览器限制了url的长度)
3.post能发送更多的数据类型,get只能发送ascll字符
4.post比get慢
5.post向服务器传送数据,get从服务器获取数据 -
HTTP状态码
200 成功
301 资源(网页等)被永久转移到其他URL
404 请求的资源(网页等)不存在
500 内部服务器错误