应用层协议Http(一) 连接过程

定义

超文本传输协议。定义了Web端如何与服务器对话,以及数据如何从服务器传回客户端,即一个数据格式。

连接 

使用TCP/IP传输数据

1.默认 客户端在端口80打开与服务器的一个TCP连接,URL也可以指定其他端口

2.客户端向服务器发送消息

格式

首部 

空行\r\n\r\n 

请求的数据

首部具体格式:

请求行 (方法 资源路径 Http版本)

keyword:value (keyword不区分大小写,value有时区分有时不区分)

可选

例子

GET /index.html HTTP/1.1

User-Agent:Mozilla/5.0(maCINTOSH;Intel Mac os x 10.8;rv:20.0) Gecko/20100101 Firefox/20.0

Host:en.wikipedia.org

Connection:keep-alive

Accept-Language:en-US,en;q=0.5

Accept-Encoding:gzip,deflate

Accept:text/html,application/xhtml+xml,application/xml;q=0/9,*/*;q=0.8

3.服务器端向客户端发送响应

格式:

响应码     1xx提供消息的响应   2xx提示成功    3xx 重定向    4xx客户端错误   5xx服务器错误

元数据首部

数据

常用响应码

200 OK    客户端请求成功

400 BadRequest   客户端请求语法错误,不能被服务器所理解

401 Unauthorized   请求未经授权,这个状态代码必须和WWW-Authentication报头域一起使用

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

404 Not Found    请求资源不存在,如输入了错误的URL

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

503 Server Unavailable     服务器当前不能处理客户端请求,一段时间后能恢复正常

例子:

HTTP/1.1 200 OK

Date:Sun,21 Apr 2013 15:12:46 GMT

Server:ApacheConnection:close

Content-Type:text/html;charset=ISO-8859-1

Content-length:115

回送数据


与Http服务器通信遵循一种请求-响应模式:先是一个无状态的请求,后是一个无状态的响应

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容