计算机网络相关:应用层协议(二):HTTP
2018-03-21 17:31
309 查看
前言
复习下计算机网络的知识并记录
正文
定义:HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。
一.HTTP请求过程(非持续连接)
访问URL的过程:(以http://www.someSchool.edu/department/home.index为例)
1.HTTP客户进程在端口号80发起一个到服务器的TCP链接(三次握手),在客户和服务器上分别有套接字与该连接相关联。
2.HTTP经它的套接字向该服务器发送一个HTTP请求报文,请求报文包含了路径名/department/home.index。
3.HTTP服务器进程经它的套接字接受该请求报文,从其存储器中检索出对象www.someSchool.edu/department/home.index,在一个HTTP响应报文中封装对象,并通过套接字向服务器发送响应报文。
4.服务器进程通知TCP断开该TCP连接(但直到TCP确认客户已经完整地收到响应报文为止,它才会实际中断连接,即四次分手过程)
5.HTTP客户端接收响应报文,TCP连接关闭。如果有其他文件的引用,重复前4个步骤。
二、HTTP报文格式
1.HTTP请求报文
GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu Connection:close User-agent:Mozilla/5.0 Accept-Language:fr1)第一行是请求行,包含了请求的方法、URL字段、HTTP版本字段 2)之后的叫首部行。Host为主机域名,Connection为连接方式(close短连接/Keep-Alive长连接),User-Agent为用户代理,即向服务器发送请求的浏览器的类型,accpet——language即语言。 3)如果是Post,首部行之后接一个空行,然后是正文内容(表单之类的)。 4)Get通常用来向服务器请求一个对象,HEAD类似于GET,只不过服务器收到HEAD请求时只用一个HTTP报文响应,不会返回对象,常用来跟踪调试。PUT与Web发行工具联合使用,允许用户上传对象到指定的Web服务器上的指定路径。Delete允许用户删除Web服务器上的对象。 2.HTTP响应报文
HTTP/1.1 200 OK Connection:close Date:Tue,09 Aug 2011 15:44:04 GMT Server: Apache/2.2.3 (Centos) Last-Modified:Tue,09 Aug 2011 15:11:03 GMT Content-Length:6821 Content-type:text/html (data ...data ...data)它分为三部分:初始状态行、6个首部行、实体行。 初始状态行:包含协议版本、状态码和对应的状态信息。。 首部行:Connection连接方式,Date表示服务器产生并发送该响应报文的日期时间,Server服务器类型,Last-Modified表示该对象创建或者最后修改的日期时间,一般用于缓存更新的时间比较;Content-Length指示被发送对象的字节数;Content-type表示对象类型格式。 实体内容:上述的响应报文的实体为HTML文本 返回码:
- 200 OK:请求成功。
- 301 Move Permanently: 请求的对象已经被永久转移,新的URL定义在响应报文的Location首部行中。
- 400 Bad Request:通用差错代码,指示该请求服务器无法理解。
- 404 Not Found:请求的资源不存在。
- 5xx :服务器的问题。
- 在HTTP响应报文中的一个cookie首部行:Set-cookie(第一次建立连接时如果无cookie或者cookie过期,服务器会返回一个新的给客户端)。
- 在HTTP请求报文中的一个cookie首部行:cookie。
- 在用户端系统中保留的一个cookie,并由用户浏览器管理。
- 位于Web站点的后端数据库的cookie
相关文章推荐
- 计算机网络自顶向下 :应用层(简单概念和http协议相关简单介绍)
- 计算机网络(三)HTTP协议相关基础
- 计算机网络——应用层协议之HTTP
- 计算机网络相关:应用层协议(一):DNS
- 计算机网络相关面试题
- [笔面] 计算机网络原理相关问题
- 计算机网络:这是一份全面详细 HTTP知识讲解
- 《HTTP小书》读书笔记(3)请求之请求方法(关键词:计算机网络/HTTP/请求方法/GET/POST/OPTIONS/PUT/DELETE/CONNECT)
- 《HTTP权威指南》学习笔记(3)第3章HTTP报文(关键词:计算机网络/HTTP/HTTP报文)
- 《HTTP权威指南》学习笔记(9)第9章Web机器人(关键词:计算机网络/HTTP/Web机器人)
- 计算机网络相关例题(二)
- 一只简单的网络爬虫(基于linux C/C++)————socket相关及HTTP
- 计算机网络:这是一份全面详细 HTTP知识讲解
- 【计算机网络】:http报文详解
- 计算机网络学习1:HTTP协议中URL和URI的区别
- 《HTTP小书》读书笔记(1)预备知识(关键词:计算机网络/HTTP/Node.js)
- 《HTTP权威指南》学习笔记(4)第4章连接管理(关键词:计算机网络/HTTP/连接管理)
- 计算机网络--http代理服务器的设计与实现
- 计算机网络--http代理server的设计与实现
- NCRE-3 计算机等级考试三级网络技术抢救方略:VLSM相关