网络通信 - HTTP
2016-05-29 09:36
225 查看
HTTP协议简介
1、应用层协议
HTTP协议(超文本传输协议)是建立在TCP/IP协议基础之上的应用层协议。
TPC/IP协议是传输层协议,主要解决数据如何在网络中传输;而HTTP是应用层协议,主要解决如何包装数据。
2、Request/Response模式
HTTP协议基于Request/Response模式来处理客户端与服务器之间的请求和应答。
3、无状态
HTTP是一种无状态协议:每次搜素,浏览器先重新建立连接,等浏览器显示响应后就断开连接。
无状态的好处:节省流量,不用让浏览器和服务器一直保持连接状态。
当需要记录状态时,一般会通过Session/Cookie来解决。
HTTP的工作流程
1、客户端与服务器建立连接
2、客户端发送HTTP请求,通过DNS域名解析找到对应的服务器。
3、服务器根据请求内容寻找资源并生成响应返回给客户端(响应通常为HTML数据,也有可能是XML数据、JSON数据)
4、客户端解析响应并显示
5、断开连接
HTTP协议的请求方法
1、GET
GET是HTTP请求中最简单的一种请求方法,它的主要作用是获取服务器端的资源并将其作为响应返回给客户端。
但是,GET只能获取数据,不能操作数据。
2、POST
POST方法也是HTTP请求中的一种请求方法,它不仅能获取数据,也能上传数据。
HTTP状态码
301 永久跳转:原地址已不存在,url被指向到另一个地址。
302 临时跳转:服务器会返回一个新的url给客户端,客户端可以继续访问这个url来获取内容。
403 不允许访问
503 服务不可用
504 网关超时:请求时长超出了服务器的响应时间限制
1、应用层协议
HTTP协议(超文本传输协议)是建立在TCP/IP协议基础之上的应用层协议。
TPC/IP协议是传输层协议,主要解决数据如何在网络中传输;而HTTP是应用层协议,主要解决如何包装数据。
2、Request/Response模式
HTTP协议基于Request/Response模式来处理客户端与服务器之间的请求和应答。
3、无状态
HTTP是一种无状态协议:每次搜素,浏览器先重新建立连接,等浏览器显示响应后就断开连接。
无状态的好处:节省流量,不用让浏览器和服务器一直保持连接状态。
当需要记录状态时,一般会通过Session/Cookie来解决。
HTTP的工作流程
1、客户端与服务器建立连接
2、客户端发送HTTP请求,通过DNS域名解析找到对应的服务器。
3、服务器根据请求内容寻找资源并生成响应返回给客户端(响应通常为HTML数据,也有可能是XML数据、JSON数据)
4、客户端解析响应并显示
5、断开连接
HTTP协议的请求方法
1、GET
GET是HTTP请求中最简单的一种请求方法,它的主要作用是获取服务器端的资源并将其作为响应返回给客户端。
但是,GET只能获取数据,不能操作数据。
2、POST
POST方法也是HTTP请求中的一种请求方法,它不仅能获取数据,也能上传数据。
HTTP状态码
301 永久跳转:原地址已不存在,url被指向到另一个地址。
302 临时跳转:服务器会返回一个新的url给客户端,客户端可以继续访问这个url来获取内容。
403 不允许访问
503 服务不可用
504 网关超时:请求时长超出了服务器的响应时间限制
相关文章推荐
- 【初探】关于TCP的十九个问题
- java入门教程-12.2Java网络编程之统一资源定位符URL
- java入门教程-12.1Java网络编程之IP地址和InetAddress类
- WebCollector 2.x 教程列表
- CS231n 卷积神经网络与计算机视觉 8 手把手实现神经网络分类
- Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)
- Java 网络IO编程总结(BIO、NIO、AIO均含完整实例代码)
- 自寅舍得分享:QQ空间认证是真的?
- php通过$_SERVER['HTTP_USER_AGENT']获取浏览器相关参数
- (2016 年) githup 博客地址 : https://github.com/JMWY/MyBlog
- HG255D刷机及网络接口配置
- php之parse_url 、parse_str 、http_build_query
- android volley 6.0 支持httpclient方法
- 上下界网络流专题
- 采用管道处理HTTP请求
- [线性规划与网络流24题] 餐巾计划问题
- Http协议应用
- http 状态码大全
- Java网络编程(二) - 15分钟搭建我的第一个 Spring MVC 项目
- 网络及UIWebView 介绍