HTTP协议浅析

    一、HTTP协议简介

    HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于将服务器中的超文本通过万维网传输到本地浏览器的协议。

    HTTP协议是属于应用层的一个协议,它基于传输层的TCP/IP协议传输数据,一般工作在服务器到浏览器的B-S架构之上。

    HTTP协议有如下特点:

    1、简单快速:只需传输请求方法和路径,因此服务器程序规模小,通信速度快

    2、灵活:HTTP允许传输任何数据类型

    3、无连接:这是HTTP/1.1版本之前的情况,即服务器处理完一个请求之后就断开本次连接,1.1版本之后会设置一个超时时间,超过这个时间没有新的请求才断开连接,一般等待时间不会太长

    4、无状态:HTTP协议在处理一个请求的过程中不会保留本次连接的任何信息

 

    二、HTTP请求协议

 HTTP的一次请求传输的数据遵循如下格式:

 请求首行:请求方法 请求路径 协议版本  如  GET https://www.baidu.com/ HTTP/1.1

 请求头:本次请求的描述信息,如请求的路径,用户操作系统和客户端类型,浏览器可以接收的文件类型,浏览器可以解压的压缩格式等

 空行:用于分隔请求体和请求的具体数据

 请求体:本次请求要发送给服务器的数据或需要从服务器获取的数据

 

 HTTP常用请求方式GET和POST的区别

 GET特点:请求数据暴露在URL中、请求体为空、发送的数据有长度限制

 GET方式:地址栏输入URL访问、超链接访问、form表单method属性设置为GET

 

 POST:请求数据放在请求体中、数据长度无限制、安全性相对更高

 POST方式:form表单method属性设置为POST

 

 请求头部分信息含义:

 Host:服务器域名

 User-Agent:本次请求的客户端运行在什么操作系统,客户端是什么类型

 Accept:表示客户端可以接收的文件类型,先后次序表示接收的次序

 Accept-Lanuage:客户端显示信息的语言类型

    Accept-Encoding:客户端支持的压缩格式

    Accept-Charset:客户端支持的字符集

   Content-Type:请求数据类型,application/x-www-form-urlencoded除文件和二进制数据外的数据编码格式,multipart/form-data上传文件和二进制数据如图片、视频等数据时采用的编码格式

   Keep-Alive:表示是否需要持久连接

 

   三、HTTP响应协议

   服务器的一次响应传输的数据遵循如下格式

   响应首行:HTTP版本  状态码  状态消息     如  HTTP/1.1  200  OK

   消息报头:响应的时间,响应的文件类型,内容的字符集

   空行:分隔消息报头和响应正文

   响应正文:一个字符串形式的HTML文档

 

   部分响应码的含义:

   1XX:指示信息,请求已接收获继续处理等

   2XX:成功,本次请求正常接收

   3XX:重定向,要完成请求需要进一步处理

   4XX:客户端错误,请求有语法错误或无法实现

   5XX:服务端错误,服务端未能实现合法请求

 

   200  OK                                  请求成功

   400  Bad Request                  客户端请求有语法错误,无法被服务端理解

   401  Unauthorized                  请求未经授权

   403  Forbidden                       服务端收到请求,但是拒绝提供服务

   404  Not Found                      请求资源不存在

   500  Internal  Server  Error    服务端发生不可预期错误

   503  Server  Unavailable       服务端当前无法提供服务

posted @ 2017-10-19 19:42  魅力宁波  阅读(128)  评论(0)    收藏  举报