首页 > 代码库 > HTTP协议
HTTP协议
TCP三次握手
1.A->B
2.B->A
3.A->B
默认端口80
---------------------------------------
请求-响应模式的协议
先请求,再响应;请求和响应一一对应
----------------------------------------
HTTP和HTML的关系
HTTP是通信协议,规定了数据传输格式
HTML是网页设计语言,是静态的网页数据
HTTP传输格式、HTML传输内容
--------------------------------------------
HTTP1.0一次连接只能获得一个资源
HTTP1.1一次连接可以连续获得服务器多个资源
GET / HTTP/1.1
HOST:localhost
-----------------------------------------------
一、HTTP请求
请求行:请求中第一行信息
1.请求方式 :POST、GET、HEAD、OPTION、DELETE、TRACE、PUT
常用:POST、GET
那些是GET?哪些是POST?
GET方式:
(1).用户直接在浏览器手动输入一个URL地址
(2).<a href=http://www.mamicode.com/”url”
(3).<form method=”get”>
POST方式:
(1).<form method=”post”>
2.请求资源路径
3.http协议版本
例如:GET / HTTP/1.1
头信息:很多key-value
Accept-Encoding
If-Modified-Since
Referer:防止客户盗链数据
connection.addRequestProperties(key, value);
User-Agent
请求体:存放客户端提交post请求数据
key=value&key=value….
二、HTTP响应
状态行
HTTP协议版本、状态码、描述信息
HTTP/1.1 200 OK
100~199 informational 还需要其他信息,才能处理请求
200~299 Success 请求处理成功
300~399 Redirection 服务器已经处理完毕,客户端还需要进一步动作
400~499 Client Error 客户端错误
500~599 Server Error服务器端错误
200 请求处理成功
302 客户端进行重定向
304 客户端访问的资源没有被修改过,访问本地缓冲
404 访问资源不存在
500 服务器内部出错
头信息
禁止缓存
response.setDateHeader(“expires”, -1);
response.setHeader(“Cache-Control”,”no-cache”);
response.setHeader(“Pragma”,”no-cache”);
响应体
通常是HTML文件内容
如果设置响应体进行gzip压缩,看到gzip压缩的乱码