笔记:URL+HTTP协议

1. URL

    URL一般由五个部分构成:协议域名端口路径URL地址参数

    例:http://localhost/phpwind/searcher.php?keyword=phpwind&type=thread

    1.1 协议

       协议一般是URL的第一部分,通常通过冒号和后续部分进行区分;

       常用的协议:httpftphttpsaboutjavasssh等;

    (一般进行接口层面的测试时,首先需要的是接口所采用的协议)

    1.2 域名

    域名是服务的地址,可能是机器名IP地址域名

    例:机器名:localhost

           域名:www.baidu.com

           IP地址:127.0.0.1

    1.3 端口

    端口是服务器提供服务的端口,即服务器用来监听客户端请求所使用的端口;

    基本格式:域名:端口(端口跟在域名之后)

  (如果服务器所使用的端口是协议的默认通信端口,则用户在访问服务器时可以不输入端口)

   

常见的协议对应的端口
协议名 端口号
http 80
ftp 21
ssh 22
https(http+ssl) 443/8443
MySQL

3306

SQL Server 1433
ORACLE 1521

    1.4 路径

    路径是要访问的资源(文件)在服务器容器目录下的路径(路径跟在端口号之后);

    一般来说,所谓发布产品,主要是将对应的应用(文件)放在服务器的容器目录下。

    1.5 URL地址参数

    URL地址参数,一般是通过问号连接在地址之后的内容,通常是用来传递数据的;

    URL地址参数一般是有键值对应的,多个键值之间通过“&”进行连接。

    一般,URL地址参数也是算在PATH部分。

    例:?keyword=phpwind&type=thread

2. HTTP协议

      HTTP协议是一种基于请求(request)和响应(response)的协议,可以用于WEB、C/S、APP。

    (通信都是基于协议进行的,HTTP是目前使用最广泛的应用协议)

    HTTP协议的构成

     HTTP协议由http-request和http-response构成;

    1. http-request

        请求头由三个部分构成:request line、request header、request body;
    1.1 request line:

        请求行就是请求的第一行,和URL相关。通常包含:request method、request path、protocal/version;

                request method:请求方法,常用的方法有:get、post、put、delete

                (一般获取静态资源用get,获取动态资源用post)

                request path:请求资源的路径,即URL地址中的路径;

                protocol/version:协议/版本;

    1.2 request header:

        请求头,是用来传递信息的,一般和应用的内容无关,但是可能影响请求成功与否。

        (一般是从第二行开始到第一个空行之前的部分)

        请求头是有键值对应的,请求头类型是由http协议规定的,不能自定义;

比较重要的请求头
请求头 请求头说明
Accept 接收类型(可以不填或*/*)
User-Agent 客户端的环境
Accept-Encoding 本地接收格式
Content-Type 请求数据的数据格式

    1.3 request body:

        请求主体,由应用决定的,一般是第一个空行之后的内容;

        键值应的请求主体,可以采用键值对或Raw(String)的方式;XML和JSON,只能采取Raw(String)的方式。

        有请求主体,一定要指定请求头Content-Type。

    2. http-response

    http响应由三个部分构成:response line、response header、response body。

    2.1 response line

    响应行,即响应第一行,通常包括三个部分:protocol/version、response code、response message;

    response code,响应代码,又叫状态码。是用来标识服务器对于请求的处理状态(逻辑状态);

    状态码通常是三位长度的数字,一般都是由首位数字进行大类区分,表示不同的处理状态。

    

通常状态码
状态码 状态码意义
1** 通信过程中发送的,用来传递信息(一般看不到)
2** 典型的200,表示请求处理成功
3** 一般表示重定向
4** 一般表示请求失败,如403:权限问题;404:请求资源在服务器不存在
5**

表示服务器错误(对于接口、性能测试,如果自己发送的请求出现500错误,

一般不是服务器问题,可能是请求数据有问题)

    response message是对请求状态进行的解释。

    2.2 response header

    响应头类似于请求头。

    2.3 response body

    响应主体


你可能感兴趣的:(笔记:URL+HTTP协议)