首页 > 代码库 > 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压缩的乱码