HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。
HTTP过程
1、建立TCP连接
2、发送请求
3、返回数据
4、断开连接
请求方式
GET、POST、HEAD、PUT、DELETE、OPTIONS
GET、POST的区别
GET:主要是为了接收消息,参数在链接里,可见,不安全,传输数据量有限制,编码有限制
POST:主要为了发消息,参数在请求实体内,不可见,相对安全,传输无限制,编码无限制
状态码
200:正常
3xx:重定向
400:Bad request
401:Unauthorized 需要用户名密码
402:代码无法使用
403:forbidden 禁止
404:not found
414:get请求太长
500:服务器错误
503:服务器过载
504:网关超时
请求报文格式
请求行(开始行)、通用头信息、请求头、实体头、报文主体
响应报文格式
状态行(开始行)、通用头信息、响应头、实体头、报文主体
请求和响应各部分包含的内容
1、请求行:方法 URL 版本号
2、状态行:版本号 状态码 短语
3、通用头:Date、cache-control、connection、transfer-encoding、keep-alive。。。
4、请求头:Host、accept、accept-encoding、accept-charset、accept-language、user-agent。。。
5、响应头:location、server。。。
6、实体头:allow、content-type、content-encoding、content-range、content-language、content-length。。。
网友评论