http协议

什么是hhtp协议:

HTTP协议(超文本传输协议)因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。

HTTP 和HTTPS 的区别:

http是超文本传输协议 而https则是ssl加密协议,所以https比http更加安全。

http的端口号是80端口,而https的端口号则是443端口号。

http不需要证书,https由于使用了ssl协议,ssl协议是需要证书验证服务器身份的。

在osi参考模型中,http工作在应用层而http工作在传输层。

使用浏览器和抓取http的流量包:

这里抓取了百度的 请求头 和 响应头。

 

使用burp suite抓取微博的包:

 

 

 

 

 

分析HTTP请求包:

客户端发出的请求包分为三个部分:请求行、请求报头、空行、请求正文。

 

 

 

 

 

请求行的格式又分为: 

Method:表⽰请求⽅法代码    Request-URI:是⼀个统⼀资源标识符  HTTP-Version:表⽰请求的HTTP协议版本   CRLF:表⽰回车和换⾏。

请求方法为 GET   请求页面信息  返回实体主体。

                   POST   提交数据 或上传表单。数据被包含在请求体中。

                   HEAD  快速请求,返回的响应中没有具体内容。

                   PUT    存储请求  从客户端向服务器传送的数据取代指定的文档的内容。

                   DELETE 删除请求   请求服务器删除某一资源。

 

常见的请求报头:

Host: 请求的服务器地址

User-Agent: 包含发出请求的用户信息

Accept: /:表示什么都可以接收。

Accept:image/gif:表明客户端希望接受GIF图像格式的资源;

Accept:text/html:表明客户端希望接受html文本。

Accept:   text/html, application/xhtml+xml;q=0.9, image/*;q=0.8:

表示浏览器支持的 MIME 类型分别是 html文本、xhtml和xml文档、所有 的图像格式资源。

Referer: 告诉服务器 我是从哪个页面链接过来的。

Cookie: 身份凭证。

 

分析HTTP响应包:

HTTP 响应包由: 状态行、消息报头、响应正文。

状态行格式:  

HTTP-Version表⽰服务器HTTP协议的版本

Status-Code表⽰服务器发回的响应状态代码

Reason-Phrase表⽰状态代码的⽂本描述。

状态码:

 

2** 成功   200

3** 重定向 ,资源(网页等)被永久转移到其它URL  

4** 客户端错误,无法完成请求         

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

   403 服务器拒绝执行客户端发送的请求   

   404 服务器无法根据客户端的请求找到资源(网页)。

5** 服务器错误                                 

   500 服务器不支持请求的功能,无法完成请求。

   503 服务器当前不能处理请求,一段时间可能恢复正常。

 

响应头 消息报头:

 

 

server : WEB服务器名称

 

 

 

 

    

posted @ 2020-08-21 21:28  二十四、  阅读(516)  评论(0编辑  收藏  举报