首页 技术 正文
技术 2022年11月17日
0 收藏 919 点赞 2,100 浏览 1985 个字

前言复习下计算机网络的知识并记录正文定义: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:fr

1)第一行是请求行,包含了请求的方法、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 :服务器的问题。

3.Cookie用于标识一个用户,并保存一些用户信息。Cookie技术有4个组件:

  • 在HTTP响应报文中的一个cookie首部行:Set-cookie(第一次建立连接时如果无cookie或者cookie过期,服务器会返回一个新的给客户端)。
  • 在HTTP请求报文中的一个cookie首部行:cookie。
  • 在用户端系统中保留的一个cookie,并由用户浏览器管理。
  • 位于Web站点的后端数据库的cookie

4.补充URI全名为Uniform Resource Indentifier(统一资源标识),用来唯一的标识一个资源,是一个通用的概念,URI由两个主要的子集URL和URN组成URL全名为Uniform Resource Locator(统一资源定位),通过描述资源的位置来标识资源URN全名为Uniform Resource Name(统一资源命名),通过资源的名字来标识资源,与其所处的位置无关,这样即使资源的位置发生变动,其URN也不会变化  参考资料《计算机网络 自顶向下方法 第6版》  机械工业出版社    【美】  James F.Kurose & Keith W.Ross

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,086
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,561
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,410
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,183
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,820
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,903