一、http协议实战

1.URL(Uniform Resource Located)

(1)使用FFTP的URL,例如:ftp://rtfm.mit.edu

(2)使用HTTP的URL,例如:http://www.baidu.com

2.HTTP工作原理

(1)浏览器分析超i链接中的URL

(2)浏览器向DNS请求解析网站的IP地址

(3)DNS将解析出的IP地址返回浏览器

(4)浏览器与服务器建立TCP连接(80端口)

(5)浏览器请求文档:GET/index.html

(6)服务器给出响应,将文档index.html发送给浏览器

(7)释放TCP连接

(8)浏览器显示index.html中的内容

3.持久连接和非持久连接

4.无状态性

是指同一个客户端(浏览器)第二次访问同一个Web服务,服务器无法知道这个客户端曾经访问过。HTTP的无状态性简化了服务器的设计,使其更容易支持大量并发的HTTP请求。

5.HTTP报文结构:(1)请求报文;(2)返回报文;(3)请求报文的方法;(4)响应报文中的状态码;(5)首部字段或消息头;(6)报文结构实例。

6.请求报文:即从客户端(浏览器)向Web服务器发送的请求报文,报文的所有字段都是ASCII码

{

方法  URL   版本   CRLF

首部字段名   值   CRLF

首部字段名   值   CRLF

.....

.....

首部字段名   值  CRLFsho

CRLF

实体主体(Entity body)

}第一行是请求行,例如:GET/index.html/1.1

首部行:用来说明浏览器、服务器或报文主体的一些信息/

如:

HOST:www.sxtyu.com

Connection:close

User:Agent:Mozilla/5.0

Accept-Language:cn

7.接收报文

{

版本   状态码   短语   CRLF

首部字段名    值   CRLF

首部字段名   值   CRLF

.....

.....

首部字段名   值  CRLFs

CRLF

实体主体(Entity body)

}

第一行是状态行​,如:HTTP/1.1   200    OK

首部行:用来说明浏览器、服务器胡总和报文主体的一些信息。​如:

Date :Wed 08 May 2008  22

Sever:Apach/1.3.2(Unix)

Content0Length:

DateDaDat4096

Content-Type:text/html

7.请求报头的方法

方法是对所有请求对象所进行的操作,也就是一些命令,请求报文中的操作有:

GET       ​请求读取一个Web页面    HEAD   请求读取一个Web页面的首部

POST     附加一个命名资源(如Web页面)

PUT       请求存储一个Web页面

DELETE  删除Web页面

TRACE   用于测试,要求服务器送回收到的请求

CONNECT  用于代理服务器

OPTION   查询特定选

8.响应报文中状态码

1xx      ​含义:通知信息​;例如:100=服务器正在处理客户请求

2xx      含义:成功;例如:200=请求成功(OK)

3xx​      含义:重定向​;例如:301=页面改变了位置

4xx      含义:客户错误​;例如:403=​禁止的页面;404=页面未找到

5xx      含义:服务器错误;例如:500=服务器内部错误;503=以后再试

具体各个状态码的含义,请参考W3C的HTTP1.1标准规范RFC2616

http://www.w3.org/Protocols/rfc2616/rtc2616.html

五、源码

2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)

3.博客园:https://www.cnblogs.com/ruigege0000/

4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

 

posted on 2019-12-21 00:26  心悦君兮君不知-睿  阅读(254)  评论(0编辑  收藏  举报