HTTP协议笔记

一、HTTP概述

http协议是一种超文本协议,它是一种请求/响应式的协议

http协议的特点:
①. 支持客户端(浏览器是一种web客户端)/服务器模式
②.简单快速:客户端想服务器请求服务时,只需要传送请求方式和路径,由于http简单,使得http服务器的程序规模小,因而通信速度很快
③. 灵活:http允许传送任意类型的数据,正在传送的数据类型有Content-Type加以标记
④. 无状态: HTTP是无状态协议。无状态是指协议对事物处理没有记忆能力,如果后续需要签名的信息,必须重传。


HTTP1.1

一个TCP可以传送多个HTTP请求和响应,从而减少了建立和关闭的消耗和延时


HTTP的工作方式:①建立连接②发送请求消息③发送响应消息④关闭连接

二、HTTP请求消息

2.1 GET方式:

当用户在浏览器地址栏中直接输入某个URL地址或者单击网页上的一个超链接时,浏览器将使用GET方式发送请求。
注意:如果将网页上的form表单的method属性设置为GET或者不设置method属性(默认GET),当用户提交表单时,浏览器也将使用GET方式发送请求。

使用GET方式传送的数据量有限,最多不能超过1KB

2.2 POST方式:

如果网页上的form表单method的方式设置为post,当用户提交表单时,浏览器将使用post方式提交表单。并把各个表单元素及数据作为HTTP消息的实体内容发送个服务器,而不是作为URI地址的参数传递

另外,在使用POST方式向服务器传递数据时:Content-Type消息会自动设置为application/x-www-form-urlencoded; contend-Lenght消息会自动设置为实体内容的长度

2.3 二者比较

  • Post传送的数据大小无限制
  • PostGET方式更安全

三、 HTTP头子段

3.1 状态码含义

状态码 含义
100~199 表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程
200~299 表示成功接收请求并已完成整个处理过程
300~399 为完成请求,客户需进一步细化请求。例如,请求的资源已经移动一个新地址
400~499 客户端的请求有错误
500~599 服务器端出现错误

200(正常): 表示一切正常,返回的是正常请求结果
302/307(临时重定向):指出被请求的文档已被临时移动到别处,此文档的新的URL在Location响应头中给出。
304(未修改):表示客户机缓存的版本是最新的,客户机可以继续使用它,无需到服务器请求。
404(找不到): 服务器上不存在客户机所请求的资源。
500(服务器内部错误): 服务器端的程序发生错误


3.2 常用请求头:

• Accept:浏览器可接受的MIME类型
• Accept-Charset: 浏览器通过这个头告诉服务器,它支持哪种字符集
• Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip
• Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语言版本时要用到。 可以在浏览器中进行设置。
• Host:初始URL中的主机和端口
• Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面
• Content-Type:内容类型
• If-Modified-Since: Wed, 02 Feb 2011 12:04:56 GMT利用这个头与服务器的文件进行比对,如果一致,则从缓存中直接读取文件。
• User-Agent:浏览器类型.
• Content-Length:表示请求消息正文的长度
• Connection:表示是否需要持久连接。如果服务器看到这里的值为“Keep -Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接
• Cookie:这是最重要的请求头信息之一
• Date:Date: Mon, 22 Aug 2011 01:55:39 GMT请求时间GMT


3.3 常用响应头

响应头字段用于向客户端传递附加信息

○ Location: http://www.it315.org/index.jsp指示新的资源的位置
○ Server:apache tomcat指示服务器的类型
○ Content-Encoding: gzip服务器发送的数据采用的编码类型
○ Content-Length: 80 告诉浏览器正文的长度
○ Content-Language: zh-cn服务发送的文本的语言
○ Content-Type: text/html; charset=GB2312服务器发送的内容的MIME类型
○ Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT文件的最后修改时间
○ Refresh: 1;url=http://www.it315.org指示客户端刷新频率。单位是秒


参考

常用的HTTP请求头与响应头

猜你喜欢

转载自blog.csdn.net/qq_31156277/article/details/80786865