欢迎来到南方有乔木的博客!!!
博主主页:点击点击!戳一戳!!
博主名:南方有乔木呀
博主简介:
一名在校大学生,正在努力学习Java语言编程。穷且意坚,不坠青云之志,希望能在编程的世界里找到属于自己的光。
跪谢帅气or美丽的朋友们能够帮我点赞! 请对文中内容请多多指教!!!
目录
一.请求报头(header)
二.http响应状态码
三.构造http请求
1.from表单构造
2.ajax构造
一.请求报头(header)
请求报头从http请求的第二行开始,第一行是请求首行,第二行开始就是请求报头,请求报头结束会有一行空格,接着就是请求正文。请求报头里包含许多key-value类型的键值对
每个键值对是占据一行。
我使用fiddler 抓包工具抓取一个包,它的http请求如下:
第一行是请求首行,它表示http请求使用了POST方法,然后还有一串URL,后边的是http的版本号。
从第二行开始就是请求报头的内容,下面来详细介绍部分请求报头里面的内容,
1.HSOT
HOST表示了服务器的主机地址和端口
2.Content-Length
Content-Length它可以表示正文body中的数据长度。
3.Content-Type
它表示了请求中body的数据格式
4.User-Agent(UA)
表示浏览器(操作系统)的属性
5.Referer
表示这个页面是从哪个页面跳转而来
6.Cookie
Cookie里存储了一个字符串,可以通过这个字符串实现身份标识的功能。Cookie可以作为用户当前登录的身份标识。相当于医院的就诊卡,开始使用身份证办理就诊卡,有了就诊卡就可以代表持有身份证的这个人,就诊卡也可以注销,浏览器保存的Cookie 也可以清除。
二.http响应状态码
http响应会使用一个状态码表示请求成功还是失败,或者是否出现其他情况。
让我们来学习http比较常见的一些状态码
200:表示http进行了正确的响应
404:表示资源不存在,在平时可以经常看到这种情况(404 not found),出现404时,大概率是URL错了,需要检查url拼写是否正确
403:访问被拒绝,访问被拒绝一般是指有资源,但不给访问,一般与是否有访问权限相关。
405:方法不被允许,http的访问方法有很多,比如GET,POST等方法,比如当服务器只支持POST 方法访问时,如果客户端是使用GET方法访问,那么就会返回405,更多是在开发阶段出现
500:内部错误,表示服务器出错。通常情况下测试阶段已经被发现,平时不大容易看到。
504:请求超时。当网络不好,代码的性能差等,平时也不大容易看到。
302:临时重定向。通常在登录时可以看到,登录时跳转。
301:永久重定向。
对于http响应的一个大致的分类如下:
三.构造http请求
1.from表单构造
基于from表单构造http请求,from表单进行提交时,页面会进行跳转
下面是一个简单的利用from表单构造http请求的一个简单代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>基于from表单构造http协议</title>
</head>
<body>
<form action=" https://baidu.com" method="get">
用户名:<input type="text" name="" id="usename">
密码:<input type="password" name="" id="password">
<input type="submit" value="提交">
</form>
</body>
</html>
2.ajax构造
ajax是一种创建快速动态网页的技术,以下是一个简单的通过ajax来构造http请求的简单代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>通过ajax来发送json请求</title>
</head>
<body>
姓名: <input type="text" id="name"></br>
年龄: <input type="text" id="age"></br>
<input type="button" value="提交" id="submit">
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
<script>
$("#submit").click(
function(){
$.ajax({
type:"post",
url:"json",
contentType:"application/json",
data:JSON.stringify({
name:$("#name").val(),
age:$("#age").val()
}),
success:function(body){
console.log(body);
},
error:function(){
console.log("error");
}
});
}
);
</script>
</body>
</html>