美文网首页
HTTP协议基础

HTTP协议基础

作者: JaniceZD | 来源:发表于2018-04-18 00:02 被阅读0次

HTTP 是基于 TCP/IP 协议的应用层协议。它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口。

请求部分由三部分组成:
  • Requset line:请求行,位于第一行
  • Request headers:请求消息头,从第二行开始至第一个空行结束
  • Request body:请求正文,从第一个空行之后的都是正文

具体格式如下:

Method Path-to-resource Http/Version-number
请求消息头
空行
请求正文

下面是一个HTTP请求的例子:

POST /index.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: [http://localhost/](http://localhost/)
Content-Length:25
Content-Type:application/x-www-form-urlencoded

username=aa&password=1234
响应部分也由三部分组成:
  • Response line:响应行,位于第一行
  • Response headers:响应消息头,从第二行开始至第一个空行结束
  • Response body:响应正文,从第一个空行之后的都是正文

具体格式如下:

Http/Version-number Statuscode message
响应消息头
空行
响应正文

下面是一个HTTP响应的例子:

HTTP/1.1 200 OK
Date: Fri, 22 May 2009 06:07:21 GMT
Content-Type: text/html; charset=UTF-8

<html>
      <head></head>
      <body>
            <!--body goes here-->
      </body>
</html>
HTTP之状态码(要背)

状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别:

1xx:指示信息--表示请求已接收,继续处理

2xx:成功--表示请求已被成功接收、理解、接受

3xx:重定向--要完成请求必须进行更进一步的操作

4xx:客户端错误--请求有语法错误或请求无法实现

5xx:服务器端错误--服务器未能实现合法的请求
常见状态码:

200 OK                        //客户端请求成功
400 Bad Request               //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized              //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 
403 Forbidden                 //服务器收到请求,但是拒绝提供服务
404 Not Found                 //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error     //服务器发生不可预期的错误
503 Server Unavailable        //服务器当前不能处理客户端的请求,一段时间后可能恢复正常
使用Chrome开发者工具查看 HTTP 请求响应内容:
  1. 打开Chrome浏览器,在浏览器中任意位置右击;
  2. 点击“检查”,打开浏览器内置的开发者调试平台;
  3. 点击“Network”选项卡;
  4. 点击“Name”一栏下面的任意一条信息;
  5. 随后将出现如下图页面:
    点击Request Headers可查看请求消息,点击Response Headers可查看响应消息
    点击「view source」(重要的话重复三遍)
请求view source.PNG
  1. 点击「view source」后即可查看http的相关信息了,包括请求头部信息、响应头部信息、Cookie等
请求与响应.PNG
curl命令:创建请求
curl -s -v "https://www.baidu.com"
curl命令.PNG
更多curl命令的内容可前往阮一峰的curl网站开发指南进行查看。

相关文章

  • python web渗透测试学习2Web应用交互1HTTP基础

    Web应用交互 HTTP协议基础 HTTP请求 requests 分析HTTP响应 HTTP协议基础 超文本传输协...

  • python web渗透测试工具学习2Web应用交互1HTTP基

    Web应用交互 HTTP协议基础 HTTP请求 requests 分析HTTP响应 HTTP协议基础 超文本传输协...

  • HTTP常见概念整理

    基础TCP/IPTCP协议IP协议DNS协议URI与URL HTTP协议HTTP报文HTTP方法HTTP状态码 名...

  • 2018-10-24day21-网络通信作业

    ======= 网络基础 http协议

  • HTTP协议基础

    HTTP 是基于 TCP/IP 协议的应用层协议。它不涉及数据包(packet)传输,主要规定了客户端和服务器之间...

  • HTTP协议基础

    概述 HTTP协议全称为超文本传输协议(HyperText Transfer Protocol),它使得网络上的W...

  • HTTP协议基础

    title: HTTP协议基础date: 2016-06-30 21:35tags: Kali渗透测试 Web渗透...

  • HTTP协议基础

    HTTP的定义 Http(HyperText Transfer Protocol,超文本传输协议),是用于从万维网...

  • HTTP协议基础

    本文整理自MIN飞翔博客 [1] 1. 概念 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或...

  • HTTP协议基础

    1.协议基础 通讯协议规定了网络设备进行网络通讯时必须遵守的一系列规则,以便使用同一规则进行信息传输。 1.1 H...

网友评论

      本文标题:HTTP协议基础

      本文链接:https://www.haomeiwen.com/subject/cvrjkftx.html